机器学习算法基础——数据特征预处理
08.特征預處理-歸一化
特征處理
通過特定的統計方法(數學方法)將數據轉換成算法要求的數據
?數值型數據:標準縮放: ?? ??? ?
類別型數據:one-hot編碼? ? ? ? ? ? 時間類型:時間的切分
sklearn特征處理API
sklearn. preprocessing
歸一化
特點:通過對原始數據進行變換把數據映射到(默認為[0,1])之間
公式:? X′= (x?min)/(max?min)? ? ? ? ? ? ? ??X′′=X′?(mx?mi)+mi
注:作用于每一列,max為一列的最大值,min為一列的最小值,那么X’’ 為最終結果,mx,mi分別為指定區間值默認mx為1,mi為0
09.歸一化以及標準化對比
sklearn歸一化API
sklearn歸一化API: ?sklearn.preprocessing.MinMaxScaler
MinMaxScaler語法
MinMaxScalar(feature_range=(0,1)…)
- 每個特征縮放到給定范圍(默認[0,1])
MinMaxScalar.fit_transform(X) ? ? ?
- X:numpy array格式的數據[n_samples,n_features]
- 返回值:轉換后的形狀相同的array
問題:如果數據中異常點較多,會有什么影響?
歸一化總結
注意在特定場景下最大值最小值是變化的,另外,最大值與最小值非常容易受異常點影響,所以這種方法魯棒性較差,只適合傳統精確小數據場景。?
標準化
1、特點:通過對原始數據進行變換把數據變換到均值為0,方差為1范圍內
異常值對標準化影響不大
對于歸一化來說:如果出現異常點,影響了最大值和最小值,那么結果顯然會發生改變
對于標準化來說:如果出現異常點,由于具有一定數據量,少量的異常點對于平均值的影響并不大,從而方差改變較小。
sklearn特征化API
sklearn特征化API: ?scikit-learn.preprocessing.StandardScaler
StandardScaler語法
StandardScaler(…) 處理之后每列來說所有數據都聚集在均值0附近方差為1
StandardScaler.fit_transform(X,y) ? ? ?
- X:numpy array格式的數據[n_samples,n_features]
- 返回值:轉換后的形狀相同的array
StandardScaler.mean_
- 原始數據中每列特征的平均值
StandardScaler.std_
- 原始數據每列特征的方差
10.標準化總結以及缺失值處理
在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大數據場景
11.標準化總結以及缺失值處理
缺失值
1.
| 刪除 | 如果每列或者行數據缺失值達到一定的比例,建議放棄整行或者整列 |
| 插補 | 可以通過缺失值每行或者每列的平均值、中位數來填充 |
2.sklearn缺失值API: ?sklearn.preprocessing.Imputer
Imputer語法
Imputer(missing_values='NaN', strategy='mean', axis=0)
- 完成缺失值插補
Imputer.fit_transform(X,y) ? ? ?
- X:numpy array格式的數據[n_samples,n_features]
- 返回值:轉換后的形狀相同的array
總結
以上是生活随笔為你收集整理的机器学习算法基础——数据特征预处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 机器学习算法基础(基础机器学习课程)——
- 下一篇: 机器学习算法基础——数据降维