从 Keras 模型中获取混淆矩阵
Posted
技术标签:
【中文标题】从 Keras 模型中获取混淆矩阵【英文标题】:Get confusion matrix from a Keras model 【发布时间】:2019-10-20 20:21:30 【问题描述】:我有以下使用 Keras 的 NN 模型:
import numpy as np
from keras import Sequential
from keras.layers import Dense
path = 'pima-indians-diabetes.data.csv'
dataset = np.loadtxt(path, delimiter=",")
X = dataset[:,0:8]
Y = dataset[:,8]
X_train, X_test, y_train, y_test = train_test_split(X, Y, test_size=0.2)
model = Sequential()
model.add(Dense(16, input_dim=8, activation='relu'))
model.add(Dense(32, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=100, batch_size=16, validation_data=(X_test, y_test))
请问可以提取confusion matrix
吗?怎么样?
【问题讨论】:
观看此视频:youtube.com/watch?v=km7pxKy4UHU 也许你也很感兴趣:***.com/questions/50920908/… 【参考方案1】:你可以使用scikit-learn:
y_pred = model.predict(X_test)
confusion_matrix = sklearn.metrics.confusion_matrix(y_test, np.rint(y_pred))
【讨论】:
【参考方案2】:可以使用TensorFlow来完成(这几乎是Keras =))。
您首先使用经过训练的模型对测试集进行预测:
predictions = model.predict(x_test)
然后你可以导入TensorFlow并使用它的confusion_matrix
方法如下。
import tensorflow as tf
conf_matrix = tf.math.confusion_matrix(labels=y_test,
predictions=predictions)
TensorFlow documentation 中的更多信息。
【讨论】:
以上是关于从 Keras 模型中获取混淆矩阵的主要内容,如果未能解决你的问题,请参考以下文章
使用 sklearn 使用 Keras 数据生成器绘制混淆矩阵