Machine learning weka为每个数据集提供100%正确分类的实例

Machine learning weka为每个数据集提供100%正确分类的实例,machine-learning,classification,weka,Machine Learning,Classification,Weka,我无法获得准确度,因为我提供的每个数据集都为我应用的每个分类器算法提供100%的准确度。我的数据集是10个人的。 它为朴素贝叶斯、J48、JRip分类器算法提供了相同的精度 +----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+ | id | name | q1 | q2 | q3 | m1 | m2 | tut | fl | proj | fexam | total | grade |

我无法获得准确度,因为我提供的每个数据集都为我应用的每个分类器算法提供100%的准确度。我的数据集是10个人的。 它为朴素贝叶斯、J48、JRip分类器算法提供了相同的精度

+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+
| id | name  | q1 | q2 | q3 | m1 | m2 | tut | fl | proj | fexam | total | grade |
+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+
|  1 | abv   |  5 |  5 |  5 | 13 | 13 |   4 |  8 |    7 |    40 |   100 | p     |
|  2 | ca    |  1 |  1 |  1 |  1 |  1 |   1 |  1 |    1 |    40 |    48 | f     |
|  3 | ga    |  4 |  2 |  3 |  5 | 10 |   4 |  5 |    6 |    20 |    59 | f     |
|  4 | ui    |  5 |  4 |  4 | 12 | 13 |   3 |  7 |    7 |    39 |    94 | p     |
|  5 | pa    |  4 |  1 |  1 |  4 |  3 |   2 |  4 |    5 |    22 |    46 | f     |
|  6 | la    |  2 |  3 |  1 |  1 |  2 |   0 |  4 |    2 |    11 |    26 | f     |
|  7 | ka    |  5 |  4 |  1 |  3 |  3 |   1 |  6 |    4 |    24 |    51 | f     |
|  8 | ma    |  5 |  3 |  3 |  9 |  8 |   4 |  8 |    0 |    20 |    60 | p     |
|  9 | ash   |  2 |  5 |  5 | 11 | 12 |   3 |  7 |    6 |    30 |    81 | p     |
| 10 | opo   |  4 |  2 |  1 | 13 |  1 |   3 |  7 |    3 |    35 |    69 | p     |
+----+-------+----+----+----+----+----+-----+----+------+-------+-------+-------+


确保不包含任何唯一标识符列

另外,不包括
总数

最有可能的是,分类器了解到“name”是一个很好的预测值,和/或您需要
total>59
总分才能通过。 我建议你至少保留一个练习,因为有些分类者仍然会知道,每个分数的总和是通过考试所必需的

我假设你想知道一个部分是否最能表明你通过了考试,即“如果你在第三部分做得好,你很可能会通过”。但要回答这个问题,你需要考虑到每个问题的分数不同,等等。否则,你的预测者只会确定哪个问题的分数最高


另外,10是一个太小的样本量

您可以从显示的输出中看到,J48生成的树只使用了变量fl,因此我认为您没有@Anony Mouse提到的问题


我注意到您正在培训集上进行测试(请参阅GUI左上角的“测试选项”单选按钮)。这几乎总是高估了准确性。你所看到的是不恰当的。相反,使用交叉验证可以更好地估计新数据的准确性。如果只有10个数据点,则应使用10倍或5倍

尝试在交叉验证“k分割”或百分比分割上测试您的模型

一般按百分比划分:训练集占数据集的2/3,测试集占1/3

还有,我觉得你的数据集很小。。。在这种情况下,有可能获得高精度