package classifier;
import weka.classifiers.trees.J48;
import weka.classifiers.trees.RandomForest;
import weka.classifiers.lazy.IBk;
import weka.classifiers.bayes.*;
import weka.core.Instances;
import weka.classifiers.Evaluation;
import weka.core.converters.ConverterUtils.DataSource;
import weka.core.converters.ArffSaver;
import java.util.Random;
import java.io.File;
public class Classifiers {
public static void main(String[] args) throws Exception
{
// read data from *.csv
Instances allData = DataSource.read("**.csv");
ArffSaver saver = new ArffSaver();
// Sets instances that should be stored.
saver.setInstances(allData);
// Sets the destination file.
saver.setFile(new File("**.arff"));
// Sets the destination output stream.
// saver.setDestination(new File("**.arff"));
// Writes a Batch of instances
saver.writeBatch();
Instances allData_arff = DataSource.read("**.arff");
/*
set class index of for your dataset before passing
it into classifier. Your classifier must know which
is your outcome variable.
*/
allData_arff.setClassIndex(allData_arff.numAttributes() - 1);
RandomForest clsRF = new RandomForest();
evaluation.crossValidateModel(clsRF, allData_arff, 10, new Random(1234));
System.out.println("随机森林");
// Output confusion matrix
System.out.println(evaluation.toMatrixString());
}
}
java调用weka,读取csv及arff文件,将csv转化为arff文件
最新推荐文章于 2024-04-27 09:13:51 发布