【问题标题】:Skitlearn MLPClassifier ValueError: Can't handle mix of multiclass and multilabel-indicatorSkitlearn MLPClassifier ValueError:无法处理多类和多标签指标的混合
【发布时间】:2017-09-25 16:33:18
【问题描述】:

我想用 Skitlearn MLPClassifier 训练和测试我的数据,但我得到 ValueError: Can't handle mix of multiclass and multilabel-indicator 错误。 这是我的代码:

mlp = MLPClassifier(hidden_layer_sizes=(HIDDEN_1_COUNT,HIDDEN_2_COUNT),
                    activation="logistic",
                    solver="sgd", 
                    max_iter=EPOCH_COUNT, 
                    learning_rate_init=LEARNING_RATE)

mlp.fit(dataset_train, labels_train)
print(mlp.score(dataset_test, np.reshape(labels_test, (20, 1))))

根据 PyCharm 错误发生在最后一行。

dataset_test 的形状:20x901,labels_test:1x20

PS:如果我使用 labels_test 而不是 np.reshape(labels_test, (20,1)) 我得到 ValueError: Found input variables with contrast numbers样本数:[1, 20] 错误。我找不到他们两个的确切解决方案。

【问题讨论】:

  • 您应该在此处打印您的labels_trainlabels_testdataset_trainlabels_trainlabels_test的形状是什么?
  • 所有都是具有整数值的 numpy 数组。 dataset_train 的形状:901x6,labels_train 的形状:20x4(我有 20 个样本),labels_test 的形状:1x20。我没有对 labels_test 使用 one-hot 编码,但是当我使用时,问题解决了

标签: python-3.x scikit-learn neural-network


【解决方案1】:

可能是因为 mlp 的结果是 one-hot-encoding 类型,它需要 one-hot-encoded 标签。当我将 labels_test 更改为 one-hot-encoding 时,它起作用了

【讨论】:

    猜你喜欢
    • 2019-10-23
    • 2021-03-18
    • 2019-06-29
    • 2021-12-20
    • 2021-04-14
    • 2020-05-10
    • 2020-10-19
    • 2020-12-30
    • 2021-06-25
    相关资源
    最近更新 更多