2016-05-01 10 views
0

scikit-neuralnetworkを使用してNN分類を行いたい、5クラスがあるので、出力レイヤーにユニット= 5 ibutがあります。マニュアルに従ってデータセットサイズと出力層の単位の間、 は私y_trainを整形して出力層に「シグモイド」関数を適用: http://scikit-neuralnetwork.readthedocs.io/en/latest/guide_model.html#classificationAssertionError:出力層のデータセットサイズと単位の不一致

If you want to do multi-label classification, simply fit using a y array of integers that has multiple dimensions, e.g. shape (N, 3) for three different classes. Then, make sure the last layer is Sigmoid instead.

y_train形状である(2115、5) X_train形状は:(2115、343) これはコードです

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) 

答えて

1

入力レイヤーには1つのユニットがあります。

ip_layer = mlp.Layer('Sigmoid', units=343)を設定するとうまくいくはずです。

+0

私は同じエラーが発生しました:( –

関連する問題