我正在使用 weka 对二进制数据进行聚类。注意我是直接通过API或者源码使用weka。
例如,我的数据输入是一个巨大的 .csv 文件
attrib1, attrib2, atrib3
0,1,0
1,0,1
0,0,1
但是为了减小 .csv 的大小,数据提供者(我不能直接访问数据集)忽略零,上面的代码片段写为
attrib1, attrib2, atrib3
,1,
1,,1
,,1
所以我发现 weka 将两个逗号之间的值视为我不喜欢的“缺失值”(这是代码库中使用的术语)。
我一直在尝试直接通过源代码来解决它。
特别是CSVLoader.getDataSet()和CSVLoader.getInstance()以及ConverterUtils.getToken()似乎对这些东西负责。
我已经尝试了很多来更改代码并使 weka 将此空值(因为 weka 认为它们是)视为零,但我找不到解决方案。
有人可以提供更好的解决方案吗?