문제

I ARFF file to pass Apriori algorithm in java:

@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

I get the following error when I pass "Instances" to Apriori:

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

how can I fix it? I need to use the String attribute because I have many texts!

도움이 되었습니까?

해결책

Try this:

       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);

and then:

        apriori.buildAssociations(data2); 
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top