1,weka文件讀取分3類打開dat文件提示 不可識別的數據庫格式,分別為:ARFF(weka自身文件讀?。珻SV(文本文件讀?。?,數據庫直接讀取
1.1,ARFF(weka自身文件讀?。容^容易直接使用類即可
1.2,CSV文件讀取需要使用類
import java.io.BufferedReader;
import java.io.FileReader;
import weka.core.Instances;
import weka.core.converters.ConverterUtils.DataSource;
public class readfile {
public static void main(String[] args) throws Exception {
/*
* arff文件讀入
*/
Instances date=new Instances(new BufferedReader(new FileReader("data\\ionosphere.arff")));
date.setClassIndex(date.numAttributes()-1);
System.out.println(date);
/*
* CSV文件讀入
*/
DataSource source =new DataSource("data\\testcsv.csv");
Instances data=source.getDataSet();
if(data.classIndex()==-1)
data.setClassIndex(data.numAttributes()-1);
System.out.println(data);
}
}
2打開dat文件提示 不可識別的數據庫格式,weka中文件導出,導出格式應該只有ARFF一種,即weka自身文件格式
import weka.core.Instances;
import weka.core.converters.ArffSaver;
import weka.core.converters.CSVLoader;
import java.io.File;
public class CSV2ARFF {
/**
* takes 2 arguments:
* - CSV input file
* - ARFF output file
*/
public static void main(String[] args) throws Exception {
// load CSV
CSVLoader loader = new CSVLoader();
loader.setSource(new File("data\\testcsv.csv"));
Instances data = loader.getDataSet();
data.setClassIndex(2);
// save ARFF
ArffSaver saver = new ArffSaver();
saver.setInstances(data);
saver.setFile(new File("data\\testcsv.arff"));
//saver.setDestination(new File(args[1]));
saver.writeBatch();
}
}