Python机器学习:评价分类结果003实现混淆矩阵,精准率和召回率
#实现混淆矩阵,精准率和召回率
import numpy as np
from sklearn import datasets
digits = datasets.load_digits()
X = digits.data
y = digits.target.copy()
使数据偏斜
y[digits.target == 9] = 1
y[digits.target != 9] = 0
from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(X,y,random_state=666)
from sklearn.linear_model import LogisticRegression
log_reg = LogisticRegression()
log_reg.fit(X_train,y_train)
log_reg.score(X_test,y_test)
y_log_predict = log_reg.predict(X_test)
TN
def TN(y_true,y_predict):assert len(y_true) == len(y_test)return np.sum((y_true == 0) & (y_predict == 0))
TN(y_test,y_log_predict)
403
FN
def FN(y_true,y_predict):assert len(y_true) == len(y_test)return np.sum((y_true == 1) & (y_predict == 0))
FN(y_test,y_log_predict)
9
FP
def FP(y_true,y_predict):assert len(y_true) == len(y_test)return np.sum((y_true == 0) & (y_predict == 1))
FP(y_test,y_log_predict)
2
TP
def TP(y_true,y_predict):assert len(y_true) == len(y_test)return np.sum((y_true == 1) & (y_predict == 1))
TP(y_test,y_log_predict)
36
混淆矩阵
def confusion_matrix(y_true,y_predict):return np.array([[TN(y_true,y_predict),FP(y_true,y_predict)],[FN(y_true,y_predict),TP(y_true,y_predict)]])
confusion_matrix(y_test,y_log_predict)
array([[403, 2],[ 9, 36]])
精准率
def precision_score(y_true,y_predict):tp = TP(y_true,y_predict)fp = FP(y_true,y_predict)try:return tp / (tp + fp)except:return 0.0
precision_score(y_test,y_log_predict)
0.9473684210526315
召回率
def recall_score(y_true,y_predict):tp = TP(y_true,y_predict)fn = FN(y_true,y_predict)try:return tp / (tp + fn)except:return 0.0
recall_score(y_test,y_log_predict)
0.8
scikit-learn中的混淆矩阵,精准率和召回率
#scikit-learn中的混淆矩阵,精准率和召回率
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test,y_log_predict)
array([[403, 2],[ 9, 36]], dtype=int64)
from sklearn.metrics import recall_score
from sklearn.metrics import precision_score
recall_score(y_test,y_log_predict)
0.8
precision_score(y_test,y_log_predict)
0.9473684210526315
Python机器学习:评价分类结果003实现混淆矩阵,精准率和召回率相关推荐
- 【机器学习】二分类问题中的混淆矩阵、准确率、召回率等 (Python代码实现)
文章目录 混淆矩阵 召回率与准确率 准确度Accuracy sklearn代码示例 混淆矩阵 混淆矩阵(Confusion Matrix):将分类问题按照真实情况与判别情况两个维度进行归类的一个矩阵, ...
- 混淆矩阵、准确率、召回率、ROC曲线、AUC
混淆矩阵.准确率.召回率.ROC曲线.AUC 假设有一个用来对猫(cats).狗(dogs).兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结.假设总共 ...
- 分类器MNIST交叉验证准确率、混淆矩阵、精度和召回率(PR曲线)、ROC曲线、多类别分类器、多标签分类、多输出分类
本博客是在Jupyter Notebook下进行的编译. 目录 MNIST 训练一个二分类器 使用交叉验证测量精度 混淆矩阵 精度和召回率 精度/召回率权衡 ROC曲线 多类别分类器 错误分析 多标签 ...
- 混淆矩阵与精确度、召回率、F1 Score
1.计算公式 从混淆矩阵计算精确度.召回率.F1 Score的过程如下图所示,其中P和R即Precision和Recall: 2.验证实验 如下图为Azure ML自带的一个示例给出的模型评分结果:原 ...
- 机器学习中精准度、召回率、准确率、F1 Score、G分数计算学习笔记
目录 1.基本符号表示 2.类别下的精准度计算(precision) 3.类别下的召回率计算(recall) 4.准确率的计算(accuracy) 5.F1 Score 6.G分数 1.基本符号表示 ...
- Python机器学习:评价分类结果008多分类问题中的混淆矩阵
多分类问题中的混淆矩阵 #十分类问题 import matplotlib.pyplot as plt import numpy as np 数据 from sklearn import dataset ...
- python分类预测降低准确率_【火炉炼AI】机器学习011-分类模型的评估:准确率,精确率,召回率,F1值...
[火炉炼AI]机器学习011-分类模型的评估:准确率,精确率,召回率,F1值 (本文所使用的Python库和版本号: Python 3.5, Numpy 1.14, scikit-learn 0.19 ...
- 详细讲解分类模型评价指标(混淆矩阵)python示例
前言 1.回归模型(regression): 对于回归模型的评估方法,通常会采用平均绝对误差(MAE).均方误差(MSE).平均绝对百分比误差(MAPE)等方法. 2.聚类模型(clustering) ...
- 机器学习-------评价分类结果
准确度的陷阱和混淆矩阵和精准率召回率 准确度的陷阱 准确度并不是越高说明模型越好,或者说准确度高不代表模型好,比如对于极度偏斜(skewed data)的数据,假如我们的模型只能显示一个结果A,但是1 ...
最新文章
- linux 命令之文件读取,head, tail, tailf, sed
- CC2540获取本机MAC地址
- Google联手Facebook 要在AI研究上搞什么大事?
- MySQL-基础操作之增删改查
- NYOJ 409 郁闷的C小加(三)
- java跳过_java跳过https证书直接请求工具类
- Java黑皮书课后题第6章:**6.25(将毫秒转化成小时、分钟、秒数)使用下面的方法头,编写一个将毫秒数转换成小时数、分钟数和描述的方法,返回形式如“小时:分钟:秒“
- LINUX环境搭建:安装中文定制版UBUNTU 10.10
- 《鸟哥的Linux基础》
- strcpy和strcat
- Python中的异常处理try、exception、raise
- 自动优化工具Black帮你写出规范漂亮的python代码
- CardView的基本使用
- sublime text3 verilog代码编写高级操作篇
- 社交网络电影深度解析论文,社交网络 电影解析
- mybatis获取map中的key和value
- 游戏引擎设计的技术及详解
- ubuntu清理系统垃圾与备份
- A* 流程+代码详细注释
- vb.net 教程 5-9 屏幕范围内取色
热门文章
- 【BZOJ2653】middle,主席树(非权值线段树)维护序列和信息+二分答案
- python获取手机号码归属地_Python批量获取并保存手机号归属地和运营商的示例
- 【英语学习】【Level 07】U02 Live Work L5 This is where we work
- Pentium 4处理器架构/微架构/流水线 (7) - NetBurst前端详解 - 分支预测
- json生成shp_使用JS把shapefile地图数据转换为geojson格式
- 流程在团队管理中的作用
- matlab 二值化图像反色,图像处理——灰度化、二值化、反色、饱和度、对比度...
- 如何在 ES5 环境下实现一个const ?
- docker如何安装vim和yum命令?
- Hadoop_10_HDFS 的 DataNode工作机制