sklearn轉換器和估計器
阿新 • • 發佈:2020-12-20
轉換器和估計器
1.1 轉換器
想一下之前做的特徵工程的步驟?
- 1、例項化 (例項化的是一個轉換器類(Transformer))
- 2、呼叫fit_transform(對於文件建立分類詞頻矩陣,不能同時呼叫)
我們把特徵工程的介面稱之為轉換器,其中轉換器呼叫有這麼幾種形式
- fit_transform
- fit
- transform
這幾個方法之間的區別是什麼呢?我們看以下程式碼就清楚了
In [1]: from sklearn.preprocessing import StandardScaler In [2]: std1 = StandardScaler() In [3]: a = [[1,2,3], [4,5,6]] In [4]: std1.fit_transform(a) Out[4]: array([[-1., -1., -1.], [ 1., 1., 1.]]) In [5]: std2 = StandardScaler() In [6]: std2.fit(a) Out[6]: StandardScaler(copy=True, with_mean=True, with_std=True) In [7]: std2.transform(a) Out[7]: array([[-1., -1., -1.], [ 1., 1., 1.]])
從中可以看出,fit_transform的作用相當於transform加上fit。但是為什麼還要提供單獨的fit呢, 我們還是使用原來的std2來進行標準化看看
In [8]: b = [[7,8,9], [10, 11, 12]]
In [9]: std2.transform(b)
Out[9]:
array([[3., 3., 3.],
[5., 5., 5.]])
In [10]: std2.fit_transform(b)
Out[10]:
array([[-1., -1., -1.],
[ 1., 1., 1.]])
1.2 估計器(sklearn機器學習演算法的實現)
在sklearn中,估計器(estimator)是一個重要的角色,是一類實現了演算法的API
- 1、用於分類的估計器:
- sklearn.neighbors k-近鄰演算法
- sklearn.naive_bayes 貝葉斯
- sklearn.linear_model.LogisticRegression 邏輯迴歸
- sklearn.tree 決策樹與隨機森林
- 2、用於迴歸的估計器:
- sklearn.linear_model.LinearRegression 線性迴歸
- sklearn.linear_model.Ridge 嶺迴歸
- 3、用於無監督學習的估計器
- sklearn.cluster.KMeans 聚類