バイナリ データのクラスタリングに 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 は 2 つのコンマの間の値を「欠落値」(コード ベースで使用されている用語) として扱い、気に入らないことがわかりました。
ソースコードから直接解決しようとしています。
特に、CSVLoader.getDataSet()およびCSVLoader.getInstance()とConverterUtils.getToken()がこのようなことを担当しているようです。
私はコードを変更し、weka がこの null 値をゼロとして扱うようにするために多くのことを試みましたが (weka はそれがそうであると考えているため)、解決策を見つけることができません。
誰かがより良い解決策を提供できますか?