machine-learning - 交叉验证 - Weka API

标签 machine-learning weka cross-validation

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

最佳答案

如果分类器是根据所有训练数据构建的,则使用 10 倍交叉验证来获取分类器准确性的估计。当认为没有足够的数据用于独立测试集时使用它。这意味着您应该在预测 future 数据时根据所有训练数据构建新模型。 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

关于machine-learning - 交叉验证 - Weka API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167287/

相关文章:

python - 如何减少 Scikit-Learn Vectorizers 的内存使用量?

performance - 感知器学习算法的参数调整

python - 使用Python通过urllib下载图片并测试网站是否存在

java - 如何在我的 Java 代码中将 LibSVM 与 Weka 一起使用?

tensorflow - 当设置 n_job=-1 并且 TF 在单个 GPU 上运行时,带有 TF 模型的 KerasClassifier 可以与 sklearn.cross_val_score 一起使用吗?

javascript - 过度拟合神经网络的最佳方法是什么?

java - ArrayList 转换为 Instances 对象

machine-learning - Weka 中与 'confusion matrix' 的混淆

machine-learning - 橙色的混淆矩阵

python - GridSearchCV.best_score_ 得分设置为 'accuracy' 和 CV 时的含义