交叉验证 - Weka api

Lui*_*ues 0 machine-learning weka cross-validation

如何使用Weka Api通过10倍交叉验证制作分类模型?我问这个问题,因为每次交叉验证运行都会创建一个新的分类模型.我应该在我的测试数据中使用哪种分类模型?

谢谢!!

Wal*_*ter 7

如果从所有训练数据构建分类器,则使用10倍交叉验证来估计分类器的准确性.当感觉到没有足够的数据用于独立测试集时使用它.这意味着,当您预测未来数据时,应该从所有训练数据中构建新模型.10倍交叉验证的结果是猜测新分类器应该执行的程度.

以下代码显示了通过API使用Weka的交叉验证,然后从整个训练数据集构建新模型的示例.

    //Training instances are held in "originalTrain"

    Classifier c1 = new NaiveBayes();
    Evaluation eval = new Evaluation(originalTrain);
    eval.crossValidateModel(c1, originalTrain, 10, new Random(1));
    System.out.println("Estimated Accuracy: "+Double.toString(eval.pctCorrect()));

    //Train a new classifier
    Classifier c2 = new NaiveBayes();
    c2.buildClassifier(originalTrain)  //predict with this model
Run Code Online (Sandbox Code Playgroud)