我在Weka API中加载了一个数据集(weka3 Instances对象)。我需要将一个属性的类型从字符串转换为名义类型。有人知道如何做吗?
回答:
我通过以下方式解决了这个问题:我的数据集中名为“Situation”的列是第一列。我成功地将其从字符串类型转换为名义类型
//方法:将"Situation"属性类型从字符串转换为名义类型
private Instances StringToNominal(Instances dataset, String columnName) throws Exception {
StringToNominal stringtoNominal = new StringToNominal();
String[] options = new String[2];
options[0] = "-R";
options[1] = Integer.toString(dataset.classIndex()+2); //这将"Situation"类型从字符串转换为名义类型
stringtoNominal.setOptions(options);
stringtoNominal.setInputFormat(dataset);
dataset = Filter.useFilter(dataset, stringtoNominal);
return dataset;
}