java - 如何在 Java 代码中使用 Weka 监督重采样过滤器?

标签 java filter weka resampling

我想对实例重新采样以统一类分布。为此,我使用以下代码。

import weka.core.Instances;

import weka.filters.supervised.instance.*;

...

String Fliteroptions="-B 1.0";
sampler.setOptions(weka.core.Utils.splitOptions(Fliteroptions));
sampler.setRandomSeed((int)System.currentTimeMillis());

data = // ... Instances leaded from ARFF file ...

data = Resample.useFilter(data, sampler);

但出现以下错误:

Zero Weights processed. Default weights will be used
java.lang.IllegalStateException: No input instance format defined
 at weka.filters.supervised.instance.Resample.input(Resample.java:443)
 at weka.filters.Filter.useFilter(Filter.java:655)
 at WekaClassify.main(WekaClassify.java:84)

有没有人知道这里发生了什么,我怎样才能让它工作?

最佳答案

加载数据后,只需添加以下语句:

sampler.setInputFormat(data);

关于java - 如何在 Java 代码中使用 Weka 监督重采样过滤器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4473058/

相关文章:

command-line - gradle 无法从命令行执行特定测试

javascript - 隐藏/显示表格排序器的过滤器

logging - Logstash - 将字段添加到包含单词的行(事件)

machine-learning - WEKA 使用类值来解决决策树?

java - Android:删除选定的列表项

java - 升级到2.7 ClassNotFoundException : org. mockito.exceptions.Reporter 运行测试后

java - 如何将变量传递给 Pepper-Box 纯文本配置

java - 如何在java中找到五个最接近零的输入数字

python - Weka GUI 和 Weka 通过 python api 的结果不同

Java SimpleDateFormat 将问题解析为 WEKA