機械学習(keras)のunits等のパラメータ等を変え、試行錯誤しながら、モデルの正確度(accuracyのscore)を向上させようと考えています。
パラメータを変えれば、当然、モデルの正確度も変化するのですが、不思議なことに、パラメータを変えず(全くなにも触らず)に、再実行させても、正確度が変化します。
これでは、正確度の変化が、パラメータのよる影響なのか、何なのか、よくわからなくなってしまいます。
これを変化させないようにしたいのですが、どうすればよいでしょうか?
「shuffle=false」と指定しましたが、この指定方法が間違っているのでしょうか?
それとも、内部の乱数などで、必ず変化してしまうものなのでしょうか?
お教え頂ければ大変助かります。
よろしくお願いいたします。
>ニュートラルネットワークで使用するモデル作成
model = keras.models.Sequential()
>入力層
model.add(Dense(units=64,input_dim=4))
model.add(Activation('relu'))
>中間層
model.add(Dense(units=64))
model.add(Activation('relu'))
>出力層
model.add(Dense(units=3))
model.add(Activation('softmax'))
model.compile(loss='sparse_categorical_crossentropy',optimizer='sgd',metrics=['accuracy'])
model.fit(x_train,y_train,epochs=100, verbose=0, shuffle=False)
>評価の実行
score = model.evaluate(x_test, y_test,batch_size = 1)
print('accuracy:', score[1])
72/72 [==============================] - 0s 415us/step
accuracy: 0.6527777777777778
回答1件
あなたの回答
tips
プレビュー