我正在使用Weka的资源管理器功能进行分类。

所以我有我的.arff文件,有两个NUMERIC值的特征,我的类是二进制0或1(例如{0,1})。

样品:

@RELATION summary
@ATTRIBUTE feature1 NUMERIC
@ATTRIBUTE feature2 NUMERIC
@ATTRIBUTE class {1,0}

@DATA
23,11,0
20,100,1
2,36,0
98,8,1
.....

我加载这个.arff文件,使用10倍交叉验证(没有测试文件),然后选择NaiveBayes,然后我对数据进行分类,它给了我:5个标记错误,100个正确标记。到目前为止一切都很好。

现在,我显着更改了我的.arff文件(为我的功能属性提供完全随机的值)。并重复上述内容,我在分类时得到完全相同的统计数据。

我尝试对我的.arff文件进行更多更改,使用不同的分类算法。不过,无论我给.arff文件的值是什么,都要完全相同的统计数据(在同一算法中)。

我在这里做错了吗?

有帮助吗?

解决方案

没有更多信息很难说,但我有两个建议:

  1. 这两个班级的相对比例是多少?是5到100吗?许多算法不适用于高度偏斜的类标签分布。

  2. 只是预感,但请尝试将您的班级标签从数字更改为字符串(例如'class1'和'class2')。 Weka称这些'名义'属性,所以可能不允许使用数字。

其他提示

另外:请记住,交叉验证在UI中非常可怕,因为它们只显示原始树,无论如何(在它们折叠到其他数据之前)。如果您想生成最终树,则需要编程API。我建议使用拆分训练/测试数据集。

您是否尝试过更改

@ATTRIBUTE class {1,0} 

@ATTRIBUTE class {yes,no} 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top