在weka中apriori算法无法使用!(我的数据是从excel格式转换成csv格式导入weka中)

2024-12-22 15:32:02
推荐回答(2个)
回答1:

weka图形界面很多操作做不了,像这种属性类别转化需调用API,
写个java程序可以帮你搞定, filterOptionsNN[1] = "2-last"; 这个是需要转换为nominal的行数,
根据自己实际情况设置。还有读取数据和保存数据的位置也根据你的改。记得导入weka.jar。
public class xlsTOarff {
public static void main(String args[]) throws Exception{
DataSource source = new DataSource("E:\\lsn\\Rts\\Reuters-21578.csv");
Instances insTraining = source.getDataSet();
insTraining.setClassIndex(0);
String[] filterOptionsNN = new String[2];
filterOptionsNN[0] = "-C";
filterOptionsNN[1] = "2-last";
Instances finalFilteredInst = null;
try{
NumericToNominal ntn = new NumericToNominal();
ntn.setOptions(filterOptionsNN);
ntn.setInputFormat(filteredInst);
finalFilteredInst = Filter.useFilter(filteredInst, ntn);
}
catch(Exception e)
{
e.printStackTrace();
}
ArffSaver saver = new ArffSaver();
saver.setInstances(finalFilteredInst);
String outputdir = "E:\\lsn\\Rts\\xlstoarff.arff";
saver.setFile(new File(outputdir));
saver.writeBatch();
System.out.println("finished!");
}
}

回答2:

numeric就不是离散的,需要做预处理。
用NumericalToNominal过滤器离散化