喜欢就点关注吧!
标准化、规范化以及正则化是机器学习中三个常用的数据处理方法,其中标准化和规范化解决不同单位和比例的数据间的差异,用于数据缩放;而正则化主要解决模型的过拟合问题。今天我们主要来学习标准化与规范化,通过原理分析和Python案例来综合学习。文中使用加利福尼亚州住房价格分布数据,其数据分布直方图如下:
Standardization:标准化
标准化是重新调整特征的过程,使其满足零均值单位方差的高斯分布。其转换公式如下:
标准化的代码实现可以调用sklearn库中preprocessing.Standardscaler的api接口,其具体实现如下:
标准化处理的结果
Normalization:规范化
规范化简称为Min-Max缩放,通过变换将数据范围缩放在0和1之间(如果有负值则为-1到1)。其数学公式如下:
规范化的代码实现可以调用sklearn库中preprocessing.normalize的api接口,其具体实现如下:
规范化处理结果
特征缩放优缺点
优点:
特征缩放广泛用于机器学习算法中,主要有以下几点:
如果希望所有特征都有相同的贡献则需使用特征缩放
可用于Logistic回归,SVM,感知器,神经网络以及K-近邻
线性判别分析,主成分分析和核主成分分析
基于图形模型的分类器,例如朴素贝叶斯、决策树和基于树的集合方法
缺点:
规范化处理对数据异常值很敏感,处理之后数据中的异常值会消失,因此如果数据集中存在异常值,则这是一种不好的做法。 而标准化不受数据限制,所以一般我们采用标准化来处理数据。
参考
https://medium.com/@rrfd/standardize-or-normalize-examples-in-python-e3f174b65dfc
https://towardsdatascience.com/normalization-vs-standardization-quantitative-analysis-a91e8a79cebf?source=search_post---------2
领取专属 10元无门槛券
私享最新 技术干货