WEKA如何处理名义属性v / s数值属性?

时间:2012-08-06 12:57:43

标签: machine-learning data-mining weka

如果数据集中的某个列只有3个可能的值.i.e。 0,1和2,如果我将它们声明为名义v / s数值,那么WEKA对它们有何不同?

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

2 个答案:

答案 0 :(得分:7)

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

当被视为数字时,1到2和1到3之间的差异大约是两倍。 (鉴于没有其他属性)。

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

答案 1 :(得分:1)

如何处理数值和分类值取决于您正在使用的Weka中的实际机器学习算法。有些人无法处理这两类属性,如果你选择了一个错误属性类型的算法,Weka会告诉你。

通常,您应该将属性声明为它们的实际属性,即如果值是数字,即使只有几个不同的实际值,也将其声明为数字。同样,如果属性是分类属性,即使存在许多不同的值,也要将其声明为此类。

关于你的上一个问题,我认为Weka不会区分具有很少和许多不同实际值的分类值。它应该与其他一切相同。