neat4jsmall
Home
Tutorials
  Using the MSE Fitness Function
  Creating Experiments
  Creating Operators
  Creating Data Loaders
  Creating A Game
  Distributed Learning
Documentation
Screenshots
Downloads
Contact
Creating Data Loaders.

The function of the data loader is to load both training and testing data, convert it into an object form which can then be consumed by a population of, or individual chromosomes. Currently, there is only one data loader created, and that loads csv files. However, there is nothing to stop you writing loaders for other formats such as XML or other delimited data files.

To create your own data loader, you must create 6 classes, that implement the interfaces below, and load the data and represent that data in an object format that NEAT4J understands. These are detailed below.

Interface Explanation Example
org.neat4j.neat.data.core.DataLoader This class is responsible for controlling the data load and creating the data objects that are used within NEAT4J. org.neat4j.neat.data.csv.CSVDataLoader
org.neat4j.neat.data.core.NetworkDataSet This class is responsible for holding the the immutable input and expected output data sets. org.neat4j.neat.data.csv.CSVDataSet
org.neat4j.neat.data.core.NetworkOutput This class holds the expected output values (one for each output node) for a given input set. org.neat4j.neat.data.csv.CSVExpectedOutput
org.neat4j.neat.data.core.ExpectedOutputSet This class holds all the expected output values as described in the data file, essentially an array of NetworkOutput objects. org.neat4j.neat.data.csv.CSVExpectedOutputSet
org.neat4j.neat.data.core.NetworkInput This class holds the input values (one for each input node) that will be presented to the neural network. org.neat4j.neat.data.csv.CSVInput
org.neat4j.neat.data.core.NetworkInputSet This class holds all the input values as described in the data file, essentially an array of NetworkInput objects. org.neat4j.neat.data.csv.CSVInputSet