Weka:具有字符串属性的Apriori arff文件

时间:2014-03-17 14:36:17

标签: java weka apriori

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

@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属性,因为我有很多文本!

1 个答案:

答案 0 :(得分: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);