python - predict_proba 的 Scikit-learn RandomForestClassifier 输出

标签 python scikit-learn random-forest

我有一个数据集,我将其分成两部分,用于使用 scikit learn 训练和测试随机森林分类器。

我有 87 个类和 344 个样本。大多数情况下,predict_proba 的输出是一个 3 维数组 (87, 344, 2)(它实际上是一个 列表 87 个 numpy.ndarray(344, 2) 元素)。

有时,当我选择不同的样本子集进行训练和测试时,我只会得到一个二维数组 (87, 344)(虽然我无法计算出在哪些情况下) .

我的两个问题是:

  • 这些维度代表什么?我计算出要获得 ROC AUC 分数,我必须取一半的输出(即 (87, 344, 2)[:,:,1],转置它,然后将它与我的基本事实进行比较(roc_auc_score(ground_truth, output_of_predict_proba[:,:,1].T) 本质上)。但我不明白它的真正含义。
  • 为什么输出会随着数据的不同子集而变化?我无法理解在哪些情况下它返回 3D 数组,在哪些情况下返回 2D 数组。

最佳答案

classifier.predict_proba() 返回类别概率。数组的 n 维度将根据您训​​练的子集中有多少类而变化

关于python - predict_proba 的 Scikit-learn RandomForestClassifier 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28282706/

相关文章:

python - 如何加速找到两篇维基百科文章之间最短路径的程序

python - Python 3中AES加密解密中的字节转字符串

python - 尝试将 if elif else 语句与 eval(input()) 函数一起使用

python - matplotlib NavigationToolbar2QT 操作中没有图形选项

r - R 中随机森林图的图例

r - 如何从 R 的部分依赖图中选择一个图?

machine-learning - 选择特征后显示特征名称

python - 保存 sklearn 模型的最佳方法是什么?

python - 有人可以解释一下 Scikit-learn 中的 MaxAbsScaler 吗?

R 随机森林 : Proximity for new object