java做数据挖掘的混淆矩阵_《写给程序员的数据挖掘实践指南》——5.3混淆矩阵...

本文介绍了如何利用Python进行10折交叉验证和混淆矩阵分析,以评估数据挖掘分类器的性能。通过具体例子展示了如何在汽车MPG数据集上实现这一过程,并提供了相应的Python代码示例。
摘要由CSDN通过智能技术生成

本节书摘来自异步社区出版社《写给程序员的数据挖掘实践指南》一书中的第5章,第5.3节,作者:【美】Ron Zacharski(扎哈尔斯基),更多章节内容可以访问云栖社区“异步社区”公众号查看。

5.3混淆矩阵

到目前为止,通过计算下列精确率百分比,我们对分类器进行评估:

1df64258f0d6a25f14cf35247c5fe332.png

有时,我们可能希望得到分类器算法的更详细的性能。能够详细揭示性能的一种可视化方法是引入一个称为混淆矩阵(confusion matrix)的表格。混淆矩阵的行代表测试样本的真实类别,而列代表分类器所预测出的类别。

860b8678d2c55b15c058a25afc24eff9.png

它之所以名为混淆矩阵,是因为很容易通过这个矩阵看清楚算法产生混淆的地方。下面以女运动员分类为例来展示这个矩阵。假设我们有一个由100名女子体操运动员、100名WNBA篮球运动员及100名女子马拉松运动员的属性构成的数据集。我们利用10折交叉验证法对分类器进行评估。在10折交叉测试中,每个实例正好只被测试过一次。上述测试的结果可能如下面的混淆矩阵所示:

bd12adef6f7b42ea83481b602fe2ed43.png

同前面一样,每一行代表实例实际属于的类别,每一列代表的是分类器预测的类别。因此,上述表格表明,有83个体操运动员被正确分类,但是却有17个被错分为马拉松运动员。92个篮球运动员被正确分类,但是却有8个被错分为马拉松运动员。85名马拉松运动员被正确分类,但是却有8个人被错分为体操运动员,还有16个人被错分为篮球运动员。

混淆矩阵的对角线给出了正确分类的实例数目。

6b61989a992ecb2999835abfe2c99f8d.png

上述表格中,算法的精确率为:

a664d049d3168ef6d57ed005fad9d5f7.png

通过观察上述矩阵很容易了解分类器的错误类型。在本例当中,分类器在区分体操运动员和篮球运动员上表现得相当不错,而有时体操运动员和篮球运动员却会被误判为马拉松运动员,马拉松运动员有时被误判为体操运动员或篮球运动员。

e4aea033804f0ca0d565dff0596b46ab.png

一个编程的例子

回到上一章当中提到的来自卡内基梅隆大学的汽车MPG数据集,该数据集的格式如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值