ML.NET Cookbook:(16)什么是规范化?为什么我需要关心?

在ML.NET中,我们公开了许多参数和非参数算法[1]

通常,参数学习器对训练数据持有一定的假设,如果不满足这些假设,训练就会受到极大的阻碍(有时甚至完全不可能)。

最常见的假设是

  • 所有特征的值大致相同;

  • 特征值不太大,也不太小。

违反上述第一个假设会导致学习器训练一个次优模型(甚至是一个完全无用的模型)。违反第二个假设会导致算术错误累积,这通常会完全中断训练过程。

一般来说,如果您使用参数化学习器,您需要确保您的训练数据正确缩放

ML.NET提供了几种内置的缩放算法或“规范化器”:

  • MinMax 规范化器:对于每个特征,我们学习它的最小值和最大值,然后线性地重新缩放它,使值在-1和1之间。

  • 均值-方差规范化器:对于每个特征,计算均值和方差,然后将其线性重缩放为零均值、单位方差。

  • CDF 规范化器:对于每个特征,计算均值和方差,然后将每个值x替换为Cdf(x),其中Cdf是具有这些均值和方差的正态分布的累积密度函数。

  • 装箱规范化器:将特征值离散化为“N”个桶,然后用桶的索引替换每个值,除以“N-1”。

这些规范化器都有不同的属性和权衡,但如果您要用一个来代替另一个,那也没什么大不了的。只需确保在训练线性模型或其他参数化模型时使用规格化器。

ML.NET规范化器的一个重要参数称为fixZero。如果fixZero为true,则零输入始终映射到零输出。在处理稀疏数据时,这一点非常重要:如果不保留零,则会将所有稀疏数据转换为密集数据,这通常是个坏主意。

将规范化器直接包含在ML.NET学习管道中是一种很好的做法:这样可以确保规范化

  • 只是训练数据,而不是你的测试数据,

  • 正确应用于所有新传入的数据,而无需在预测时进行额外的预处理。

下面是演示学习管道规范化的代码片段。它使用Iris数据集:

//Iris类的数据模型private class IrisInputAllFeatures
{[ColumnName("Label"), LoadColumn(4)]public string IgnoredLabel { get; set; }[LoadColumn(0, 3)]public float Features { get; set; }
}// 加载训练数据。
var trainData = mlContext.Data.LoadFromTextFile<IrisInputAllFeatures>(dataPath,// 默认分隔符是tab,但数据集使用逗号。separatorChar: ','
);// 对原始特征应用MinMax规范化。
var pipeline =mlContext.Transforms.NormalizeMinMax("MinMaxNormalized", "Features");// 让我们训练规范化器管道,然后将其应用于相同的数据。
var normalizedData = pipeline.Fit(trainData).Transform(trainData);// 检查结果数据集的一列。
var minMaxValues = normalizedData.GetColumn<float[]>(normalizedData.Schema["MinMaxNormalized"]).ToArray();

欢迎关注我的个人公众号”My IO“参考资料

[1]

参数和非参数算法: https://machinelearningmastery.com/parametric-and-nonparametric-machine-learning-algorithms/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301666.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql查看当前连接数

命令&#xff1a; show processlist; 如果是root帐号&#xff0c;你能看到所有用户的当前连接。如果是其它普通帐号&#xff0c;只能看到自己占用的连接。 show processlist;只列出前100条&#xff0c;如果想全列出请使用show full processlist; mysql> show proce…

公摊面积取消闹乌龙,历史学家李学勤逝世,微软员工抗议国防大单,前摩拜CEO后花68万上学,这就是今天的大新闻。...

今天是2月25日农历正月廿一今天星期一大家看起来都好像很兴奋下面是今天的大新闻“公摊面积”要取消? 央视&#xff1a;这是错误理解(今日头条)近日有关“公摊面积”的新闻被刷屏。那么&#xff0c;这是否意味着&#xff0c;住宅交易面积将从建筑面积变为套内面积&#xff1f;…

oracle取位置,获取oracle trace文件路径

