我正在scikit-learn中针对二进制分类问题训练 RandomForestClassifier 。我想最大限度地提高模特的auc分数。我知道这在0.13稳定版本中是不可能的,但在0.14的前沿版本中是可能的。
我尝试了这个,但我似乎得到了更糟糕的结果:
ic = RandomForestClassifier(n_estimators=100, compute_importances=True, criterion='entropy', score_func = auc_score);
这是作为模型的参数还是仅作为gridsearchCV的参数?
如果我在gridsearchCV中使用它会使模型更适合auc_score
的数据吗?我也想尝试最大化recall_score
。
答案 0 :(得分:1)
我很惊讶上面没有引起错误。您可以将AUC仅用于GridSearchCV中的模型选择。
如果你在那里使用它(scoring='roc_auc'
iirc),这意味着将选择具有最佳auc的模型。在这个分数方面,它并没有使个别模型更好。
但是仍然值得尝试。
答案 1 :(得分:0)
我找到了一篇期刊文章,讲述了随机森林的高度不平衡的类。虽然它的目的是在Hadoop集群上运行RDF,但同样的技术似乎也适用于较小的问题:
delRío,S.,López,V.,Benítez,J.M。& Herrera,F。(2014)。利用随机森林利用MapReduce实现不平衡大数据。信息科学,285,112-137。