sklearn 估計器(estimator)介面
阿新 • • 發佈:2021-11-03
簡單介紹了關於sklearn 估計器(estimator)介面的一些用法
sklearn 估計器(estimator)介面的簡單介紹
Scikit-learn 努力在為所有方法建立統一的介面。給定名為model
的 scikit-learn 估計器物件,可以使用以下方法(並非每個模型都有):
1. 適用於所有估計器
model.fit()
:擬合訓練資料。對於監督學習應用,它接受兩個引數:資料X
和標籤y
(例如model.fit(X, y)
)。對於無監督學習應用,fit
僅接受單個引數,即資料X
(例如model.fit(X)
)。
2. 在監督估計器中使用
model.predict()
:給定訓練好的模型,預測一組新資料的標籤。此方法接受一個引數,即新資料X_new
(例如model.predict(X_new)
model.predict_proba()
:對於分類問題,一些估計器也提供此方法,該方法返回新觀測值具有每個分類標籤的概率。在這種情況下,model.predict()
返回概率最高的標籤。model.decision_function()
:對於分類問題,一些估計器提供不是概率的不確定性估計。對於二分類,decision_function >= 0
表示將預測為正類,而<0
表示負類。model.score()
:對於分類或迴歸問題,大多數估計器實現了score
方法。分數在 0 到 1 之間,分數越大表示擬合越好。對於分類器,分數方法計算預測的準確度。對於迴歸器,得分計算預測的確定係數(R^2)。model.transform()
:對於特徵選擇演算法,這會將資料集縮減為所選特徵。對於某些分類和迴歸模型(如某些線性模型和隨機森林),此方法可將資料集縮減為資訊量最大的特徵。因此,這些分類和迴歸模型也可以用作特徵選擇方法。
3. 在無監督的估算器中使用
model.transform()
:給定一個無監督的模型,將新資料轉換為新的基。這也接受一個引數X_new
,並根據無監督模型返回資料的新表示。model.fit_transform()
:一些估計器實現了這個方法,它可以更有效地對相同的輸入資料執行擬合和變換。model.predict()
:對於聚類演算法,predict
方法將為新資料點生成簇標籤。並非所有聚類方法都具有此函式。model.predict_proba()
:高斯混合模型(GMM)提供給定混合成分生成每個點的概率。model.score()
:像 KDE 和 GMM這 樣的密度模型,提供了資料在模型下的似然。
除了fit
之外,兩個最重要的函式是produce
,它產生目標變數(y
),以及transform
,它產生資料的新表示(X
)。 下表展示了不同函式適用於哪種的模型:
model.predict |
model.transform |
---|---|
分類 | 預處理 |
迴歸 | 降維 |
聚類 | 特徵提取 |
特徵選擇 |