2017-04-20 5 views
0

私はcross_val_scoreでテキスト分類の予測を評価しています。 recall_score関数で予測を評価する必要がありますが、パラメータはaverage = 'macro'です。 cross_val_scoreは、デフォルトのパラメータバイナリに設定します。これは私のコードでは機能しません。 recall_scoreを別のパラメータで呼び出す方法や、デフォルトのパラメータをマクロに変更する方法はありますか。sklearn、cross_val_scoreのデフォルトパラメータを変更

あなたはちょうどこのようにそれに "recall_macro" を使用することができ
results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall') 

答えて

2

results = model_selection.cross_val_score(estimator, X, Y, cv= kfold, scoring= 'recall_macro') 

あなたが見ることができるようにdocumentation of metrics

‘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’ 

によると、そのは、「すべてのサフィックスが適用することを指定想起"。

また、あなたはまた、このような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) 
関連する問題