10g:/* 11g依然有效 */SELECT d.VALUE|| /|| LOWER (RTRIM (i.instance, CHR (0)))|| _ora_|| p.spid|| .trctrace_file_nameFROM (SELECT p.spidFROM sys.v$mystat m, sys.v$session s, sys.v$process pWHERE m.statistic# 1 AND s.sid m.sid AND p.addr s.paddr) p,(SE…

MySQL 删除数据的最好的方式

1 Drop table 命令 DROP TABLE 这个命令会删除整个表和数据&#xff0c;删除之后你就不能还原会之前的数据结构和数据了 2 DELETE * FROM Table DELETE * FROM Table 这个语句会移除数据&#xff0c;只留下自动增长的值&#xff08;id&#xff09;和其余的表结构。如果表很大那…

快手春节活动奖励未到账,被羊毛党投诉上了全国12315平台

全世界只有3.14 % 的人关注了数据与算法之美在这个获客成本越来越高的互联网时代下&#xff0c;通过现金激励的方式来拉新已经成为众多中国互联网公司的惯用手法了。今年春节&#xff0c;短视频公司快手就推出了“上快手&#xff0c;分6亿现金”的红包活动。在活动期间&#xf…

php 异常 重试,Python中异常重试的解决方案详解

前言大家在做数据抓取的时候&#xff0c;经常遇到由于网络问题导致的程序保存&#xff0c;先前只是记录了错误内容&#xff0c;并对错误内容进行后期处理。原先的流程&#xff1a;def crawl_page(url):passdef log_error(url):passurl ""try:crawl_page(url)except:…

通过脚本案例学习shell(二) --- 通过线性显示/etc/passwd内容了解while read用法

通过脚本案例学习shell&#xff08;二&#xff09;--- 通过线性显示/etc/passwd内容了解while read用法 版权声明&#xff1a; 本文遵循“署名非商业性使用相同方式共享 2.5 中国大陆”协议您可以自由复制、发行、展览、表演、放映、广播或通过信息网络传播本作品您可以根据本…

上几个WebAPI就算微服务架构?Too Young!

毋庸置疑&#xff0c;当下是微服务云原生的时代&#xff0c;这是最坏的时代&#xff0c;也是最好的时代&#xff01;机遇和挑战并行&#xff0c;技术人之间的差距在逐渐拉到&#xff01;两极分化严重早在2015年&#xff0c;微服务就已经被诸多大企业认可和推行&#xff0c;被称…

雨雪出行伴侣,优质PVC时尚鞋套,防滑/防水更耐磨

▲数据汪特别推荐点击上图进入玩酷屋随着消费升级越来越多的人愿意购买价格不菲的鞋款大街小巷里涌现出越来越多的Sneakerhead&#xff08;俗称&#xff1a;鞋子发烧友&#xff09;就比如小木每次刚入手一双新鞋就高高兴兴穿出门然而终究免不了碰上“新鞋魔咒”再怎么小心都会被…

mac下好用的php环境变量,php-mac系统 环境变量设置

php-mac环境变量设置sudo vi ~/.bash_profile# 添加一行。注意 PHP5.4.10 修改成你正在运行的 PHP 版本目录名称export PATH"/Applications/MAMP/bin/php/php5.4.10/bin:$PATH"# 保存&#xff0c;退出# 运行一下 .bash_profile 文件. .bash_profile# 确认当前正在运行…

poj 2411 Mondriaan's Dream

状态压缩DP 经典覆盖问题&#xff0c;输入n和m表示一个n*m的矩形&#xff0c;用1*2的方块进行覆盖&#xff0c;不能重叠&#xff0c;不能越出矩形边界&#xff0c;问完全覆盖完整个矩形有多少种不同的方案 其中n和m均为奇数的话&#xff0c;矩形面积就是奇数&#xff0c;可知是…

又到618,.NET 千万级秒杀架构到底有多牛

年年618&#xff0c;次次高并发。其实这不仅仅是对618下各大电商平台的考验&#xff0c;更是如今每一个互联网应用上线后&#xff0c;会遇到的一个严峻的考验&#xff0c;渡得过 965&#xff0c;渡不过 996。在这个极速膨胀的互联网世界里&#xff0c; .NET 5 正是为了应对与解…

灯泡里的钨丝是怎么放进去的,这个视频解开我20多年的疑惑!

全世界只有3.14 % 的人关注了数据与算法之美白炽灯渐渐从我们的视线里消失了&#xff0c;不得不说这个一个伟大的发明&#xff0c;试想一下要是没有灯&#xff0c;只点蜡烛会有多少人抓狂&#xff0c;那么你知道灯泡里的钨丝是怎么放进去的吗&#xff0c;这个视频给你答案。灯泡…

exp 导数oracle,指数函数 exp(x) 导数的直接求法

在我读高中的时候&#xff0c;数学课程里是没有微积分的&#xff0c;当时自学微积分&#xff0c;用的是一种很简明的数学手册&#xff0c;里面只有结果没有证明。看到指数函数求导的时候&#xff0c;怎么也想不明白这个 \( ye^x\) 的导数 \( y’e^x\) 是怎么求出来的。在当时那…

分布式和集群的概念和区别

分布式系统是当前比较热门的话题&#xff0c;说到分布式就不得不提集群和单机&#xff0c;如果要学习分布式就要先对他的概念和功能有所了解单机单机就是把做的系统部署到一台服务器上&#xff0c;所有的请求业务都由这台服务器处理。显然&#xff0c;当业务增长到一定程度的时…

渤海发现大油田,证券会提示风险,微博回应流量造假,刘国梁制定史上最严奖惩体系,这就是今天的大新闻。...

今天是2月26日农历正月廿二今天星期二有点小忙下面是今天的大新闻渤海发现可供百万人用百年的大油田&#xff08;中化新网&#xff09;中国海油昨天(25日)对外宣布&#xff0c;位于我国渤海海域的渤中19-6气田&#xff0c;测试获得优质高产油气流&#xff0c;确定天然气探明地质…

SQLite.NET (32位) 在64位环境中无法正常调试

解决方法&#xff1a; 1、更换64的DLL 2、在Vs开发环境中&#xff0c;在项目属性里按下图操作&#xff0c;更改目标平台为 x86。 转载于:https://www.cnblogs.com/08shiyan/archive/2013/03/15/2961096.html

华为交换机linux版本号,Cisco和华为交换机常用配置命令总结

Cisco和华为交换机常用配置命令总结一、调试命令思科&#xff1a;Switch#show run 显示所有配置命令Switch#show ip inter brief 显示所有接口状态Switch#show vlan brief 显示所有VLAN的信息Switch#show version 显示版本信息华为&#xff1a;[Quidway]dis cur 显示…

WPF实现消息中心

↑↑↑点击上方蓝字关注我一、概要本文将讲解基于WPF实现一个消息中心的功能&#xff0c;比如常见的软件当中会经常收到服务端推送的“新闻”、“公告”等消息。这个时候就需要对这个需求进行分析了。功能分析如下&#xff1a;•消息内容显示。•消息管理增、删、批量删除。•消…

学Android的学习规划

为什么80%的码农都做不了架构师&#xff1f;>>> 客观地讲&#xff0c;会分为两条线来处理 学术线&#xff1a; 从学术上讲&#xff0c;Android分为几个模块是需要我循序渐进的&#xff1a; 初印象&#xff1a;IDE中Android各项结构 初印象&#xff1a;Android结…