建立評分器#
- 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_proba、decision_function或predict)。可能選項為
如果
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)