2017-01-26 1 views
2

이 내 arff 파일Java에서 StringToWordVector (weka)를 사용하는 방법?

@relation hamspam 

@attribute text string 
@attribute class {ham,spam} 

@data 
'good',ham 
'very good',ham 
'bad',spam 
'very bad',spam 
'very bad, very bad',spam 

내가 뭘 원하는 것은 내 자바 프로그램에서 WEKA의 clasiffier으로 분류하는 것입니다,하지만 난 StringToWordVector를 사용하여 다음을 분류하는 방법을 모르겠어요.

이 내 코드 :

Classifier j48tree = new J48();  
Instances train = new Instances(new BufferedReader(new FileReader("data.arff"))); 

StringToWordVector filter = new StringToWordVector(); 

다음? 난 ..

답변

2
import weka.core.Instance; 
//import required classes 
import weka.core.Instances; 
import weka.core.converters.ConverterUtils.DataSource; 
import weka.core.stemmers.LovinsStemmer; 
import weka.classifiers.meta.FilteredClassifier; 
import weka.classifiers.trees.J48; 
import weka.filters.unsupervised.attribute.Remove; 
import weka.filters.unsupervised.attribute.StringToWordVector; 

public class ClassifierWithFilter{ 

    public static void main(String args[]) throws Exception{ 
    //load dataset 
    DataSource source = new DataSource("/Users/amaryadav/Desktop/spamham.arff"); 
    Instances dataset = source.getDataSet(); 
    //set class index to the last attribute 
    dataset.setClassIndex(dataset.numAttributes()-1); 

    //the base classifier 
    J48 tree = new J48(); 

    //the filter 
    StringToWordVector filter = new StringToWordVector(); 
    filter.setInputFormat(dataset); 
    filter.setIDFTransform(true); 
    filter.setUseStoplist(true); 
    LovinsStemmer stemmer = new LovinsStemmer(); 
    filter.setStemmer(stemmer); 
    filter.setLowerCaseTokens(true); 

    //Create the FilteredClassifier object 
    FilteredClassifier fc = new FilteredClassifier(); 
    //specify filter 
    fc.setFilter(filter); 
    //specify base classifier 
    fc.setClassifier(tree); 
    //Build the meta-classifier 
    fc.buildClassifier(dataset); 

    System.out.println(tree.graph()); 
    System.out.println(tree); 
    } 
} 

이 코드는 spamham 훈련 분류기를 구축 J48 결정 트리를 사용하여 무엇을 해야할지하지 않습니다 무엇. arff. 희망이 도움이됩니다.

관련 문제