Deep Learning 3.1 数据可视化之模型评估阶段
[TOC]
数据可视化
– 通过sklearn.metrics
直接plot
from sklearn.metrics import plot_precision_recall_curve
from sklearn.metrics import plot_roc_curve
from sklearn.metrics import plot_confusion_matrix
1、三个参数,分别是classifier、X_test / X_train / X_val、y_test / y_train / y_val,把模型+数据集传入方法中,然后直接进行预测,并把预测出来的数据和本来就有的y_test进行运算。
数据可视化
– 通过sklearn.metrics
进行计算,然后通过其他画图工具去画
首先计算所需要相关的包
from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
from sklearn.metrics import roc_auc_score
from sklearn.metrics import confusion_matrix
【一】plot_roc_curve // 然后顺便计算出来auc(也就是线下边的面积)
1、通过roc_curve
来计算tpr真正率和fpr假正率
2、通过auc
来计算ROC面积
3、通过plt.plot()
来画图
def plot_roc_curve_(y_true, y_pred):
# Compute ROC curve and ROC area(auc)
fpr, tpr, threshold = roc_curve(y_true, y_pred) # 计算真正率和假正率
roc_auc = auc(fpr, tpr)
# plot
plt.plot(fpr, tpr, label='ROC curve 「area = %0.2f)' % roc_auc)
plt.show()
plot_roc_curve_(y_true, y_pred)
【二】plot_precision_recall_curve // 然后顺便计算出来auc(也就是线下边的面积)
1、通过roc_curve
来计算tpr真正率和fpr假正率
2、通过auc
来计算ROC面积
def plot_precision_recall_curve_(y_true, y_pred):
# compute precision and recall
precision, recall, thresholds = precision_recall_curve(y_true, y_pred)
# plot
plt.plot(recall,precision)
plt.show()
plot_precision_recall_curve_(y_true, y_pred)
【三】plot_confusion_matrix
1、通过confusion_matrix
来计算混淆矩阵
2、通过matshow
来画图
def plot_confusion_matrix_(y_true, y_pred):
# compute confusion matrix
con_mat = confusion_matrix(y_true=y_true, y_pred=y_pred)
# plot confusion matrix
fig, ax = plt.subplots()
ax.matshow(con_mat, alpha = 0.3)
for i in range(con_mat.shape[0]):
for j in range(con_mat.shape[1]):
ax.text(x=j, y=i, s=con_mat[i, j])
plt.show()