私は 2 つの不均衡なクラス、50,000 のサンプルを持っており、陽性はセットで %5 発生します。データは 2 次元です。
問題は、ExtraTreesClassifierを使用していることです。oob_score_は問題ないように見えますが、cross_validation.cross_val_scoreでf1 スコアを調べると、低い値が得られます。分類子が問題ないかゴミか、完全に混乱しています。
from sklearn.ensemble import ExtraTreesClassifier
trees = ExtraTreesClassifier(bootstrap=true, oob_score=True,n_estimators=100,class_weight="auto")
for i in range(1, 101):
trees.set_params(n_estimators=i)
trees.fit(x,y)
print trees.oob_score_
0.919955 0.919353 0.919353 ... 増加しています。
私がするとき
from sklearn import cross_validation as cval
cv = cval.StratifiedKFold(y, 2)
cval.cross_val_score(trees, x, y, scoring="f1", cv=cv)
結果は array([ 0.01604747, 0.01250169]) で、かなり悪いです。
誰かが私を啓発できますか?前もって感謝します。