Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在WEKA中运行交叉验证之前是否需要应用过滤器_Java_Machine Learning_Weka_Classification - Fatal编程技术网

Java 在WEKA中运行交叉验证之前是否需要应用过滤器

Java 在WEKA中运行交叉验证之前是否需要应用过滤器,java,machine-learning,weka,classification,Java,Machine Learning,Weka,Classification,我想在我使用的一些分类器上运行n倍交叉验证。我在上找到了示例代码(这里是),但这在运行验证之前应用了一个过滤器。是否总是需要这样做,还是不需要这样做 以下是代码部分: /** * runs 10fold CV over the training file */ public void execute() throws Exception { // run filter m_Filter.setInputFormat(m_Training); Insta

我想在我使用的一些分类器上运行n倍交叉验证。我在上找到了示例代码(这里是),但这在运行验证之前应用了一个过滤器。是否总是需要这样做,还是不需要这样做

以下是代码部分:

  /**
   * runs 10fold CV over the training file
   */
  public void execute() throws Exception {
    // run filter
    m_Filter.setInputFormat(m_Training);
    Instances filtered = Filter.useFilter(m_Training, m_Filter);

    // train classifier on complete file for tree
    m_Classifier.buildClassifier(filtered);

    // 10fold CV with seed=1
    m_Evaluation = new Evaluation(filtered);
    m_Evaluation.crossValidateModel(
        m_Classifier, filtered, 10, m_Training.getRandomNumberGenerator(1));
  }

这也是评价分类器性能的一种可接受的方法吗?

< P>我会考虑这个糟糕的练习。如果过滤器依赖/使用类信息,则交叉验证估计将(可能非常)乐观地有偏差,因此可能无用。对于一个极端的例子,请考虑将class属性的副本添加到数据中。在几乎所有情况下,如果您使用weka.classifiers.meta.FilteredClassifier,您的生活会更好、更安全。在您引用的同一Wiki页面上,有一个关于如何使用它的示例


干杯,伯恩哈德

我实际上不想使用任何过滤器。我是weka的新手,所以我想确保我只使用crossValidateModel方法而不进行过滤。我可以这样做吗?