使用Java显示ImageMatrix数据的问题

时间:2016-03-08 08:18:40

标签: java machine-learning

目前我有两个类我的ImageMatrix类和我的ImageMatrixDB类,这些类本质上应该构建一个8×8像素的矩阵到一个数组中以便稍后操作。我正在使用一些数据集,我希望也应用一些mahcine学习算法。 (参见data descriptionsample dataset。)因为它看起来像java文件:

ImageMatrix.java

public class ImageMatrix {
    int[] data;
    int classCode;
    public ImageMatrix(int[] data, int classCode) {
        assert data.length == 64;
        this.data = data;
        this.classCode = classCode;
    }

    public int[] getData() {
      return data;
    }

    public int getClassCode() {
     return classCode;
    }
}

ImageMatrixDB.java

import java.io.*;
import java.util.*;



public class ImageMatrixDB implements Iterable<ImageMatrix> {
    private List<ImageMatrix> list = new ArrayList<>;

    public static ImageMatrixDB load(File f) throws IOException {
        ImageMatrixDB result = new ImageMatrixDB();
        try (FileReader fr = new FileReader(f);
             BufferedReader br = new BufferedReader(fr)) {
            for (String line; null != (line = br.readLine()); ) {
                int lastComma = line.lastIndexOf(',');
                int classCode = Integer.parseInt(line.substring(1 + lastComma));
                int[] data = Arrays.stream(line.substring(0, lastComma).split(","))
                                   .mapToInt(Integer::parseInt)
                                   .toArray();
                result.list.add(new ImageMatrix(data, classCode));
            }
        }
        return result;
    }


    public Iterator<ImageMatrix> iterator() {
        return this.list.iterator();
    }

}

我的问题源于以可读格式输出数据。我想知道是否有人可以告诉我我的主要应该是什么样的输出数据,因为我在尝试加载文件时不断出现错误。

再次感谢。

0 个答案:

没有答案