sklearn.ensemble.RandomForestClassifier 输出不一致

迈尔斯·班尼特·戴森

我有一个训练有素的 sklearn 随机森林多标签分类器,在训练集中,始终存在一个类,这意味着您希望分类器始终为该类返回 1。发生这种情况,但是分类器返回 [1] 而不是 [0, 1]。见下面的输出:

[array([[0.05, 0.95]]), array([[0.97, 0.03]]), 
array([[0.95, 0.05]]), array([[1., 0.]]), array([[1., 0.]]), 
array([[1., 0.]]), array([[0.65, 0.35]]), array([[1.]])]

为什么会出现这种情况,我该如何防止这种情况发生?在示例中,它是仅单个输入的结果,但是在我的情况下,我有一个完整的数据框作为输入,我将其转换为类预测。如果其中一个数组只有一个维度,则这是不可能的:[1] 而不是像其他类的预测那样的二维 [0,1]。

这可以通过 sklearn 中的设置进行更改吗?

额外说明为什么我有一个只有正类样本的训练集:这是推荐系统的一部分,有时每种类型的客户每次都会购买产品。

迈尔斯·班尼特·戴森

我使用简单的列表理解检查解决了它,该检查将第二列添加到不一致的输出数组中。执行此操作的代码如下,其中 rfc_output 是存在不一致列的随机森林输出。

rfc_output = [np.c_[x, np.zeros(window_size)] if len(x[1])<2 else x for x in rfc_output ]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

类标签不存在sklearn.ensemble.RandomForestClassifier for class_weight

将Ray-Tune与sklearn的RandomForestClassifier一起使用

sklearn LabelEncoder中的标签不一致?

使用 sklearn 的 LinearSVC 预测结果不一致,

缩放sklearn RandomForestClassifier用于RandomizedSearchCV

Python sklearn RandomForestClassifier不可重现的结果

Sklearn RandomForestClassifier除数0误差除以

sklearn:调用LinearRegression.fit()时发现数组的样本数不一致

sklearn:找到输入样本数量不一致的输入变量:[1,99]

tensorflow 2评估与sklearn precision_score不一致

Sklearn:发现样本数量不一致的输入变量:

Sklearn:ValueError:发现输入变量的样本数不一致:[1,6]

样本数量不一致的 Python Sklearn 变量

y_test 上的不一致形状错误 MultiLabelBinarizer,sklearn 多标签分类

Sklearn:ValueError:发现样本数量不一致的输入变量:[500, 1]

ValueError:在defaultdict上使用sklearn时样本数量不一致

sklearn train_test_split-ValueError:找到样本数量不一致的输入变量

Sklearn.linear_model:ValueError:发现输入变量的样本数量不一致:[1, 20]

带有树的Python Sklearn-找到的输入变量样本数量不一致

在sklearn中使用RandomForestClassifier进行不平衡分类

RandomForestClassifier(sklearn)的predict_proba(X)似乎是静态的?

使用 RandomForestClassifier 理解 TreeInterpreter 的输出

AWK输出不一致

浮点输出不一致

为什么sklearn.metrics.confusion_matrix和sklearn.metrics.plot_confusion_matrix具有不一致的功能定义?

如何在python中修复sklearn多元线性回归ValueError(样本数量不一致:[2,1])

查询输出与if条件不一致

元组的哈希输出不一致

PyTorch:预先训练的VGG输出不一致