簡體   English   中英

如何在Keras中驗證預測

[英]How to validate a prediction in Keras

我正在閱讀Kaggle Digit Recognizer教程,並且試圖了解所有這些工作原理。 我想驗證一個預測值。 基本上,我有一個錯誤的預測,但是我想看看該預測的實際價值是什么。 我想我還有一段路要走:

...

df = pd.read_csv('data/train.csv')

labels = df['label'].values
x_train = df.drop(columns=['label']).values / 255
# trying to produce a crappy dataset for train/test
x_train, x_test, y_train, y_test = train_test_split(x_train, labels, test_size=0.95)


# Purposely trying to get a crappy model so I can learn about validation
model = tf.keras.models.Sequential()
# model.add(tf.keras.layers.Flatten())
# model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])

model.fit(x_train, y_train, epochs=1)
predictions = model.predict([x_test])


index_to_predict = 0
print('Prediction: ', np.argmax(predictions[index_to_predict]))
print('Actual:     ', predictions.argmax(axis=-1)[index_to_predict])
print(predictions.shape)
vals = x_test[index_to_predict].reshape(28, 28)
plt.imshow(vals)

這將產生以下結果:

在此處輸入圖片說明

如何獲得真正的“預測在這里”和“實際在這里”細分? 我關於實際的邏輯肯定是不正確的。

真實標簽(有時也稱為目標值或地面真實標簽)存儲在y_trainy_test ,分別用於訓練和測試集。 因此,您可以輕松地打印出來以找到真正的標簽:

print('Actual:', y_test[index_to_predict])
y_test[index_to_predict]

將有實際的標簽和

predictions[index_to_predict]

應該具有您每個類別的預測概率值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM