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"
从上一篇文章(Replace missing values with mean (Weka))中,我了解到 WekaReplaceMissingValues
只是将每个缺失值替换为相应属性的平均值。这意味着需要为每个属性计算平均值。虽然这个平均值的计算对于训练文件来说非常好,但对于测试文件来说就不行了。
这是因为在典型的测试场景中,我们不应该假设我们知道输入缺失值的测试属性的平均值。我们只有一个具有多个分类属性的测试记录,而不是将整个测试记录集放在一个测试文件中。因此,相反,我们将根据使用训练数据计算的平均值输入缺失值。然后上面的命令将变得不正确,因为我们需要另一个输入(火车属性的手段)。
以前有人想过这个吗?你如何通过使用 weka 来解决这个问题?