org.encog.ml.train

## Interface MLTrain

- All Known Subinterfaces:
    Train
  All Known Implementing Classes:
    Backpropagation, BaseBaumWelch, BasicTraining, BasicTrainSOM, CrossTraining, CrossValidationKFold, FreeformBackPropagation, FreeformPropagationTraining, FreeformResilientPropagation, LevenbergMarquardtTraining, ManhattanPropagation, MLMethodGeneticAlgorithm, MLMethodGeneticAlgorithm.MLMethodGeneticAlgorithmHelper, NelderMeadTraining, NeuralPSO, NeuralSimulatedAnnealing, Propagation, QuickPropagation, ResilientPropagation, ScaledConjugateGradient, SOMClusterCopyTraining, SVDTraining, SVMSearchTrain, SVMTrain, TrainAdaline, TrainBasicPNN, TrainBaumWelch, TrainBaumWelchScaled, TrainBayesian, TrainEA, TrainGaussian, TrainInstar, TrainKMeans, TrainLinearRegression, TrainOutstar

      public interface MLTrain

  Defines a training method for a machine learning method. Most MLMethod objects need to be trained in some way before they are ready for use.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addStrategy(Strategy strategy)` Training strategies can be added to improve the training results.
    `boolean` | `canContinue()`
    `void` | `finishTraining()` Should be called once training is complete and no more iterations are needed.
    `double` | `getError()`
    `TrainingImplementationType` | `getImplementationType()`
    `int` | `getIteration()`
    `MLMethod` | `getMethod()` Get the current best machine learning method from the training.
    `List<Strategy>` | `getStrategies()`
    `MLDataSet` | `getTraining()`
    `boolean` | `isTrainingDone()`
    `void` | `iteration()` Perform one iteration of training.
    `void` | `iteration(int count)` Perform a number of training iterations.
    `TrainingContinuation` | `pause()` Pause the training to continue later.
    `void` | `resume(TrainingContinuation state)` Resume training.
    `void` | `setError(double error)`
    `void` | `setIteration(int iteration)` Set the current training iteration.

- - ### Method Detail

    - #### getImplementationType

          TrainingImplementationType getImplementationType()

      Returns:
        The training implementation type.

    - #### isTrainingDone

          boolean isTrainingDone()

      Returns:
        True if training can progress no further.

    - #### getTraining

          MLDataSet getTraining()

      Returns:
        The training data to use.

    - #### iteration

          void iteration()

      Perform one iteration of training.

    - #### getError

          double getError()

      Returns:
        Returns the training error. This value is calculated as the training data is evaluated by the iteration function. This has two important ramifications. First, the value returned by getError() is meaningless prior to a call to iteration. Secondly, the error is calculated BEFORE training is applied by the call to iteration. The timing of the error calculation is done for performance reasons.

    - #### finishTraining

          void finishTraining()

      Should be called once training is complete and no more iterations are needed. Calling iteration again will simply begin the training again, and require finishTraining to be called once the new training session is complete. It is particularly important to call finishTraining for multithreaded training techniques.

    - #### iteration

          void iteration(int count)

      Perform a number of training iterations.
      Parameters:
        `count` - The number of iterations to perform.

    - #### getIteration

          int getIteration()

      Returns:
        The current training iteration.

    - #### canContinue

          boolean canContinue()

      Returns:
        True if the training can be paused, and later continued.

    - #### pause

          TrainingContinuation pause()

      Pause the training to continue later.
      Returns:
        A training continuation object.

    - #### resume

          void resume(TrainingContinuation state)

      Resume training.
      Parameters:
        `state` - The training continuation object to use to continue.

    - #### addStrategy

          void addStrategy(Strategy strategy)

      Training strategies can be added to improve the training results. There are a number to choose from, and several can be used at once.
      Parameters:
        `strategy` - The strategy to add.

    - #### getMethod

          MLMethod getMethod()

      Get the current best machine learning method from the training.
      Returns:
        The best machine learningm method.

    - #### getStrategies

          List<Strategy> getStrategies()

      Returns:
        The strategies to use.

    - #### setError

          void setError(double error)

      Parameters:
        `error` - Set the current error rate. This is usually used by training strategies.

    - #### setIteration

          void setIteration(int iteration)

      Set the current training iteration.
      Parameters:
        `iteration` - Iteration.

Copyright © 2014. All Rights Reserved.