0

我在java中传递Apriori算法的ARFF文件:

@relation test_r

@attribute nome string
@attribute ling_prog {java,c,vb}
@attribute conosciuto {conosciuto,non_conosciuto}

@data
'Giuseppe Verdi',c,conosciuto
'Giuseppe Verdi',vb,non_conosciuto
'Giuseppe Verdi',java,conosciuto
'Mario Rossi',java,conosciuto
'Mario Rossi',c,conosciuto
'Mario Rossi',c,non_conosciuto
'Verdi Rossi',java,conosciuto
'Verdi Rossi',vb,conosciuto
'Verdi Rossi',c,non_conosciuto

将“实例”传递给 Apriori 时出现以下错误:

 weka.core.UnsupportedAttributeTypeException: weka.associations.Apriori: Cannot handle string attributes!

我该如何解决?我需要使用 String 属性,因为我有很多文本!

4

1 回答 1

0

尝试这个:

       String[] options = new String[2];
       options[0] = "-R";                // "range"
       options[1] = "1";                 // first attribute

       weka.filters.unsupervised.attribute.StringToNominal ff=new weka.filters.unsupervised.attribute.StringToNominal(); // new instance of filter

       ff.setOptions(options);                           // set options
       ff.setInputFormat(data1);                          // inform filter about dataset **AFTER** setting options
       Instances data2 = Filter.useFilter(data1, ff);

接着:

        apriori.buildAssociations(data2); 
于 2014-03-17T17:04:20.610 回答