机器学习“傻瓜式”理解(13)混淆矩阵(评价分类结果)

之前的章节我们介绍了多种机器学习算法:
KNN->用于解决分类问题
线性回归->用于解决回归问题
逻辑回归->既可以解决分类问题,又可以解决回归问题
。。。
总体来说,我们机器学习的算法要解决的问题分为两大类,分别为:分类问题和回归问题。
从之前的内容来看,我们通过众多的机器学习算法得到的模型需要进行评估。
评价回归问题:MSE,MAE,RMSE,R^2(目前学习为止最好的评价算法)
评价分类问题:分类准确度(accuracy_score)
经验之谈,评价分类问题要比评价回归问题要复杂的多。
小引子:
我们搭建一个新冠肺炎检测系统,输如我们想要测试的人的数据进行检测,来根据得到的结果判断此人是否得了新冠肺炎。假设我们通过学习得到的模型预测的准确度为99.9%,
并且得有新冠肺炎的概率为0.1%,那么我们就算系统什么都不做,还是会有99.9%的预测准确度。
通过分析原因我们便得到,对于极度偏斜的数据(Skewed data),只使用分类准确度的方法来评估是远远不够的。

极度偏斜的数据:不同类型之间的样本的数量相差特别大,假设新冠肺炎感染概率1:10000

面对这种极度偏斜的数据,即使系统什么都不做,也可以达到十分大的准确度,此时我们可以通过混淆矩阵来进行进一步的分析。
对于各种概念,通过一张图进行相关介绍分析:
在这里插入图片描述
混淆矩阵代码实现:

'''Confusion Matrix'''
def TN(y_true,y_predict):
    '''check'''
    assert len(y_true) == len(y_predict)
    return np.sum((y_true==0) & (y_predict==0))

def TP(y_true,y_predict):
    '''check'''
    assert len(y_true) == len(y_predict)
    return np.sum((y_true==1) & (y_predict==1))

def FN(y_true,y_predict):
    
  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值