我有 2 个不平衡的类,50 000 个样本,阳性发生在 %5 中。数据是二维的。
问题是,我正在使用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]) ,这很糟糕。
有人可以启发我吗?提前致谢。