概要
- 模型评估的目标是什么?
- 模型评估的目的是什么,有哪些 常见的评估程序?
- 分类准确率有什么用,它的作用是什么 限制?
- 混淆矩阵如何描述 分类器?
- 可以从混淆矩阵计算哪些指标?
T模型评估的目标是回答问题;
不同型号如何选择?
评估机器学习的过程有助于确定模型的应用可靠性和有效性。这涉及评估不同的因素,例如其性能、指标以及预测或决策的准确性。
无论您选择使用什么模型,您都需要一种在模型之间进行选择的方法:不同的模型类型、调整参数和功能。此外,您还需要一个模型评估程序来估计模型对未见过的数据的泛化能力。最后,您需要一个评估程序来与其他程序配合使用,以量化您的模型性能。
在我们继续之前,让我们回顾一下一些不同的模型评估程序及其运作方式。
模型评估程序及其运作方式。
-
使用相同数据进行训练和测试
- 奖励过于复杂的模型,这些模型“过度拟合”训练数据并且不一定具有泛化能力
-
训练/测试分开
- 将数据集分成两部分,以便可以在不同的数据上训练和测试模型
- 更好地估计样本外性能,但仍然是“高方差”估计
- 因其速度、简单性和灵活性而有用
-
K 折交叉验证
- 系统地创建“K”个训练/测试分组并将结果一起平均
- 更好地估计样本外性能
- 运行速度比训练/测试分开慢“K”倍。
从上面我们可以推断出:
对相同数据进行训练和测试是过度拟合的一个典型原因,在这种情况下,您构建的模型过于复杂,无法泛化到新数据,而且实际上没有用处。
Train_Test_Split 可以更好地估计样本外性能。
通过系统地进行 K 次训练测试分割并将结果平均在一起,K 折交叉验证效果更好。
总之,train_tests_split 由于其速度和简单性,对于交叉验证来说仍然是有利可图的,这就是我们将在本教程中使用的内容。
模型评估指标:
您始终需要一个评估指标来配合您选择的程序,并且您选择的指标取决于您要解决的问题。对于分类问题,可以使用分类精度。但我们将在本指南中重点关注其他重要的分类评估指标。
在我们学习任何新的评估指标之前,让我们回顾一下分类准确性,并讨论它的优点和缺点。
分类准确率
我们为本教程选择了皮马印第安人糖尿病数据集,其中包括 768 名患者的健康数据和糖尿病状况。
让我们读取数据并打印前 5 行数据。如果患者患有糖尿病,则标签栏显示 1,如果患者没有糖尿病,则标签栏显示 0,我们要回答的问题是:
问题: 我们可以根据患者的健康测量结果预测其糖尿病状况吗?
我们定义特征度量 X 和响应向量 Y。我们使用 train_test_split 将 X 和 Y 分成训练集和测试集。
接下来,我们在训练集上训练逻辑回归模型。在拟合步骤中,logreg 模型对象正在学习 X_train 和 Y_train 之间的关系。最后我们对测试集进行类预测。
现在,我们已经对测试集进行了预测,我们可以计算分类准确率,简单来说就是正确预测的百分比。
但是,每当您使用分类准确性作为评估指标时,将其与空准确性进行比较非常重要,这是通过始终预测最频繁的类别可以获得的准确性。
空准确率回答了问题;如果我的模型能够 100% 地预测主要类别,那么它正确的概率是多少?在上面的场景中,y_test 的 32% 为 1(个)。换句话说,预测患者患有糖尿病的愚蠢模型68% 的时间是正确的(即零)。这提供了一个基线,我们可能希望根据该基线来衡量逻辑回归模型。
当我们比较 68% 的空精度和 69% 的模型精度时,我们的模型看起来不太好。这表明分类准确性作为模型评估指标的一个弱点。分类准确性并不能告诉我们有关测试测试的基本分布的任何信息。
总结:
- 分类准确度是最容易理解的分类指标
- 但是,它不会告诉您响应值的底层分布
- 并且,它不会告诉您分类器正在产生什么错误“类型”。
现在让我们看看混淆矩阵。
混淆矩阵
混淆矩阵是描述分类模型性能的表格。
它有助于帮助您了解分类器的性能,但它不是模型评估指标;所以你不能告诉 scikit learn 选择具有最佳混淆矩阵的模型。然而,有很多指标可以从混淆矩阵中计算出来,并且可以直接用于在模型之间进行选择。
- 测试集中的每个观察结果都在恰好一个盒子中表示
- 这是一个 2x2 矩阵,因为有 2 个响应类别
- 此处显示的格式不通用
让我们解释一下它的一些基本术语。
- 真阳性 (TP):我们正确预测他们确实患有糖尿病
- 真阴性 (TN):我们正确预测他们没有患有糖尿病
- 误报 (FP):我们错误地预测他们确实患有糖尿病(“I 类错误”)
- 假阴性 (FN):我们错误地预测他们没有患有糖尿病(“II 型错误”)
让我们看看如何计算指标
结论:
- 混淆矩阵为您提供更完整的图片您的分类器的执行情况
- 还允许您计算各种分类指标,这些指标可以指导您的模型选择
以上是评估机器学习分类模型的详细内容。更多信息请关注PHP中文网其他相关文章!

要在有限的时间内最大化学习Python的效率,可以使用Python的datetime、time和schedule模块。1.datetime模块用于记录和规划学习时间。2.time模块帮助设置学习和休息时间。3.schedule模块自动化安排每周学习任务。

Python在游戏和GUI开发中表现出色。1)游戏开发使用Pygame,提供绘图、音频等功能,适合创建2D游戏。2)GUI开发可选择Tkinter或PyQt,Tkinter简单易用,PyQt功能丰富,适合专业开发。

Python适合数据科学、Web开发和自动化任务,而C 适用于系统编程、游戏开发和嵌入式系统。 Python以简洁和强大的生态系统着称,C 则以高性能和底层控制能力闻名。

2小时内可以学会Python的基本编程概念和技能。1.学习变量和数据类型,2.掌握控制流(条件语句和循环),3.理解函数的定义和使用,4.通过简单示例和代码片段快速上手Python编程。

Python在web开发、数据科学、机器学习、自动化和脚本编写等领域有广泛应用。1)在web开发中,Django和Flask框架简化了开发过程。2)数据科学和机器学习领域,NumPy、Pandas、Scikit-learn和TensorFlow库提供了强大支持。3)自动化和脚本编写方面,Python适用于自动化测试和系统管理等任务。

两小时内可以学到Python的基础知识。1.学习变量和数据类型,2.掌握控制结构如if语句和循环,3.了解函数的定义和使用。这些将帮助你开始编写简单的Python程序。

如何在10小时内教计算机小白编程基础?如果你只有10个小时来教计算机小白一些编程知识,你会选择教些什么�...

使用FiddlerEverywhere进行中间人读取时如何避免被检测到当你使用FiddlerEverywhere...


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

Atom编辑器mac版下载
最流行的的开源编辑器

ZendStudio 13.5.1 Mac
功能强大的PHP集成开发环境

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

禅工作室 13.0.1
功能强大的PHP集成开发环境