ReplaceMissingValues
Weka を使用して、テストarff データセットのみに欠損値を入力し、トレーニング データセットには欠損値を入力しないと、少し心配です。以下はコマンドラインです:
java -classpath weka.jar weka.filters.unsupervised.attribute.ReplaceMissingValues -c last -i "test_file_with_missing_values.arff" -o "test_file_with_filled_missing_values.arff"
以前の投稿 (欠損値を平均値に置き換える (Weka)ReplaceMissingValues
) から、Wekaは各欠損値を対応する属性の平均値に単純に置き換えることを知りました。これは、属性ごとに平均を計算する必要があることを意味します。この平均の計算は、トレーニング ファイルではまったく問題ありませんが、テスト ファイルでは問題ありません。
これは、典型的なテスト シナリオでは、入力欠損値のテスト属性の平均値がわかっていると想定してはならないためです。テスト ファイルにテスト レコードのセット全体を含めるのではなく、分類用の複数の属性を持つ 1 つのテスト レコードのみを使用します。したがって、代わりに、トレーニング データを使用して計算された平均値に基づいて欠損値を入力します。次に、別の入力 (トレーニング属性の手段) が必要になるため、上記のコマンドは正しくなくなります。
誰もこれについて前に考えたことがありますか?weka を使用してこれをどのように回避しますか?