當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn make_scorer用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.make_scorer 的用法。

用法:

sklearn.metrics.make_scorer(score_func, *, greater_is_better=True, needs_proba=False, needs_threshold=False, **kwargs)

從性能指標或損失函數中得分。

此工廠函數包裝了評分函數以在 GridSearchCV cross_val_score 中使用。它接受一個評分函數,例如 accuracy_score mean_squared_error adjusted_rand_indexaverage_precision 並返回一個可調用函數,該函數對估計器的輸出進行評分。調用的簽名是(estimator, X, y),其中estimator 是要評估的模型,X 是數據,y 是地麵實況標簽(或在無監督模型的情況下為 None)。

在用戶指南中閱讀更多信息。

參數

score_func可調用的

帶有簽名 score_func(y, y_pred, **kwargs) 的評分函數(或損失函數)。

greater_is_better布爾,默認=真

score_func 是分數函數(默認),表示高是好的,還是損失函數,表示低是好的。在後一種情況下,記分器對象將 sign-flip 的結果是 score_func。

needs_proba布爾,默認=假

score_func 是否需要 predict_proba 才能從分類器中獲得概率估計。

如果為真,對於二進製 y_true ,評分函數應該接受一維 y_pred (即正類的概率,形狀 (n_samples,) )。

needs_threshold布爾,默認=假

score_func 是否采取連續決策確定性。這僅適用於使用具有 decision_function 或 predict_proba 方法的估計器的二進製分類。

如果為真,對於二進製 y_true ,評分函數應該接受一維 y_pred(即,正類或決策函數的概率,形狀 (n_samples,) )。

例如 average_precision 或 roc 曲線下的麵積不能單獨使用離散預測來計算。

**kwargs附加論點

要傳遞給score_func 的附加參數。

返回

scorer可調用的

返回標量分數的可調用對象;越大越好。

注意

如果 needs_proba=Falseneeds_threshold=False ,分數函數應該接受預測的輸出。如果 needs_proba=True ,評分函數應該接受 predict_proba 的輸出(對於二進製 y_true ,評分函數應該接受正類的概率)。如果 needs_threshold=True ,當 decision_function 不存在時,評分函數應該接受 decision_function 或 predict_proba 的輸出。

例子

>>> from sklearn.metrics import fbeta_score, make_scorer
>>> ftwo_scorer = make_scorer(fbeta_score, beta=2)
>>> ftwo_scorer
make_scorer(fbeta_score, beta=2)
>>> from sklearn.model_selection import GridSearchCV
>>> from sklearn.svm import LinearSVC
>>> grid = GridSearchCV(LinearSVC(), param_grid={'C': [1, 10]},
...                     scoring=ftwo_scorer)

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.make_scorer。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。