机器学习中的数据预处理(sklearn preprocessing)
Standardization即標(biāo)準(zhǔn)化,盡量將數(shù)據(jù)轉(zhuǎn)化為均值為零,方差為一的數(shù)據(jù),形如標(biāo)準(zhǔn)正態(tài)分布(高斯分布)。實(shí)際中我們會(huì)忽略數(shù)據(jù)的分布情況,僅僅是通過改變均值來集中數(shù)據(jù),然后將非連續(xù)特征除以他們的標(biāo)準(zhǔn)差。sklearn中 scale函數(shù)提供了簡單快速的singlearray-like數(shù)據(jù)集操作。
一、標(biāo)準(zhǔn)化,均值去除和按方差比例縮放(Standardization, or mean removal and variance scaling)
數(shù)據(jù)集的標(biāo)準(zhǔn)化:當(dāng)個(gè)體特征太過或明顯不遵從高斯正態(tài)分布時(shí),標(biāo)準(zhǔn)化表現(xiàn)的效果較差。實(shí)際操作中,經(jīng)常忽略特征數(shù)據(jù)的分布形狀,移除每個(gè)特征均值,劃分離散特征的標(biāo)準(zhǔn)差,從而等級(jí)化,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)中心化。
1. scale 零均值單位方差
2.StandardScaler計(jì)算訓(xùn)練集的平均值和標(biāo)準(zhǔn)差,以便測試數(shù)據(jù)集使用相同的變換。
2)scale和StandardScaler可以用于回歸模型中的目標(biāo)值處理。
二、將數(shù)據(jù)特征縮放至某一范圍(scalingfeatures to a range)
另外一種標(biāo)準(zhǔn)化方法是將數(shù)據(jù)縮放至給定的最小值與最大值之間,通常是0與1之間,可用MinMaxScaler實(shí)現(xiàn)。或者將最大的絕對(duì)值縮放至單位大小,可用MaxAbsScaler實(shí)現(xiàn)。
使用這種標(biāo)準(zhǔn)化方法的原因是,有時(shí)數(shù)據(jù)集的標(biāo)準(zhǔn)差非常非常小,有時(shí)數(shù)據(jù)中有很多很多零(稀疏數(shù)據(jù))需要保存住0元素。
1. MinMaxScaler(最小最大值標(biāo)準(zhǔn)化)
公式:X_std = (X - X.min(axis=0)) / (X.max(axis=0) - X.min(axis=0)) ;
X_scaler = X_std/ (max - min) + min
2. MaxAbsScaler(絕對(duì)值最大標(biāo)準(zhǔn)化)
與上述標(biāo)準(zhǔn)化方法相似,但是它通過除以最大值將訓(xùn)練集縮放至[-1,1]。這意味著數(shù)據(jù)已經(jīng)以0為中心或者是含有非常非常多0的稀疏數(shù)據(jù)。
更多的數(shù)據(jù)預(yù)處理方法參考官方文檔:http://scikit-learn.org/stable/modules/preprocessing.html#standardization-or-mean-removal-and-variance-scaling
參考官方文檔:http://scikit-learn.org/stable/modules/preprocessing.html
官網(wǎng):http://scikit-learn.org/stable/
總結(jié)
以上是生活随笔為你收集整理的机器学习中的数据预处理(sklearn preprocessing)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 量化投资 -获取数据(一)入门篇
- 下一篇: pySpark环境搭建