2

如果我在数据集中的一列只有 3 个可能的值,即 0、1 和 2,那么如果我将它们声明为标称值与数字值,WEKA 对它们的处理方式有何不同?

另外,如果我有一列的属性有大量名义值,是否有一种简单的方法来声明这个具有非常高序值的名义属性?

4

2 回答 2

7

粗略地说(这取决于实际的算法):

当被视为numeric时,1 到 2 和 1 到 3 的差异大约会是原来的两倍。(假设没有其他属性)。

当被视为字符串时,它们可能同样不同,如 '1' != '2' 和 '1' != '3'。(但是,例如,结果可能取决于数字的频率;分类数据的常见差异度量涉及相对频率)

于 2012-08-07T04:10:39.780 回答
1

如何处理数值和分类值取决于您使用的 Weka 中的实际机器学习算法。有些不能同时处理这两类属性,如果您选择了具有错误属性类型的算法,Weka 会告诉您。

一般来说,您应该将属性声明为它们的真实属性,即如果一个值是数字,即使只有几个不同的实际值,也要将其声明为数字。同样,如果属性是分类的,即使有许多不同的值,也要声明它。

关于你的最后一个问题,我不认为 Weka 区分类别值与少数和许多不同的实际值。它应该与其他所有内容相同。

于 2012-08-06T13:21:44.660 回答