【问题标题】:How to find the wrong predictions in Keras?如何在 Keras 中找到错误的预测?
【发布时间】:2019-07-31 03:54:41
【问题描述】:

我已经构建了一个 Keras 模型,用于从文本输入的原始输入中提取信息。我的准确度为 0.9869。我如何知道哪些训练数据导致准确率降低?我在下面粘贴了我正在使用的代码。

import numpy as np  
from keras.models import Model, load_model
from keras.layers import Input, Dense, LSTM, Activation, Bidirectional, Dot, Flatten
from keras.callbacks import ModelCheckpoint

x_nyha = np.load("data/x_nyha.npy")
y_nyha = np.load("data/y/y_nyha.npy")
print(x_nyha.shape)
print(y_nyha.shape)


input_shape = x_nyha.shape[1:3]

X = Input(shape=input_shape)
A = Bidirectional(LSTM(512, return_sequences=True), merge_mode='concat')(X)
D = Dense(900, activation='relu')(A)
E = Dense(1, activation='sigmoid')(D)
Y = Flatten()(E)
model = Model(X, Y)
model.summary()

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])


batch_size = 128
num_epochs = 50


model.fit(x_nyha, y_nyha, batch_size=batch_size, epochs=num_epochs, verbose=1)

【问题讨论】:

    标签: python-3.x machine-learning keras classification


    【解决方案1】:

    我认为最简单的方法如下:在训练数据上训练模型,对训练数据进行预测并查看预测错误的训练样本。

    代码示例:

    model.fit(x_nyha, y_nyha, batch_size=batch_size, epochs=num_epochs, verbose=1)
    prediction = np.round(model.predict(x_nyha))
    wrong_predictions = x_nyha[prediction != y_nyha]
    

    这样wrong_predictions 包含行,您的预测是错误的。

    【讨论】:

      猜你喜欢
      • 2017-01-11
      • 2017-02-18
      • 1970-01-01
      • 2019-12-08
      • 2019-10-19
      • 2023-03-18
      • 2019-12-05
      • 1970-01-01
      • 2019-06-01
      相关资源
      最近更新 更多