Weka Euclidean距离

时间:2015-11-15 15:56:10

标签: java

我有两个Weka实例,打印时如下所示:

0.44,0.34,0.48,0.5,0.3,0.33,0.43,cp
0.51,0.37,0.48,0.5,0.35,0.36,0.45,cp

我正在尝试使用内置的欧几里德距离函数来获取它们的距离。我的代码:

EuclideanDistance e = new EuclideanDistance(neighbours);

        double x = e.distance(neighbours.instance(0), neighbours.instance(1));

其中neighbor是Instances类型的对象,索引0和1的对象是我引用的两个实例。

我有点困惑,因为x返回值1.5760032627255223但是,通过单独计算,我期待0.09798。 cp是类标签,但在我的代码中,我确实指定了data.setClassIndex(data.numAttributes() - 1);

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,Weka的EuclideanDistance指标会规范化范围以计算距离。如果您不想这样,请致电e.setDontNormalize(true)