我想用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] 错误。我无法找到两者的确切解决方案。
答案 0 :(得分:0)
可能是因为mlp的结果是单热编码类型,它需要一个热编码标签。当我将labels_test更改为one-hot-encoding时,它已经工作了