断言错误:数据集大小和输出层中的单位不匹配



我想使用scikit neuralnetwork进行NN分类,我有5个类,所以在输出层,我的单位=5 ibut我得到了这个错误:数据集大小和输出层的单位不匹配,我重塑了我的y_train,并根据文档将"Sigmoid"函数应用到输出层:http://scikit-neuralnetwork.readthedocs.io/en/latest/guide_model.html#classification

如果你想进行多标签分类,只需使用具有多个维度的整数的y数组进行拟合,例如三个不同类的形状(N,3)。然后,确保最后一层是Sigmoid。

y_train形状为:(2115,5)X_train形状为:(2115033)这是代码:

import sknn.mlp as mlp
from sknn.mlp import Classifier
ip_layer = mlp.Layer('Sigmoid', units=1)
hidden_layer = mlp.Layer('Tanh', units=100)
op_layer = mlp.Layer('Sigmoid', units=5) 
nn = Classifier(
    [ip_layer, hidden_layer, op_layer],
    n_iter=10000
)
nn.fit(X_train, y_train)

输入层有一个单元。

如果设置ip_layer = mlp.Layer('Sigmoid', units=343),它应该可以工作。

相关内容

  • 没有找到相关文章