Package org.encog.ml.data

Examples of org.encog.ml.data.MLDataSet


   */
  @Override
  public boolean executeCommand(final String args) {

    setKfold( obtainCross() );
    final MLDataSet trainingSet = obtainTrainingSet();
    MLMethod method = obtainMethod();
    final MLTrain trainer = createTrainer(method, trainingSet);
   
    if( method instanceof BayesianNetwork ) {
      final String query = getProp().getPropertyString(
          ScriptProperties.ML_CONFIG_QUERY);
      ((BayesianNetwork)method).defineClassificationStructure(query);
    }
   
    EncogLogging.log(EncogLogging.LEVEL_DEBUG, "Beginning training");

    performTraining(trainer, method, trainingSet);

    final String resourceID = getProp().getPropertyString(
        ScriptProperties.ML_CONFIG_MACHINE_LEARNING_FILE);
    final File resourceFile = getAnalyst().getScript().resolveFilename(
        resourceID);
   
    // reload the method
    method = null;
   
    if( trainer instanceof EvolutionaryAlgorithm ) {
      EvolutionaryAlgorithm ea = (EvolutionaryAlgorithm)trainer;
      method = ea.getPopulation();
    }
   
    if( method==null ) {
      method = trainer.getMethod()
    }
       
    EncogDirectoryPersistence.saveObject(resourceFile, method);
    EncogLogging.log(EncogLogging.LEVEL_DEBUG, "save to:" + resourceID);
    trainingSet.close();

    return getAnalyst().shouldStopCommand();
  }
View Full Code Here


    // find the unique files
    for (final InputField field : this.inputFields) {
      if (field instanceof InputFieldMLDataSet) {
        final InputFieldMLDataSet dataSetField =
          (InputFieldMLDataSet) field;
        final MLDataSet dataSet = dataSetField.getNeuralDataSet();
        if (!uniqueSets.containsKey(dataSet)) {
          final Iterator<MLDataPair> iterator = dataSet
              .iterator();
          final MLDataFieldHolder holder =
            new MLDataFieldHolder(
              iterator, dataSetField);
          uniqueSets.put(dataSet, holder);
View Full Code Here

    final String trainingID = getProp().getPropertyString(
        ScriptProperties.ML_CONFIG_TRAINING_FILE);

    final File trainingFile = getScript().resolveFilename(trainingID);

    MLDataSet trainingSet = EncogUtility.loadEGB2Memory(trainingFile);

    if (this.kfold > 0) {
      trainingSet = new FoldedDataSet(trainingSet);
    }
View Full Code Here

   * Create a dataset from the clustered data.
   * @return The dataset.
   */
  @Override
  public final MLDataSet createDataSet() {
    final MLDataSet result = new BasicMLDataSet();

    for (final MLData dataItem : this.data) {
      result.add(dataItem);
    }

    return result;
  }
View Full Code Here

     
      if( this.currentSequenceIndex>=sequences.size() ) {
        return false;
      }
     
      MLDataSet seq = sequences.get(this.currentSequenceIndex);
     
      if(this.currentIndex>=seq.getRecordCount()) {
        return false;
      }
     
      return true;
    }
View Full Code Here

    public MLDataPair next() {
      if (!hasNext()) {
        return null;
      }
     
      MLDataSet target = sequences.get(this.currentSequenceIndex);
     
      MLDataPair result = ((BasicMLDataSet)target).getData().get(this.currentIndex);
      this.currentIndex++;
      if( this.currentIndex>=target.getRecordCount()) {
        this.currentIndex = 0;
        this.currentSequenceIndex++;
      }
     
      return result;
View Full Code Here

   * Process the array.
   * @param data The array to process.
   * @return A neural data set that contains the time-series.
   */
  public final MLDataSet process(final double[] data) {
    final MLDataSet result = new BasicMLDataSet();

    final int totalWindowSize = this.inputWindow + this.predictWindow;
    final int stopPoint = data.length - totalWindowSize;

    for (int i = 0; i < stopPoint; i++) {
      final MLData inputData
        = new BasicMLData(this.inputWindow);
      final MLData idealData
        = new BasicMLData(this.predictWindow);

      int index = i;

      // handle input window
      for (int j = 0; j < this.inputWindow; j++) {
        inputData.setData(j, data[index++]);
      }

      // handle predict window
      for (int j = 0; j < this.predictWindow; j++) {
        idealData.setData(j, data[index++]);
      }

      final MLDataPair pair = new BasicMLDataPair(inputData,
          idealData);
      result.add(pair);
    }

    return result;
  }
View Full Code Here

     * @param data The data.
     * @return The data set.
     */
    public MLDataSet process(double[][] data)
    {
        MLDataSet result = new BasicMLDataSet();
        for(double[] doubles : data)
        {
            result.add(processToPair(doubles));
        }
        return result;
    }
View Full Code Here

   * @param idealSize The ideal size, 0 for unsupervised.
   * @return A NeuralDataSet that holds the contents of the CSV file.
   */
  public static MLDataSet loadCSVTOMemory(CSVFormat format,
      String filename, boolean headers, int inputSize, int idealSize) {
    MLDataSet result = new BasicMLDataSet();
    ReadCSV csv = new ReadCSV(filename, headers, format);
    while (csv.next()) {
      MLData input = null;
      MLData ideal = null;
      int index = 0;

      input = new BasicMLData(inputSize);
      for (int i = 0; i < inputSize; i++) {
        double d = csv.getDouble(index++);
        input.setData(i, d);
      }

      if (idealSize > 0) {
        ideal = new BasicMLData(idealSize);
        for (int i = 0; i < idealSize; i++) {
          double d = csv.getDouble(index++);
          ideal.setData(i, d);
        }
      }

      MLDataPair pair = new BasicMLDataPair(input, ideal);
      result.add(pair);
    }

    return result;
  }
View Full Code Here

    if (this.analyst == null) {
      throw new EncogError(
          "Can't normalize yet, file has not been analyzed.");
    }
   
    MLDataSet result = new BasicMLDataSet();
   
    int inputCount = this.analyst.determineInputCount();
    int outputCount = this.analyst.determineOutputCount();
    int totalCount = inputCount+outputCount;
   
    boolean headers = this.analyst.getScript().getProperties()
        .getPropertyBoolean(ScriptProperties.SETUP_CONFIG_INPUT_HEADERS);
   
    final CSVFormat format = this.analyst.getScript().determineFormat();

    CSVHeaders analystHeaders = new CSVHeaders(file, headers,
        format);
   
    ReadCSV csv = new ReadCSV(file.toString(), headers, format);
   
    for (final AnalystField field : analyst.getScript().getNormalize()
        .getNormalizedFields()) {
      field.init();
    }

    TimeSeriesUtil series = new TimeSeriesUtil(analyst,true,
        analystHeaders.getHeaders());
   

    try {
      // write file contents
      while (csv.next()) {

        double[] output = AnalystNormalizeCSV.extractFields(
            this.analyst, analystHeaders, csv, totalCount,
            false);

        if (series.getTotalDepth() > 1) {
          output = series.process(output);
        }

        MLDataPair pair = BasicMLDataPair.createPair(inputCount,outputCount);
        for(int i=0;i<inputCount;i++) {
          pair.getInput().setData(i, output[i]);
        }
        for(int i=0;i<outputCount;i++) {
          pair.getIdeal().setData(i, output[i+inputCount]);
        }
        result.add(pair);
      }
      return result;
    } finally {
      if (csv != null) {
        try {
View Full Code Here

TOP

Related Classes of org.encog.ml.data.MLDataSet

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.