继续的Encog-quickstart学习,这一次要实现一个从CSV 文件中读取数据,调用feed forward方式的神经网络进行分类的问题。数据集在https://archive.ics.uci.edu/ml/datasets/Iris 中,数据格式如下:
数据集中并没有列名,数据之间使用逗号隔开,通过4个数值型的属性来预测当前样本究竟是哪一种Iris。让我们先来看看代码:
import java.io.File;
import java.util.Arrays;
import org.encog.ConsoleStatusReportable;
import org.encog.Encog;
import org.encog.ml.MLRegression;
import org.encog.ml.data.MLData;
import org.encog.ml.data.versatile.NormalizationHelper;
import org.encog.ml.data.versatile.VersatileMLDataSet;
import org.encog.ml.data.versatile.columns.ColumnDefinition;
import org.encog.ml.data.versatile.columns.ColumnType;
import org.encog.ml.data.versatile.sources.CSVDataSource;
import org.encog.ml.data.versatile.sources.VersatileDataSource;
import org.encog.ml.factory.MLMethodFactory;
import org.encog.ml.model.EncogModel;
import org.encog.util.csv.CSVFormat;
import org.encog.util.csv.ReadCSV;
import org.encog.util.simple.EncogUtility;
public class IrisClassify {
public static void main(String[] args) {
// TODO Auto-generated method stub
//1.Mapping the input file
String irisFile = "input/ir