如果数据集中的某个列只有3个可能的值.i.e。 0,1和2,如果我将它们声明为名义v / s数值,那么WEKA对它们有何不同?
另外,如果我有一个列的属性有大量的名义值,是否有一种简单的方法来声明这个具有非常高的序数值的名义属性?
答案 0 :(得分:7)
粗略地说(这取决于实际的算法):
当被视为数字时,1到2和1到3之间的差异大约是两倍。 (鉴于没有其他属性)。
当被视为字符串时,它们可能都是同样不同的,如'1'!='2'和'1'!='3'。 (但是,结果可能例如取决于数字的频率,例如;分类数据的常见相异性度量涉及相对频率)
答案 1 :(得分:1)
如何处理数值和分类值取决于您正在使用的Weka中的实际机器学习算法。有些人无法处理这两类属性,如果你选择了一个错误属性类型的算法,Weka会告诉你。
通常,您应该将属性声明为它们的实际属性,即如果值是数字,即使只有几个不同的实际值,也将其声明为数字。同样,如果属性是分类属性,即使存在许多不同的值,也要将其声明为此类。
关于你的上一个问题,我认为Weka不会区分具有很少和许多不同实际值的分类值。它应该与其他一切相同。