python-3.x - 如何在 Keras 中找到错误的预测?
问题描述
我已经建立了一个 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)
解决方案
我认为最简单的方法如下:在训练数据上训练模型,对训练数据进行预测,并查看预测错误的训练样本。
代码示例:
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
包含行,您的预测是错误的。
推荐阅读
- javascript - 如何使用正则表达式从所有标签中获取所有内容?反应原生
- ag-grid - Ag-Grid - 替代在 ag-grid 完全加载后触发的不存在事件(包括数据加载、过滤器、排序、列更改等)
- python - 是否可以从 Twitter API 收集推文和用户创建日期(created_at)?
- ansible - 如何在ansible中使用regex_replace转换这种数据格式
- windows - 无法在 Windows 10 的 conda 环境中安装 Keras。错误消息:调用:GetWin10SdkDirHelper HKLM\SOFTWARE\Wow6432Node 1>nul 2>&1
- java - 获取实现接口的通用枚举的值
- java - 如何使用 @Subselect 从实体进行投射
- ios - iOS 14 更新后 Xamarin 相机渲染器无法录制视频
- reactjs - Nextjs - React withAuth HOC 不渲染组件
- oracle - Oracle Query with Date between - date column with varchar date