sklearn學習筆記之preprocessing

2021-10-09 23:51:22 字數 3447 閱讀 3202

官方文件位址

這個模組的主要內容是資料的預處理:

binarizer

sklearn.preprocessing.binarizer(

*, threshold=

0.0, copy=

true

)

作用:將資料進行二值化,若是特徵值(feature value)大於閾值(threshold)則將特徵值賦值為1否則為0

引數

示例

>>

>

from sklearn.preprocessing import binarizer

>>

>x =[[

1.,-

1.,2

.],[

2.,0

.,0.

],[0

.,1.

,-1.

]]>>

>transformer = binarizer(

).fit(x)

>>

>transformer

>binarizer(

)>>

>transformer.transform(x)

array([[

1.,0

.,1.

],[1

.,0.

,0.]

,[0.

,1.,

0.]]

)

binarizer官方位址

labelencoder

sklearn.preprocessing.labelencoder
作用:將目標label編碼成[0-n_classes-1]範圍的值

示例

>>

>

from sklearn import preprocessing

>>

> le = preprocessing.labelencoder(

)>>

> le.fit([1

,2,2

,6])

labelencoder(

)>>

> le.classes_

array([1

,2,6

])>>

> le.transform([1

,1,2

,6])

array([0

,0,1

,2].

..)>>

> le.inverse_transform([0

,0,1

,2])

array([1

,1,2

,6])

也可以對非數值型的物件進行編碼(這些物件必須可相互比較)轉化為數值型標籤

>>

> le = preprocessing.labelencoder(

)>>

> le.fit(

["paris"

,"paris"

,"tokyo"

,"amsterdam"])

labelencoder(

)>>

>

list

(le.classes_)

['amsterdam'

,'paris'

,'tokyo'

]>>

> le.transform(

["tokyo"

,"tokyo"

,"paris"])

array([2

,2,1

]...

)>>

>

list

(le.inverse_transform([2

,2,1

]))[

'tokyo'

,'tokyo'

,'paris'

]

labelencoder官方位址

minmaxscaler

sklearn.preprocessing.minmaxscaler(feature_range=(0

,1),

*, copy=

true

)

作用:將特徵縮放到指定範圍中,預設是在0-1之間

若是給minmaxscaler提供乙個明確的feature_range=(min,max),完整公式是:

x_std =

(x - x.

min(axis=0)

)/(x.max

(axis=0)

-x.min

(axis=0)

)#max 是feature_range中的max,min是feature_range中的min

x_scaled = x_std *

(max

-min)+

min

引數

示例

將資料矩陣縮放到[0-1]範圍

>>

> x_train = np.array([[

1.,-

1.,2

.],.

..[2

.,0.

,0.]

,...

[0.,

1.,-

1.]]

)# 一種寫法

>>

> min_max_scaler = preprocessing.minmaxscaler(

)>>

> x_train_minmax = min_max_scaler.fit_transform(x_train)

>>

> x_train_minmax

array([[

0.5,0.

,1.]

,[1.

,0.5

,0.33333333],

[0.,

1.,0

.]])

#第二種寫法

>>

>min_max_scaler = preprocessing.minmaxscaler(feature_range=(0

,1))

>>

>x_train_minmax = min_max_scaler.fit(x_train_minmax)

>>

>x_train_minmax.transform(x_train_minmax)

array([[

0.5,0.

,1.]

,[1.

,0.5

,0.33333333],

[0.,

1.,0

.]])

minmaxscaler官網文件

sklearn學習筆記之開始

自2007年發布以來,scikit learn已經成為python重要的機器學習庫了。scikit learn簡稱sklearn,支援包括分類 回歸 降維和聚類四大機器學習演算法。還包含了特徵提取 資料處理和模型評估三大模組。sklearn是scipy的擴充套件,建立在numpy和matplotli...

sklearn學習筆記之嶺回歸

嶺回歸是一種專用於共線性資料分析的有偏估計回歸方法,實質上是一種改良的最小二乘估計法,通過放棄最小二乘法的無偏性,以損失部分資訊 降低精度為代價獲得回歸係數更為符合實際 更可靠的回歸方法,對病態資料的擬合要強於最小二乘法。乙個簡單的例子 from sklearn.linear model impor...

sklearn學習筆記

1.波士頓房價線性回歸模型 from sklearn import datasets from sklearn.linear model import linearregression boston datasets.load boston data x boston.data y boston.t...