我使用WEKA GUI Java here来预处理数据。我想在R。
中使用相同的预处理步骤例如,我想将WEKA GUI的MultiFilter预处理加载到R.我在RWeka中找不到它。
如何将WEKA预处理步骤加载到R?
答案 0 :(得分:1)
您可以使用RWeka或Weka命令行工具部分加载WEKA GUI步骤,这些工具比RWeka中的可用功能要广泛得多。因此,您可以通过R中的系统命令使用命令行命令扩展RWeka。幸运的是,WEKA GUI和WEKA命令行中的参数是相同的。我建议使用8
提取weka-src.jar
以阅读来源。
MultiFilter有很多功能
jar xf weka-src.jar
其中第二个允许您指定属性范围。否则,它们似乎完全相同。
然后您可以使用
运行第一个离散过滤器java weka.filters.MultiFilter --help
java weka.filters.unsupervised.attribute.PartitionedMultiFilter --help
然后将其输出定向到下一个java weka.filters.unsupervised.attribute.Discretize -F -B 20 -M -1.0 -R 27 -i yourFile.arff
,最后转到Discretize
和NumericTransform
。命令行以下列方式提供有关命令的精彩指令
Resample
您可以从目录结构或索引中检查它们。
<强> RWeka 强>
RWeka包提供了功能
并且没有NumericTransform和Remove功能。您需要使用他们的参数,而不是直接通过从WEKA GUI复制粘贴java代码。也许,一个解决方案可以使用系统命令并使用它执行Java代码,而无需学习RWeka本身。 WEKA GUI和R包之间似乎存在一些差距。
在命令行上运行Weka
即使通过RWeka界面缺少命令,您也可以使用R中的系统命令。例如,您可以运行remove命令
java weka.filters.unsupervised.attribute.NumericTransform --help java weka.filters.unsupervised.attribute.Remove --help java weka.filters.unsupervised.instance.Resample --help java weka.filters.supervised.instance.Resample --help
这样
java weka.filters.unsupervised.attribute.Remove -i yourfile.arff
我有以下设置here,因此我们可以通过以下方式运行Discretize。
system("java weka.filters.unsupervised.attribute.Remove -i yourfile.arff")
一些有用的信息
下载Linux Developer版本,解压缩并阅读README,其中包含许多关于在命令行使用WEKA的精彩示例。
Wiki here
- 醇>