sklearn ,更改 cross_val_score 中的默认参数
sklearn , change default parameters in cross_val_score
我正在评估文本分类预测,cross_val_score。
我需要使用 recall_score function 评估我的预测,但参数 average = 'macro'。 cross_val_score 将其设置为默认参数 binary ,这对我的代码不起作用。有什么方法可以用不同的参数调用 recall_score ,或者将默认参数更改为 macro.
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall')
你可以像这样在其中使用 "recall_macro":
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall_macro')
‘f1’ metrics.f1_score for binary targets
‘f1_micro’ metrics.f1_score micro-averaged
‘f1_macro’ metrics.f1_score macro-averaged
‘f1_weighted’ metrics.f1_score weighted average
‘f1_samples’ metrics.f1_score by multilabel sample
‘neg_log_loss’ metrics.log_loss requires predict_proba support
‘precision’ etc. metrics.precision_score suffixes apply as with ‘f1’
‘recall’ etc. metrics.recall_score suffixes apply as with ‘f1’
如您所见,它指定所有后缀适用于 "recall"。
或者,您也可以像这样使用 make_scorer
:
# average can take values from 'macro', 'micro', 'weighted' etc as specified above
scorer = make_scorer(recall_score, pos_label=None, average='macro')
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold,
scoring= scorer)
我正在评估文本分类预测,cross_val_score。 我需要使用 recall_score function 评估我的预测,但参数 average = 'macro'。 cross_val_score 将其设置为默认参数 binary ,这对我的代码不起作用。有什么方法可以用不同的参数调用 recall_score ,或者将默认参数更改为 macro.
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall')
你可以像这样在其中使用 "recall_macro":
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall_macro')
‘f1’ metrics.f1_score for binary targets
‘f1_micro’ metrics.f1_score micro-averaged
‘f1_macro’ metrics.f1_score macro-averaged
‘f1_weighted’ metrics.f1_score weighted average
‘f1_samples’ metrics.f1_score by multilabel sample
‘neg_log_loss’ metrics.log_loss requires predict_proba support
‘precision’ etc. metrics.precision_score suffixes apply as with ‘f1’
‘recall’ etc. metrics.recall_score suffixes apply as with ‘f1’
如您所见,它指定所有后缀适用于 "recall"。
或者,您也可以像这样使用 make_scorer
:
# average can take values from 'macro', 'micro', 'weighted' etc as specified above
scorer = make_scorer(recall_score, pos_label=None, average='macro')
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold,
scoring= scorer)