我正在使用scikit learn手动构建一个bagging分类器。我需要这样做,因为我有三个子集的数据,我需要在每一个子集上训练一个分类器。所以我基本上是创建三个RandomForestClassifier
分类器,并在子集上训练每个分类器。然后给出一个测试集,我执行以下操作来找到ROC AUC:
probas2 = estimators[2].predict_proba(X_test)
probas3 = estimators[3].predict_proba(X_test)
probas4 = estimators[4].predict_proba(X_test)
probas = probas2[:,1] + probas3[:,1] + probas4[:,1]
probas = probas / 3.0
fpr, tpr, thresholds = roc_curve(y_test, probas)
roc_auc = auc(fpr, tpr)
然而,我需要做3倍交叉验证,然后绘制ROC曲线并输出AUC。所以基本上,我在每次折叠后使用如下列表跟踪fpr
、tpr
和{
问题是每次折叠后fpr
和{
以下是示例的答案: http://scikit-learn.org/stable/auto_examples/plot_roc_crossval.html
基本上,在计算
roc_auc
之前,您需要合并交叉验证折叠的结果,然后计算所有。如果你在做一个leave-one-out交叉验证,这就是你必须要做的,但是你可以在这里做一个类似的模式。在Here详细解释。在
相关问题 更多 >
编程相关推荐