【问题标题】:Scikit-Learn Voting Classifier Predictor Scores Always 0Scikit-Learn 投票分类器预测器分数始终为 0
【发布时间】:2020-06-25 05:15:15
【问题描述】:

我正在尝试将集成分类器的验证集性能与构成集成的各个预测器进行比较。

我一直在关注 Exercise 8 from this notebook 的代码,使用 @987654329 为 MNIST Digits 数据集的版本 1 构建具有 LinearSVCRandomForestClassifierExtraTreesClassifierMLPClassifier 的硬 VotingClassifier @的fetch_openml API。

我通过使用验证数据调用其score 函数来训练集成并对其进行评估,得到了 0.97 的分数。因此,我确定整体,并且通过扩展,各个预测器已经过训练/拟合。

但是当我尝试使用列表理解来调用 score 时,在这个合奏中适合 estimators_ 的个人上,就像这样

[estimator.score(X_val, y_val) for estimator in voting_clf.estimators_]

即使我对训练数据进行评估,每个预测变量的结果总是 0.0。

我已确认estimators_ 中的子估计器已使用predict 方法进行拟合,如this StackOverflow post 中所述。

我还单独训练了相同的估计器,并用相同的方法对它们进行了评估。这似乎有效,因为分数与教程笔记本中的分数相似。

我是否在集成对象中引用了错误的子估计器列表?

【问题讨论】:

标签: python machine-learning scikit-learn ensemble-learning


【解决方案1】:

你可以试试添加

mnist.target = mnist.target.astype(np.uint8)

加载 MNIST 数据集后。

它对我有用。

【讨论】:

    猜你喜欢
    • 2015-01-10
    • 2015-03-01
    • 2015-01-12
    • 2021-04-19
    • 2015-05-09
    • 2022-09-27
    • 2018-08-01
    • 2022-01-05
    • 2020-01-28
    相关资源
    最近更新 更多