机器学习(5.sklearn归一化以及标准化)
歸一化
特點:通過對原始數據進行變換把數據映射到(默認為[0,1])之間
注:作用于每一列,max為一列的最大值,min為一列的最小值,那么X’’
? ? ? ? 為最終結果,mx,mi分別為指定區間值默認mx為1,mi為0
sklearn歸一化API
sklearn歸一化API:? sklearn.preprocessing.MinMaxScaler
歸一化提供的數據應該是類似于二維數組的形式
1.MinMaxScaler語法
? ? ?MinMaxScalar(feature_range=(0,1)…)
? ? ? ? ? ? ? ? ? ? ??每個特征縮放到給定范圍(默認[0,1])
? ? ??MinMaxScalar.fit_transform(X)??????
? ? ? ? ? ? ? ? ? ? ?X:numpy array格式的數據[n_samples,n_features]
? ? ? ? ? ? ? ? ? ? ?返回值:轉換后的形狀相同的array
2.什么時候進行歸一化?歸一化的作用?
? ? 當三個特征同等重要的時候,進行歸一化
? ? 歸一化使得某一個特征對最終結果不會造成更大的影響
3.歸一化的步驟
? ? ? ?(1) 實例化MinMaxScalar
? ? ? ?(2) 通過fit_transform轉換
簡單的步驟例子:
from sklearn.preprocessing import MinMaxScalerdef mm():"""歸一化處理:return:None"""mm = MinMaxScaler()data = mm.fit_transform([[90, 2, 10, 40],[60, 4, 15, 45],[75, 3, 13, 46]])print(data)if __name__ == '__main__':mm()結果:
[[1. 0. 0. 0. ][0. 1. 1. 0.83333333][0.5 0.5 0.6 1. ]]?歸一化的總結:
注意在特定場景下最大值最小值是變化的,
另外,最大值與最小值非常容易受異常點影響
,所以這種方法魯棒性較差,只適合傳統精確小數據場景。
標準化
1、特點:通過對原始數據進行變換把數據變換到均值為0,方差為1范圍內
2 .? ??
??注:作用于每一列,mean為平均值,?σ為標準差(考量數據的穩定性)
3.注意計算的公式,這里的x1是一列的值,? ??
4.結合歸一化來談標準化:
? ? ?對于歸一化來說:如果出現異常點,影響了最大值和最小值,那么結果顯然
會發生改變
? ? 對于標準化來說:如果出現異常點,由于具有一定數據量,少量的異常點對
于平均值的影響并不大,從而方差改變較小。
?5.?StandardScaler語法
? ? ?sklearn特征化API:? scikit-learn.preprocessing.StandardScaler
? ?StandardScaler(…)
? ? ? ? ? ? ? ? ??處理之后每列來說所有數據都聚集在均值0附近標準差差為1
? ?StandardScaler.fit_transform(X,y)??????
? ? ? ? ? ? ? ??X:numpy array格式的數據[n_samples,n_features]
? ? ? ? ? ? ? ??返回值:轉換后的形狀相同的array
? ?StandardScaler.mean_
? ? ? ? ? ? ??原始數據中每列特征的平均值
? ?StandardScaler.std_
? ? ? ? ? ? ? ?原始數據每列特征的方差
6.步驟與例子:
? ? ? (1) 實例化StandardScaler
? ? ?(2)通過fit_transform轉換
? from sklearn.preprocessing import StandardScalerdef stand():"""標準化縮放:return:None"""std = StandardScaler()data = std.fit_transform([[1., -1., 3.],[2., 4., 2.],[4., 6., -1.]])print(data)return Noneif __name__ == '__main__':stand()??運行結果:
[[-1.06904497 -1.35873244 0.98058068][-0.26726124 0.33968311 0.39223227][ 1.33630621 1.01904933 -1.37281295]]7.標準化總結:
?在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大數據場景。
?不同數據類型該如何處理
? ?數值型數據:標準縮放:
? ? ? ? ? ? ? 1、歸一化
???????????? ? 2、標準化
? ? ? ? ? ? ??3、缺失值
? 類別型數據:one-hot編碼
? ?時間類型:時間的切分
總結
以上是生活随笔為你收集整理的机器学习(5.sklearn归一化以及标准化)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习(4.文本数据的特征抽取(第二种
- 下一篇: 机器学习(K-means聚类原理以及用法