我有大约 100 个 csv 格式的数据集,我想应用 Weka 过滤器 StratifiedRemoveFolds。
到目前为止,我的代码是:
CSVLoader loader = new CSVLoader();
loader.setSource(new File(datasetToBeProcessed.toString()));
Instances data = loader.getDataSet();
StratifiedRemoveFolds strRmvFolds = new StratifiedRemoveFolds();
strRmvFolds.setFold(fold);
strRmvFolds.setNumFolds(DatasetPreprocessing.numberOfFolds);
strRmvFolds.setSeed(0);
strRmvFolds.setInvertSelection(false);
strRmvFolds.setInputFormat(data);
data = StratifiedRemoveFolds.useFilter(data, strRmvFolds);
当我运行它时,我收到以下错误消息:
stratifyDatasetsWithWekaApi
SEVERE: null
weka.core.UnassignedClassException:
weka filters.supervised.instance.StratifiedRemoveFolds:
Class attribute not set!
我也尝试过以下方法:
CSVLoader loader = new CSVLoader();
loader.setSource(new File(datasetToBeProcessed.toString()));
Instances data = loader.getDataSet();
String[] options = new String[4]; // initialize options
options[0] = "-S 0"; // seed number
options[1] = "-V"; // invert selection
options[2] = "-N 8"; // total number of folds
options[3] = "-F 1"; // current fold
strRmvFolds.setOptions(options);
strRmvFolds.setInputFormat(data);
data = StratifiedRemoveFolds.useFilter(data, strRmvFolds);
错误信息是:
stratifyDatasetsWithWekaApi
SEVERE: null
java.lang.Exception: Illegal options: -S 0 -N 8 -F 1
我究竟做错了什么?
繁星淼淼
相关分类