次のデータセットがあるとします。
X1: {4,7,0,1}
X2: {4,3,2,1}
X3: {6,6,6,6}
value の属性を持つインスタンスをすべて削除したいのですが> 5
、この例では X1 と X3 を削除する必要があります。500 を超える属性があり、使用しようとしました。
SubsetByExpression -E "(ATT1 < 6) or ... or (ATT500 < 6)"
これによりほとんどのインスタンスがフィルタリングされましたが、値が 5 を超えるインスタンスがまだいくつかあります (一部を削除して他のインスタンスを保持した理由はよくわかりません)。
使用する別のより適切なフィルターや、WEKA 内からこのタスクを達成する他の方法はありますか?
アップデート:
これが具体的な例です。ARFF ファイルの内容:
@relation Test
@attribute word_1 NUMERIC
@attribute word_2 NUMERIC
@attribute word_3 NUMERIC
@attribute word_4 NUMERIC
@data
4,7,0,1
4,3,2,1
6,6,6,6
0,5,1,4
値が 6 以上の属性を持つすべてのインスタンスを削除したいので、1 行目と 3 行目を削除する必要があります。このフィルターを使用する場合:
SubsetByExpression -E "(ATT1 < 6) or (ATT2 < 6) or (ATT3 < 6) or (ATT4 < 6)"
1 つのインスタンス (3 番目) だけが削除されますが、1 番目のインスタンスはまだそこにあります。
私が使用しているバージョンは次のとおりです: 3.6.2