weka学习[1]_Eclipse中读取arff文件

在eclipse中读取arff文件

  • (一)文件读取介绍:
    对于字节流,在java中有FileInputStream。 该流用于从文件读取数据 new创建,FileInputStream类是InputStream的子类。 FileInputStream类主要用于从文件系统中的某个文件中获取输入字节。InputStream f = new FileInputStream(“C:/java/hello”);
    对于字符流,在java中Reader类,是一个输入流,同样也是一个字符流。 Reader类是所有输入字符流的超类。
    对于机器学习中常使用的ARFF文件,关键要new一个ArffLoader()对象,通过get DataSet()方法就可以读取里面的数据文件。当然要创建数据文件实例 ,并获得实例总数等等,需要导入weka中现成的包:
    import weka.core.Instances;
    import weka.core.converters.ArffLoader;
    然后new文件对象时,导入Java.io 包,上周介绍了java中的io包几乎包含了所有操作输入、输出需要的类:
    import java.io.File;

    -(二)代码和结果展示:

package WekaWork;
import java.io.File;
import weka.core.Instances;
import weka.core.converters.ArffLoader;
public class TestInstanceReader {
     public static void main(String[] args) throws Exception {
         //数据文件
         File inputFile = new File("E://data//wekaData//balance-scale.data.csv.arff");  
         ArffLoader atf = new ArffLoader();
         atf.setFile(inputFile);
         //读入数据文件
         Instances instances = atf.getDataSet();
         //得到数据文件实例数
         double sum = instances.numInstances();
         //打印数据文件,及实例数
         System.out.println(instances);
         System.out.println("此数据文件中共计:"+sum+"个实例数");
         }
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/yuxiao_v/article/details/54896835