【发布时间】:2023-03-22 07:24:02
【问题描述】:
我有一个数据集,我将其分成两部分,用于使用 scikit learn 训练和测试随机森林分类器。
我有 87 个课程和 344 个样本。 predict_proba 的输出在大多数情况下是一个 3 维数组 (87, 344, 2)(实际上是 list 的 87 个 numpy.ndarrays 的 (344, 2) 元素)。
有时,当我选择不同的样本子集进行训练和测试时,我只会得到一个二维数组(87, 344)(尽管我无法确定在哪些情况下)。
我的两个问题是:
- 这些尺寸代表什么?我计算出要获得 ROC AUC 分数,我必须取输出的一半(即
(87, 344, 2)[:,:,1],转置它,然后将其与我的基本事实进行比较(roc_auc_score(ground_truth, output_of_predict_proba[:,:,1].T)本质上)。但我没有理解它的真正含义。 - 为什么输出会随着数据的不同子集而变化?我不明白在哪些情况下它返回一个 3D 数组,在哪些情况下返回一个 2D 数组。
【问题讨论】:
标签: python scikit-learn random-forest