Skitlearn MLPClassifier ValueError:无法处理多类和多标记指示符的混合

时间:2017-04-27 18:18:31

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

我想用Skitlearn MLPClassifier训练和测试我的数据,但我得到 ValueError:无法处理多类和多标记指示符错误的混合。 这是我的代码:

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:找到数字不一致的输入变量样品:[1,20] 错误。我无法找到两者的确切解决方案。

1 个答案:

答案 0 :(得分:0)

可能是因为mlp的结果是单热编码类型,它需要一个热编码标签。当我将labels_test更改为one-hot-encoding时,它已经工作了