建立評分器#

sklearn.metrics.make_scorer(score_func, *, response_method='default', greater_is_better=True, **kwargs)[來源]#

從效能指標或損失函數建立評分器。

評分器是任意指標或損失函數的包裝,其呼叫簽名為 scorer(estimator, X, y_true, **kwargs)

所有 scikit-learn 估計器或允許 scoring 參數的函數都接受它。

參數 response_method 允許指定應該使用估計器的哪個方法來饋送評分/損失函數。

使用者指南中閱讀更多內容。

參數:
score_func可呼叫

評分函數(或損失函數),其簽名為 score_func(y, y_pred, **kwargs)

response_method{“predict_proba”, “decision_function”, “predict”} 或此類字串的列表/元組,預設值為 None

指定用於從估計器取得預測結果的響應方法(例如predict_probadecision_functionpredict)。可能選項為

  • 如果 str,則對應到要返回的方法名稱;

  • 如果是一個 str 的列表或元組,它會按照偏好順序提供方法名稱。返回的方法對應到列表中第一個且由 estimator 實作的方法。

  • 如果為 None,則等同於 "predict"

在 1.4 版本中新增。

自 1.6 版本起已棄用:None 等同於 'predict',且已棄用。將在 1.8 版本中移除。

greater_is_betterbool,預設值為 True

判斷 score_func 是否為評分函數(預設),也就是數值越高越好,或是一個損失函數,也就是數值越低越好。在後者的情況下,評分器物件會對 score_func 的結果進行正負號反轉。

**kwargs額外的參數

要傳遞給 score_func 的額外參數。

返回值:
scorer可調用物件

返回一個純量分數的可調用物件;數值越高越好。

範例

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