sklearn特徵工程

2022-09-20 17:18:08 字數 3569 閱讀 1244

sklearn.preprocessing
定義:通過對原始資料進行變換把資料對映到(預設為[0,1])之間

公式:

mx : 指定範圍的最大值

mi: 指定範圍的最小值

返回值:轉換後的形狀相同的array

案例分析:

我們對以下資料進行運算,在dating.txt中。儲存的就是之前的約會物件資料

milage,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

1、例項化minmaxscalar

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()

返回結果:

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]]

歸一化總結:注意最大值最小值是變化的,另外,最大值與最小值非常容易受異常點影響,所以這種方法魯棒性較差,只適合傳統精確小資料場景。定義:通過對原始資料進行變換把資料變換到均值為0,標準差為1範圍內

公式:

返回值:轉換後的形狀相同的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 連續值分箱...