scikit-learn 0.22版正式發佈,第一時間來學習新功能

搞機器學習的應該沒有人不知道scikit-learn吧,這個在ML中使用非常頻繁的庫在昨天已經發布了它最新版本0.22了。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

scikit-learn 0.22的發佈,其中包含許多錯誤修復和新功能!我們在下面詳細介紹此版本的一些主要功能。

要安裝最新版本(使用pip):

pip install -U scikit-learn

使用conda

conda install scikit-learn

新增的繪圖API

新的繪圖API可用於創建可視化。這個新的API可以快速調整繪圖的視覺效果,而無需進行任何重新計算。也可以在同一圖形上添加不同的圖。下面的例子說明plot_roc_curve,但其他地塊事業的支持一樣 plot_partial_dependenceplot_precision_recall_curveplot_confusion_matrix

scikit-learn 0.22版正式發佈,第一時間來學習新功能

scikit-learn 0.22版正式發佈,第一時間來學習新功能

堆疊分類和迴歸

StackingClassifierStackingRegressor 允許您使用一堆帶有最終分類器或迴歸器的估算器。堆疊概括包括堆疊各個估算器的輸出,並使用分類器來計算最終預測。堆疊允許通過將每個單獨的估算器的輸出用作最終估算器的輸入來利用其強度。基本估計量完全擬合,X而最終估計量則使用進行交叉驗證的基本估計量預測進行訓練cross_val_predict。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:0.9473684210526315

基於排列(permutation)的特徵重要性

inspection.permutation_importance可用於獲取的每個特徵的重要性,對於任何擬合估計的估計:

scikit-learn 0.22版正式發佈,第一時間來學習新功能

scikit-learn 0.22版正式發佈,第一時間來學習新功能

原生支持缺失值以進行梯度增強

ensemble.HistGradientBoostingClassifierensemble.HistGradientBoostingRegressor現在有遺漏值(NaN的)的原生支持。這意味著在訓練或預測時無需插補數據。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:[0 0 1 1]

預先計算的稀疏最近鄰居圖

大多數基於最近鄰圖的估計量都接受預先計算的稀疏圖作為輸入,以將同一圖重用於多個估計量擬合。要在管道中使用此功能,可以使用memory參數以及兩個新轉換器之一 neighbors.KNeighborsTransformerneighbors.RadiusNeighborsTransformer。預計算也可以由自定義估算器執行,以使用替代實現,例如近似最近鄰方法。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

基於KNN的插補

支持使用k最近鄰來完成缺失值的估算。

每個樣本的缺失值都是使用n_neighbors訓練集中找到的最近鄰的平均值估算的 。如果兩個都不丟失的特徵都關閉,則兩個樣本關閉。默認情況下,支持缺失值的歐幾里得距離度量標準 nan_euclidean_distances用於查找最近的鄰居。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:

scikit-learn 0.22版正式發佈,第一時間來學習新功能

樹的剪枝

樹建成後,現在可以修剪大多數基於樹的估計量。修剪基於最小的成本複雜性。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:

Average number of nodes without pruning 22.3

Average number of nodes with pruning 6.4

從OpenML檢索數據幀

datasets.fetch_openml 現在可以返回pd.DataFrame,從而正確處理具有異構數據的數據集:

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:

scikit-learn 0.22版正式發佈,第一時間來學習新功能

檢查估計器的scikit-learn兼容性

開發人員可以使用來檢查其scikit-learn兼容估計器的兼容性check_estimator。例如,check_estimator(LinearSVC)通行證。

現在,我們提供了一個pytest特定的裝飾器,該裝飾器允許pytest 獨立運行所有檢查並報告失敗的檢查。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

ROC AUC支持多類別分類

該roc_auc_score功能也可以用於多類分類。

當前支持兩種平均策略:

“一對多”算法計算成對的ROC AUC分數的平均值,

“一對多休息”算法計算每個類別相對於所有其他類別的ROC AUC分數的平均值。

在這兩種情況下,都根據模型根據樣本屬於特定類別的概率估計來計算多類ROC AUC分數。OvO和OvR算法支持統一加權(average='macro')和按流行度(average='weighted')進行加權。

scikit-learn 0.22版正式發佈,第一時間來學習新功能

輸出:0.9957333333333332

喜歡使用scikit-learn的朋友趕快去試試它的新功能吧!


分享到:


相關文章: