使用 scikit-learn 玩转机器学习——模型评价(上)

简介: 对于分类模型来说,我们一般会用模型的准确率来进行模型的评价,模型的准确率是用预测正确的样本数除以模型的总数。如果一个模型的准确率达到了95%,那么在我们的印象中,是不是这个模型表现的还挺不错的,那如果达到了99%呢,岂不是更好?

对于分类模型来说,我们一般会用模型的准确率来进行模型的评价,模型的准确率是用预测正确的样本数除以模型的总数。如果一个模型的准确率达到了95%,那么在我们的印象中,是不是这个模型表现的还挺不错的,那如果达到了99%呢,岂不是更好?


但是,在样本类别不平衡的情况下,仅仅使用模型的准确率并不能体现出模型的优劣。


就拿微博抽奖来举个栗子,IG 夺冠时王思聪发微博称:点赞、转发本条庆祝 IG 夺冠的微博可以参与获奖者每人一万的抽奖。假设10000人参与了该活动,共抽取了10名幸运者。现在问题来了,这次抽奖也成功的吸引了你女票的注意,她也知道你在机器学习领域浸淫多年,于是就命令你去建一个机器学习模型来预测她拿奖的准确率,通过研究中奖用户的特征来以此保证她下次一定抽中奖,不然就跟你分手。你一听慌了,一宿没睡狂撸代码,第二天一大早就拿着自己的劳动成果去邀功请赏,宣称你的模型准确率能到达99%,你女友一听脸色顿时铁青......于是你成了单身狗,可怜的是你居然还不知道到底出了什么问题。


好了,段子讲完了,言归正传。你想想,10000 个人抽10个人,中奖率都 0.1%,那么最朴素的一个模型就是无论是谁,我都宣称他的中奖率为0.1%,就这,这样的模型的准确率都能达到99.9%,那么准确率为99%的模型简直不要太垃圾好吧!你说你不单身谁单身。这同时也说明了,单一的使用准确率来评价分类模型的好坏是不严谨的,那么接下来就进入我们今天的正题。


混淆矩阵

29.jpg

我们拿二分类问题来举个栗子,上图中行代表真实值,列代表预测值,0、1分别代表我们研究的2个种类。预测正确为 True,用 T 表示,预测错误为 False,用 F 表示,预测为0类,我们称其呈阴性,用 N 表示,预测为1类被称为阳性,用 P 表示。在上表中合起来就是 TN、TP、FN、FP这四个值。下表就是上述提到的微博抽奖的混淆矩阵的其中一种情况。

30.jpg


在上表中,实际上没中奖同时也预测正确的人数,即TN值为9978,实际上中奖了也预测正确人数,即TP值为8,没中奖且预测错误的人数,即FP值为12,中了奖但预测错误的人数,即FN值为2.

相关文章
|
11天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
8天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
28 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
12天前
|
机器学习/深度学习 算法 PyTorch
用Python实现简单机器学习模型:以鸢尾花数据集为例
用Python实现简单机器学习模型:以鸢尾花数据集为例
36 1
|
18天前
|
机器学习/深度学习 数据采集 算法
Python机器学习:Scikit-learn库的高效使用技巧
【10月更文挑战第28天】Scikit-learn 是 Python 中最受欢迎的机器学习库之一,以其简洁的 API、丰富的算法和良好的文档支持而受到开发者喜爱。本文介绍了 Scikit-learn 的高效使用技巧,包括数据预处理(如使用 Pipeline 和 ColumnTransformer)、模型选择与评估(如交叉验证和 GridSearchCV)以及模型持久化(如使用 joblib)。通过这些技巧,你可以在机器学习项目中事半功倍。
24 3
|
21天前
|
机器学习/深度学习 数据采集 Python
从零到一:手把手教你完成机器学习项目,从数据预处理到模型部署全攻略
【10月更文挑战第25天】本文通过一个预测房价的案例,详细介绍了从数据预处理到模型部署的完整机器学习项目流程。涵盖数据清洗、特征选择与工程、模型训练与调优、以及使用Flask进行模型部署的步骤,帮助读者掌握机器学习的最佳实践。
61 1
|
23天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
28 1
|
24天前
|
机器学习/深度学习 数据采集 监控
如何使用机器学习模型来自动化评估数据质量?
如何使用机器学习模型来自动化评估数据质量?
|
1月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
23 1
|
1月前
|
人工智能 算法 测试技术
PAI 大语言模型评测平台现已支持裁判员模型评测
本文将为您介绍如何在 PAI 大语言模型评测平台,基于裁判员模型,评价开源模型或者微调后模型的性能。该功能限时免费,欢迎使用。
|
17天前
|
机器学习/深度学习 算法
探索机器学习模型的可解释性
【10月更文挑战第29天】在机器学习领域,一个关键议题是模型的可解释性。本文将通过简单易懂的语言和实例,探讨如何理解和评估机器学习模型的决策过程。我们将从基础概念入手,逐步深入到更复杂的技术手段,旨在为非专业人士提供一扇洞悉机器学习黑箱的窗口。

热门文章

最新文章