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_index或average_precision,并返回一個可調用值,用于對估算器的輸出進行評分。
在用戶指南中閱讀更多內容。
參數 | 說明 |
---|---|
score_func | callable, 帶有score_func(y, y_pred, **kwargs)簽名的Score函數(或loss函數)。 |
greater_is_better | boolean, default=True score_func是一個得分函數(默認),意味著高是好的,還是一個損失函數,意味著低是好的。在后一種情況下,評分器對象將對score_func的結果進行簽名翻轉。 |
needs_proba | boolean, default=False score_func是否需要predict_proba才能從分類器中得出概率估計。 如果為True,則對于二進制y_true,得分函數應該接受一維y_pred(即,正類的概率為形狀(n_samples,))。 |
needs_threshold | boolean, default=False score_func是否需要連續的決策確定性。這僅適用于使用具有decision_function或predict_proba方法的估計器的二進制分類。 如果為True,則對于二進制y_true,分數函數應接受一維y_pred(即,正類的概率或決策函數的形狀(n_samples,))。 例如,不能單獨使用離散預測來計算average_precision或roc曲線下的面積。 |
**kwargs | additional arguments 要傳遞給score_func的其他參數。 |
返回值 | 說明 |
---|---|
scorer | callable 返回標量分數的可調用對象;越大越好。 |
注
如果needs_proba = False和needs_threshold = False,則評分函數應接受predict的輸出。 如果needs_proba = True,則分數函數應接受predict_proba 的輸出(對于二進制y_true,評數函數應接受正類的概率)。 如果needs_threshold = True,則評分函數應接受decision_function的輸出。
示例
>>> 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)