机器学习 评估指标 之混淆矩阵以及可视化

1、混淆矩阵

它是衡量分类型模型准确度中最基本,最直观,计算最简单的方法 以实际标签为行, 预测标签为列
例如:

 	      0   1   2 (实际标签)
	  0   45  4   3
	   1  11  50  5
	   2  2   5   55    

主对角线上的值越大其余地方值越小说明模型越好

2、代码实现 以及可视化 操作

数据下载地址
链接: https://pan.baidu.com/s/1f-C7LSqo-zzZzFXjQIC0lQ
提取码: qb2a

# -*- coding:utf-8 -*-
import  numpy as np
import matplotlib.pyplot as mp
import sklearn.svm as svm
import sklearn.metrics as sm
import sklearn.model_selection as ms
import pandas as pd
# 1、构造数据
df =pd.read_csv('multiple1.txt', sep=",", encoding="utf-8", names=[1, 2, 3])
x = df[[1,2]]
y = df[3]
# 训练集与测试集的分离
train_x, test_x, train_y, test_y = ms.train_test_split(x, y, test_size=0.25,random_state=8)
# 2、构造模型
# todo:支持向量机线性核模型
model = svm.SVC(kernel="linear")
# 3、模型训练
model.fit(train_x, train_y)
# 4、模型预测
pred_y = model.predict(test_x)
# 5、模型评估
# todo:混淆矩阵
cm = sm.confusion_matrix(test_y,pred_y)   #获得分类的混淆矩阵
print(cm)


# 6、可视化
# todo:把混淆矩阵可视化(使用热力图)
mp.figure("Confusion Matrix", facecolor="lightgray")
mp.title("Confusion Matrix", fontsize=20)
mp.xlabel("Predict", fontsize=14)
mp.ylabel("True", fontsize=14)
mp.tick_params(labelsize=10)
mp.imshow(cm, interpolation="nearest", cmap="gray")  #interpolation="nearest"颜色映射方法  cmap="jet" 颜色渐变种类
mp.show()

你可能感兴趣的:(机器学习,模型评估,PYTHON,机器学习)