交叉验证 - Weka api

时间:2013-10-03 19:08:56

标签: machine-learning weka cross-validation

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

谢谢!

2 个答案:

答案 0 :(得分:6)

如果从所有训练数据构建分类器,则使用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

答案 1 :(得分:0)

执行交叉验证:

aeiou