0

我正在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

4

2 回答 2

1

我很惊讶上面没有引发错误。您只能将 AUC 用于模型选择,就像在 GridSearchCV 中一样。如果你在那里使用它(scoring='roc_auc'iirc),这意味着将选择具有最佳 auc 的模型。就这个分数而言,它并没有使单个模型更好。不过,它仍然值得尝试。

于 2013-07-02T17:06:02.200 回答
0

我发现了一篇期刊文章,该文章使用随机森林解决了高度不平衡的类。尽管它旨在在 Hadoop 集群上运行 RDF,但同样的技术似乎也适用于较小的问题:

del Río, S.、López, V.、Benítez, JM 和 Herrera, F. (2014)。关于使用随机森林将 MapReduce 用于不平衡的大数据。信息科学,285,112-137。

http://sci2s.ugr.es/rf_big_imb/pdf/rio14_INS.pdf

于 2015-04-10T17:29:04.183 回答