当前位置:网站首页>特徵預處理之歸一化&標準化

特徵預處理之歸一化&標準化

2021-01-24 02:11:51 itread01

## 寫在前面這篇部落格的主要內容- 應用MinMaxScaler實現對特徵資料進行歸一化- 應用StandardScaler實現對特徵資料進行標準化## 特徵預處理### 定義​ 通過**一些轉換函式**將特徵資料**轉換成更加適合演算法模型**的特徵資料過程### 特徵預處理API```pythonsklearn.preprocessing```### 為什麼要進行歸一化/標準化?​ 特徵的**單位或者大小相差較大,或者某特徵的方差相比其他的特徵要大出幾個數量級**,**容易影響(支配)目標結果**,使得一些演算法無法學習到其它的特徵### 歸一化#### 定義​ 通過對原始資料進行變換把資料對映到(預設為[0,1])之間![歸一化公式](https://gitee.com/xp-thebest/blog_img/raw/master/img/%E5%BD%92%E4%B8%80%E5%8C%96%E5%85%AC%E5%BC%8F.png)> 作用於每一列,max為一列的最大值,min為一列的最小值,那麼X’’為最終結果,mx,mi分別為指定區間值預設mx為1,mi為0#### API- sklearn.preprocessing.MinMaxScaler (feature_range=(0,1)… ) - MinMaxScalar.fit_transform(X) - X:numpy array格式的資料[n_samples,n_features] - 返回值:轉換後的形狀相同的array#### 資料```pythonmilage,Liters,Consumtime,target40920,8.326976,0.953952,314488,7.153469,1.673904,226052,1.441871,0.805124,175136,13.147394,0.428964,138344,1.669788,0.134296,1```#### 程式碼```pythonfrom sklearn.preprocessing import MinMaxScalerimport pandas as pddef minmax_demo(): data = pd.read_csv("dating.txt") print(data) # 1、例項化一個轉換器類 transfer = MinMaxScaler(feature_range=(2, 3)) # 2、呼叫fit_transform data = transfer.fit_transform(data[['milage','Liters','Consumtime']]) print("最小值最大值歸一化處理的結果:\n", data) return None```#### 結果![歸一化執行結果](https://gitee.com/xp-thebest/blog_img/raw/master/img/image-20210123224728916.png)### 標準化#### 定義​ 通過對原始資料進行變換把資料變換到均值為0,標準差為1範圍內![標準化公式](https://gitee.com/xp-thebest/blog_img/raw/master/img/%E6%A0%87%E5%87%86%E5%8C%96%E5%85%AC%E5%BC%8F.png)> 作用於每一列,mean為平均值,σ為標準差#### API- sklearn.preprocessing.StandardScaler( ) - 處理之後每列來說所有資料都聚集在均值0附近標準差差為1 - StandardScaler.fit_transform(X) - X:numpy array格式的資料[n_samples,n_features] - 返回值:轉換後的形狀相同的array#### 資料​ 同上歸一化介紹中使用的資料#### 程式碼```pythonfrom sklearn.preprocessing import StandardScalerimport pandas as pddef stand_demo(): data = pd.read_csv("dating.txt") print(data) transfer = StandardScaler() data = transfer.fit_transform(data[['milage','Liters','Consumtime']]) print("標準化的結果:\n",data) print("每一列特徵的平均值:\n",transfer.mean_) print("每一列特徵的方差:\n",transfer.var_) return None```#### 執行結果![標準化執行結果](https://gitee.com/xp-thebest/blog_img/raw/master/img/image-20210123224804238.p

版权声明
本文为[itread01]所创,转载请带上原文链接,感谢
https://www.itread01.com/content/1611421505.html

随机推荐