赋予某些实例权重将导致精度的巨大变化

时间:2015-12-20 15:40:24

标签: machine-learning classification weka

我有一个数据集,它包含很多类0的实例和一些非常少的类1的实例,这是一个问题,因为类0的实例将支配类1的实例,并且类的精度非常低1.我正在使用weka java API,在API中我找到了为实例赋予权重的选项,所以我决定在我的测试集中对类1的实例进行权衡,如下所示:

breader = new BufferedReader(new FileReader("weka/train.txt"));
    Instances train = new Instances(breader);
    train.setClassIndex(train.numAttributes() - 1);
    Instances testset= new Instances(new BufferedReader(new FileReader("weka/test.txt")));
    unlabeled.setClassIndex(testset.numAttributes() - 1);
    for (int i = 0; i < testset.numInstances(); i++) {
        if(testset.instance(i).classValue()==1){
            testset.instance(i).setWeight(30);
        }

    }

这样做后,精度提高了很多。现在我想知道我在做什么是可以接受的,如果是的话怎么可以推理呢?

0 个答案:

没有答案