关于使用机器学习工具Weka的问题

4

我正在使用Weka的探索功能进行分类。

因此,我有一个包含两个数值类型特征和一个二元0或1类别(例如{0,1})的.arff文件。

样本:

@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文件什么值,都会得到完全相同的统计结果(在相同算法下)。
我在这里做错了什么吗?

既然问题已经解决,你能否更新标题为更具体的内容? - Sentry
3个回答

4

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

  1. 这两个类别的比例是多少?是5比100吗?许多算法在高度倾斜的类标签分布下效果不佳。

  2. 只是一种直觉,但尝试将您的类标签从数字更改为字符串(例如'class1'和'class2')。Weka将这些称为“名义”属性,因此可能不允许使用数字。


0

另外请注意,UI中的交叉验证非常糟糕,因为它们只会向您显示原始树(在折叠其他数据之前)。如果您想要生成最终树,则需要使用编程API。我建议使用拆分训练/测试数据集。


-1

你尝试过改变吗?

@ATTRIBUTE class {1,0} 

使用

@ATTRIBUTE class {yes,no} 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接