私はバイナリ分類問題を含む不均衡なデータセットを持っています。ランダムフォレストクラシファイアを構築し、折りたたみPythonで10倍のK倍のクロスバリデーションのための不均衡なデータセットの精度、リコール、およびf1スコアの計算方法
を次のようにkfold = model_selection.KFold(n_splits=10, random_state=42)
model=RandomForestClassifier(n_estimators=50)
は、私は私の予測を計算しています
print("Accuracy: %.3f%% (%.3f%%)") % (results.mean()*100.0, results.std()*100.0)
Accuracy: 70.900% (10.345%)
結果の平均値と標準偏差を取ることによって、私は精度を計算した
results = model_selection.cross_val_score(model,features,labels, cv=kfold)
print results
[ 0.60666667 0.60333333 0.52333333 0.73 0.75333333 0.72 0.7
0.73 0.83666667 0.88666667]
10倍の結果を得ました
predictions = cross_val_predict(model, features,labels ,cv=10)
これは不均衡なデータセットなので、各折りたたみの精度、リコール、およびf1スコアを計算し、結果の平均を出したいと思います。 Pythonで値を計算する方法は?あなたがcross_val_score
メソッドを使用する場合
各折りたたみのトレーニングとテストのエラーを計算するにはどうすればよいですか? – Jayashree
cross_val_scoreは、検証データのメトリクス値のみを計算します。しかし、2つのカスタムイテレータを作ることができます。最初のイテレータは、オブジェクトの位置インデックスを訓練し、妥当性検査の代わりに位置インデックスを使用すると、フィーチャDataFrameの同じ列オブジェクトの位置インデックスが得られます。 2番目のイテレータは、最初のイテレータと同じオブジェクトの位置インデックスを調整しますが、valの位置インデックスの代わりにフィーチャDataFrameの残りのオブジェクトの位置インデックスが生成されます。 –
cross_val_scoreをカスタムの最初のCVで作成した後、列車セットのメトリクスの値を取得し、カスタムの第2のCVでcross_val_scoreの後に検証セットのメトリクスの値を取得します。 –