删除Weka中的缺失值

时间:2013-08-14 11:49:31

标签: weka

我在Weka中使用数据集进行包含缺失值的分类。据我所知,当使用像NaiveBayes这样的分类器时,Weka会自动用训练数据的模式或平均值(使用过滤器unsupervised/attribute/ReplaceMissingValues)替换它们。

我想尝试删除它们,看看它是如何影响分类器的质量的。有没有过滤器呢?

2 个答案:

答案 0 :(得分:1)

我的方法并不完美,因为如果你有超过5或6个属性,那么应用它会变得非常麻烦,但我可以建议,如果只有少数属性缺少值,则应该使用MultiFilter。

如果您在2个属性中缺少值,那么您将在MultiFilter中使用RemoveWithValues 2次。

  1. 在Weka Explorer中加载数据
  2. 从过滤区域中选择MultiFilter
  3. 点击MultiFilter并添加RemoveWithValues
  4. 然后使用属性索引配置每个RemoveWithValues过滤器,并在matchMissingValues中选择True
  5. 保存过滤器设置,然后单击“在资源管理器中应用”。

答案 1 :(得分:0)

removeIf()使用weka.core.Instances上的weka.core.Instance方法,将hasMissingValue的方法引用用于Instances dataset = source.getDataSet() // for some source dataset.removeIf(Instance::hasMissingValue); 方法,如果给定的实例缺少任何值,则返回布尔值。 / p>

const test = (a, b) => {

transformer.getActivity(a, b).then((response) => {

    var response = JSON.parse(response);
    var data = response.data;


    getToken.getToken(testData.organizationId).then(token => {
        let requestData = {
            url: url,
            token: token
        }
        return utils.axiosGetRequest(requestData);
    }).catch(error => {
        console.log("Error: ", error);

    });
})