我已经使用WEKA GUI Java here来进行数据的预处理。我想现在在R中使用相同的预处理步骤。如何将WEKA预处理步骤加载到R?
例如,我想将WEKA GUI的MultiFilter预处理加载到R.我无法在RWeka中找到它。
如何将WEKA预处理步骤加载到R?
我已经使用WEKA GUI Java here来进行数据的预处理。我想现在在R中使用相同的预处理步骤。如何将WEKA预处理步骤加载到R?
例如,我想将WEKA GUI的MultiFilter预处理加载到R.我无法在RWeka中找到它。
如何将WEKA预处理步骤加载到R?
可以加载WEKA GUI与RWeka或用WEKA的命令行工具是部分的步骤是比RWeka可用的功能更为广泛。因此,您可以使用命令行命令通过R中的系统命令扩展RWeka。幸运的是,WEKA GUI中的参数和WEKA命令行中的参数是相同的。我建议使用jar xf weka-src.jar
来提取weka-src.jar
来读取源代码。
存在很多功能与multifilter
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
。命令行提供的命令神话般的指令以下列方式
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
,你可以从目录结构或索引检查。
RWeka
RWeka包提供的功能
并且没有NumericTransform和Remo ve功能。你需要使用它们的参数,所以不要直接通过从WEKA GUI复制粘贴java代码。也许,一种解决方案可能是使用系统命令并使用它执行Java代码,而无需学习RWeka本身。 WEKA GUI和R包之间似乎有一些差距。
在命令行
运行的Weka即使命令通过RWeka接口丢失,您还可以使用R的系统命令例如,您可以运行remove命令
java weka.filters.unsupervised.attribute.Remove -i yourfile.arff
这样
system("java weka.filters.unsupervised.attribute.Remove -i yourfile.arff")
我有以下设置here,所以我们可以在运行离散化以下方式。
$ cat $WEKAINSTALL/data/iris.arff |tail
6.8,3.2,5.9,2.3,Iris-virginica
6.7,3.3,5.7,2.5,Iris-virginica
6.7,3.0,5.2,2.3,Iris-virginica
6.3,2.5,5.0,1.9,Iris-virginica
6.5,3.0,5.2,2.0,Iris-virginica
6.2,3.4,5.4,2.3,Iris-virginica
5.9,3.0,5.1,1.8,Iris-virginica
%
%
%
$ java weka.filters.unsupervised.attribute.Discretize -i $WEKAINSTALL/data/iris.arff |tail
'\'(6.46-6.82]\'','\'(2.96-3.2]\'','\'(5.13-5.72]\'','\'(2.26-inf)\'',Iris-virginica
'\'(6.82-7.18]\'','\'(2.96-3.2]\'','\'(4.54-5.13]\'','\'(2.26-inf)\'',Iris-virginica
'\'(5.74-6.1]\'','\'(2.48-2.72]\'','\'(4.54-5.13]\'','\'(1.78-2.02]\'',Iris-virginica
'\'(6.46-6.82]\'','\'(2.96-3.2]\'','\'(5.72-6.31]\'','\'(2.26-inf)\'',Iris-virginica
'\'(6.46-6.82]\'','\'(3.2-3.44]\'','\'(5.13-5.72]\'','\'(2.26-inf)\'',Iris-virginica
'\'(6.46-6.82]\'','\'(2.96-3.2]\'','\'(5.13-5.72]\'','\'(2.26-inf)\'',Iris-virginica
'\'(6.1-6.46]\'','\'(2.48-2.72]\'','\'(4.54-5.13]\'','\'(1.78-2.02]\'',Iris-virginica
'\'(6.46-6.82]\'','\'(2.96-3.2]\'','\'(5.13-5.72]\'','\'(1.78-2.02]\'',Iris-virginica
'\'(6.1-6.46]\'','\'(3.2-3.44]\'','\'(5.13-5.72]\'','\'(2.26-inf)\'',Iris-virginica
'\'(5.74-6.1]\'','\'(2.96-3.2]\'','\'(4.54-5.13]\'','\'(1.78-2.02]\'',Iris-virginica
$
一些有用的信息
下载Linux开发者版本,将它解压缩,并与许多神话般的例子关于使用WEKA特别是在命令行中读取的自述。
维基here