首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >weka混淆矩阵及其精度分析

weka混淆矩阵及其精度分析
EN

Stack Overflow用户
提问于 2013-11-19 01:26:48
回答 2查看 2.8K关注 0票数 2

如何分析Weka中的混淆矩阵所获得的精度?我们知道,由于不平衡的数据集,准确性是不准确的。混淆矩阵如何“确认”准确性?

例如: a)准确度为96.1728 %

代码语言:javascript
复制
   a   b   c   d   e   f   g   <-- classified as
 124   0   0   0   1   0   0 |   a = brickface
   0 110   0   0   0   0   0 |   b = sky
   1   0 119   0   2   0   0 |   c = foliage
   1   0   0 107   2   0   0 |   d = cement
   1   0  12   7 105   0   1 |   e = window
   0   0   0   0   0  94   0 |   f = path
   0   0   1   0   0   2 120 |   g = grass

( b)准确性: 96.8 %

代码语言:javascript
复制
a   b   c   d   e   f   g   <-- classified as
 202   0   0   0   3   0   0 |   a = brickface
   0 220   0   0   0   0   0 |   b = sky
   0   0 198   0  10   0   0 |   c = foliage
   0   0   1 202  16   1   0 |   d = cement
   2   0  11   2 189   0   0 |   e = window
   0   0   0   2   0 234   0 |   f = path
   0   0   0   0   0   0 207 |   g = grass

等等。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-19 20:02:49

计算精度的方法是将主对角线上的所有实例相加,再除以实例总数(所有混淆矩阵的内容)。例如,在a中,您得到了124 + 110 + ... + 120 = 779,而实例的总数(所有内容之和)都是810,所以准确性是0,9617 => 96,17%

您的数据集是相当平衡的(所有类都有大约相同数量的实例)。您可以看到,当一行的和比其他行的假设大得多时,数据集是不平衡的,因为行代表实际的类。例如:

代码语言:javascript
复制
a   b  <-- classified as
1000 20 | a = class1
10 10   | b = class2

在这种情况下,class1有1020个实例,而class2只有20个,因此问题非常不平衡。这将影响分类器的性能,因为学习算法通常试图最大限度地提高分类器的精度(或最小化误差),因此像规则for any X, set class = class1这样的普通分类器将具有1020/1040 = 0,9807的精度。

票数 3
EN

Stack Overflow用户

发布于 2013-11-20 02:14:50

代码语言:javascript
复制
   a   b   c   d   e   f   g   <-- classified as
 124   0   0   0   1   0   0 |   a = brickface
...

这意味着有125个例子a(砖头)。其中a (正确)12 4例,e(不正确)1例。

如果您认为您的数据不平衡,请使用AUC评分。它是不平衡数据集的存根。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20061400

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档