1. 程式人生 > 其它 >sklearn 估計器(estimator)介面

sklearn 估計器(estimator)介面

簡單介紹了關於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
分類 預處理
迴歸 降維
聚類 特徵提取
特徵選擇