2017-03-07 9 views
1

私は4つの特徴を持つIRISデータセットでMXNetを使用しています。花は 'setosa'、 'versicolor'、 'virginica'のように分類されます。私のトレーニングデータは89行あります。私のラベルデータは89列の行ベクトルです。私はmx.io.NDArrayIterが文字列値でnumpy ndarrayを受け入れないように、花の名前を数字-0,1,2に符号化しました。それから私は、私は形状をしている結果を得るmod.predictは予想より多くの列を返します

re = mod.predict(test_iter)

使用して予測しようとした私は3のラベルを持っているとどのように私は私のラベルに、これらの結果をマッピングんのに、なぜ私は10列を取得しています14 * 10 。予測の結果を以下に示す:

[0.11760861 0.12082944 0.1207106 0.09154381 0.09155304 0.09155869 0.09154817 0.09155204 0.09154914 0.09154641] [0.1176083 0.12082954 0.12071151 0.09154379 0.09155323 0.09155825 0.0915481 0.09155164 0.09154923 0.09154641] [0.11760829 0.1208293 0.12071083 0.09154385 0.09155313 0.09155875 0.09154838 0.09155186 0.09154932 0.09154625] [0.11760861 0.12082901 0.12071037 0.09154388 0.09155303 0.09155875 0.09154829 0.09155209 0.09154959 0.09154641] [0.11760896 0.12082863 0.12070955 0.09154405 0.09155299 0.09155875 0.09154839 0.09155225 0.09154996 0.09154646] [0.1176089 0.1208287 0.1207095 0.09154407 0.09155297 0.09155 882 0.09154844 0.09155232 0.09154989 0.0915464] [0.11760896 0.12082864 0.12070941 0.09154408 0.09155297 0.09155882 0.09154844 0.09155234 0.09154993 0.09154642] [0.1176088 0.12082874 0.12070983 0.09154399 0.09155302 0.09155872 0.09154837 0.09155215 0.09154984 0.09154641] [0.11760852 0.12082904 0.12071032 0.09154394 0.09155304 0.09155876 0.09154835 0.09155209 0.09154959 0.09154631] [0.11760963 0.12082832 0.12070873 0.09154428 0.09155257 0.09155893 0.09154856 0.09155177 0.09155051 0.09154671] [0.11760966 0.12082829 0.12070868 0.09154429 0.09155258 0.09155892 0.09154858 0.0915518 0.09155052 0.09154672] [0.11760949 0.1208282 0.12070852 0.09154446 0.09155259 0.09155893 0.09154854 0.09155205 0.0915506 0.09154666] [0.11760952 0.12082817 0.12070853 0.0915444 0.091552 61 0.09155891 0.09154853 0.09155206 0.09155057 0.09154668] [0.1176096 0.1208283 0.12070892 0.09154423 0.09155267 0.09155882 0.09154859 0.09155172 0.09155044 0.09154676]

+0

最小限の再現可能な例はありますか? –

答えて

1

用い、 "Y = mod.predict(val_iter、num_batch = 1)" の代わりにY = MOD」の。 predict(val_iter) "を指定すると、バッチラベルを1つだけ取得できます。たとえば、batch_sizeが10の場合、10個のラベルしか取得できません。

+0

私のデータセットには、3つのラベル-'setosa '、' versicolor '、' virginica 'しかありません。なぜ予測メソッドが私に10個のラベルを与えているのですか? –

+0

あなたのモデルは間違ったnum_hiddenパラメータを使用していると思います。虹彩データセットの場合、私のモデルは次のようになります: net = mx.sym.Variable( 'data') net = mx.sym.FullyConnected(ネット、名前= 'fc2'、num_hidden = 3) net = mx.sym .SoftmaxOutput(net、name = 'softmax'、multi_output = True、) #num_hidden = 3は、3つのラベルを出力することを意味します。 num_hidden = 10に設定すると、10個のラベル出力が得られます。 –

+0

それを指摘してくれてありがとう。 num_hiddenの値が間違っていた –

関連する問題