我想使用 k 最近邻进行多标签分类。有一些基于 knn 的分类器是在 mulan 库中实现的,或者是用 C 或 Matlab 编写的,例如 MLKNN。
当我对数字数据集使用相同的分类器时,我得到相同的结果,但对于标称数据集,例如 slashdot 和 genbase(值得注意的是数据只有 0 和 1),我得到不同的结果。
我想知道为什么会这样?这些分类器使用欧几里得距离,而木兰使用 Weka 的欧几里得距离。
为什么木兰中用于名义数据的惰性分类器的结果与用其他语言编写的结果不同?哪一个是正确的?如果你能帮我找到原因,我会很高兴。