sklearn.preprocessing
定義:通過對原始資料進行變換把資料對映到(預設為[0,1])之間
公式:
mx : 指定範圍的最大值
mi: 指定範圍的最小值
返回值:轉換後的形狀相同的array
案例分析:
我們對以下資料進行運算,在dating.txt中。儲存的就是之前的約會物件資料
1、例項化minmaxscalarmilage,liters,consumtime,target
40920,8.326976,0.953952,3
14488,7.153469,1.673904,2
26052,1.441871,0.805124,1
75136,13.147394,0.428964,1
38344,1.669788,0.134296,1
2、通過fit_transform轉換
返回結果:import pandas as pd
from sklearn.preprocessing import minmaxscaler
def minmax_demo():
"""歸一化演示
:return: none
"""data = pd.read_csv("./test.csv")
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
# 歸一化
minmax_demo()
歸一化總結:注意最大值最小值是變化的,另外,最大值與最小值非常容易受異常點影響,所以這種方法魯棒性較差,只適合傳統精確小資料場景。定義:通過對原始資料進行變換把資料變換到均值為0,標準差為1範圍內milage liters consumtime target
0 40920 8.326976 0.953952 3
1 14488 7.153469 1.673904 2
2 26052 1.441871 0.805124 1
3 75136 13.147394 0.428964 1
.. ... ... ... ...
998 48111 9.134528 0.728045 3
999 43757 7.882601 1.332446 3
[1000 rows x 4 columns]
最小值最大值歸一化處理的結果:
[[ 2.44832535 2.39805139 2.56233353]
[ 2.15873259 2.34195467 2.98724416]
[ 2.28542943 2.06892523 2.47449629]
...,
[ 2.29115949 2.50910294 2.51079493]
[ 2.52711097 2.43665451 2.4290048 ]
[ 2.47940793 2.3768091 2.78571804]]
公式:
返回值:轉換後的形狀相同的array
案例分析:
1、例項化standardscaler
2、通過fit_transform轉換
返回結果:def stand_demo():
"""標準化演示
:return: none
"""data = pd.read_csv("./test.csv")
print(data)
# 1、例項化乙個轉換器類
transfer = standardscaler()
# 2、呼叫fit_transform
data = transfer.fit_transform(data[['milage', 'liters', 'consumtime']])
print("標準化的結果:\n", data)
print("每一列特徵的平均值:\n", transfer.mean_)
print("每一列特徵的方差:\n", transfer.var_)
return none
stand_demo()
標準化總結:在已有樣本足夠多的情況下比較穩定,適合現代嘈雜大資料場景。milage liters consumtime target
0 40920 8.326976 0.953952 3
1 14488 7.153469 1.673904 2
2 26052 1.441871 0.805124 1
3 75136 13.147394 0.428964 1
4 38344 1.669788 0.134296 1
標準化的結果:
[[ 0.0947602 0.44990013 0.29573441]
[-1.20166916 0.18312874 1.67200507]
[-0.63448132 -1.11527928 0.01123265]
[ 1.77297701 1.54571769 -0.70784025]
[-0.03158673 -1.06346729 -1.27113187]]
每一列特徵的平均值:
[3.8988000e+04 6.3478996e+00 7.9924800e-01]
每一列特徵的方差:
[4.15683072e+08 1.93505309e+01 2.73652475e-01]
sklearn 特徵工程
資料和特徵決定了機器學習的上限,而模型和演算法只是逼近這個上限而已。那特徵工程到底是什麼呢?顧名思義,其本質是一項工程活動,目的是最大限度地從原始資料中提取特徵以供演算法和模型使用。特徵工程就是將文字資料轉化為數字,因為計算機只能識別數字,運算數字 categorical features 分類特徵...
sklearn 特徵工程 預處理
from sklearn.preprocessing import minmaxscaler案例 from sklearn.preprocessing import minmaxscaler defminmaxscaler data 90,2,10,40 60,4,15,45 75,3,13,46 ...
特徵工程入門與實踐 筆記 sklearn
目錄 一 特徵理解 1 定類資料 2 定序資料 3 定距資料 4 定比資料 二 清洗資料 1 識別缺失值 1 刪除缺失值的行 2 填充缺失值 醫學類資料禁用,因為要求真實 2 標準化 歸一化 三 特徵構建 1 定類特徵的填充 2 定量特徵的填充 3 定類特徵的編碼 4 定序特徵的編碼 5 連續值分箱...