如何使用Java中的Weka API将String属性转换为名义属性

时间:2018-03-07 16:23:31

标签: java machine-learning weka data-cleaning

我在weka API中加载了一个数据集(weka3 Instances对象)。 我需要将属性类型从String转换为Nominal。 有人知道怎么做吗 ?

1 个答案:

答案 0 :(得分:0)

我这样解决了: 我的Colmn名为Situation是我数据集中的第一列。我将它从String类型成功转换为Nominal类型

    //Method to convert "Situation attribute type from String to Nominal"
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);  //this changes the Situation Type from String Into Nominal
            stringtoNominal.setOptions(options);
        stringtoNominal.setInputFormat(dataset);
        dataset = Filter.useFilter(dataset, stringtoNominal); 

    return dataset;
}