Weka:Src和Dest在我在训练集上进行特征选择后的属性数不同

时间:2013-02-18 17:22:44

标签: weka

我正在尝试使用weka对文本进行分类。我这样做是:

  • 我在包含所有数据的大型ARFF文件上创建:all_of_it.arff
  • 我将这些数据拆分为培训和测试:train.arfftest.arff
  • 我在训练集上进行特征选择并输出新的训练文件:train_fs.arff
  • 我构建了一个只包含所选功能的分类器。

问题是.....

我不太清楚如何将测试集标准化为仅使用我从训练集中选择的功能。根据{{​​1}}

test.arff创建新的测试文件

*我尝试使用

train_fs.arff

但我得到了臭名昭着的java -cp weka.jar weka.filters.unsupervised.attribute.Standardize -b -i train_fs.arff -o train2.arff -r test.arff -s test2.arff

是否有任何方法可以根据arff文件(即我的新训练数据,具有少量功能)来标准化/标准化集合。我没有看到如何使用Standardize或StringToWordVector过滤器执行此操作。

2 个答案:

答案 0 :(得分:1)

批量过滤是解决您问题的一种方法。

优点:

  • 当您应用于训练数据集时,它将对您的测试数据集应用相同的过滤器。执行特征选择时,两个数据集将兼容

缺点:

  • 只能从命令行界面或Weka的Java API
  • 获得
  • 必须同时过滤两个数据集

您可以阅读有关批量过滤here的更多信息。

答案 1 :(得分:1)

您可能还想查看InputMappedClassifier。它是一个包装器分类器,用于解决不兼容的培训和测试数据。