处理数据时不进行归一化会有什么影响?归一化的作用是什么?什么时候需要归一化?有哪些归一化的方法?

归一化化定义:我是这样认为的,归一化化就是要把你需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。首先归一化是为了后面数据处理的方便,其次是保正程序运行时收敛加快。

所谓特征归一化,就是将不同类型的特征数值大小变为一致的过程。

特征归一化的意义

1. 提升模型的收敛速度

2. 提高精度,这在涉及到一些距离计算的算法时效果显著,比如算法要计算欧氏距离,上图中x2的取值范围比较小,涉及到距离计算时其对结果的影响远比x1带来的小,所以这就会造成精度的损失

· 各特征之间的大小范围一致,才能使用距离度量等算法

· 加速梯度下降算法的收敛

· SVM算法中,一致化的特征能加速寻找支持向量的时间

· 不同的机器学习算法,能接受的输入数值范围不一样

归一化方法:

. 线性归一化,线性归一化会把输入数据都转换到[0 1]的范围,

2). 0均值标准化,0均值归一化方法将原始数据集归一化为均值为0、方差1的数据集,

关于归一化方法的选择:

1) 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
2) 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围。

sklearn中最常用的特征归一化方法MinMaxScalerStandardScaler

它默认将每种特征的值都归一化到[0,1]之间,归一化后的数值大小范围是可调的(根据MinMaxScaler的参数feature_range调整)。下面代码能将特征归一化到[-1,1]之间。

线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题。

猜你喜欢

转载自blog.csdn.net/beyond_2016/article/details/80030427
今日推荐