sklearn,评分的ExtraTreesClassifier混淆



我有2个不平衡类,5万个样本,阳性在集合中出现%5。数据是二维的

问题是,我使用ExtraTreesClassifieroob_score_看起来不错,但是当我用交叉验证检查f1分数时。cross_val_score,我得到的值很低。我完全糊涂了,我的分类器是好还是垃圾。

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.9199550.9193530.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])

谁能开导我一下?

出袋评分指标是准确性。考虑到数据的不平衡,结果是正常的。

有一个暂停的pull请求允许选择评分指标https://github.com/scikit-learn/scikit-learn/pull/3723

现在,您仍然可以使用oob_decision_score_属性计算oob f1-score。

相关内容

  • 没有找到相关文章

最新更新