public class WekaVFATrainer extends java.lang.Object implements SupervisedVFA
Classifier
objects (specified with the WekaVFATrainer.WekaClassifierGenerator
interface and a StateToFeatureVectorGenerator
to turn BURLAP State
objects into
feature vectors usable by Weka.
getKNNTrainer(burlap.behavior.singleagent.vfa.StateToFeatureVectorGenerator, int)
for construction of the Weka instance-based regression algorithm IBk
,
since instance-based methods have convergence guarantees for fitted value iteration.Modifier and Type | Class and Description |
---|---|
static interface |
WekaVFATrainer.WekaClassifierGenerator
An interface for generating Weka
Classifier objects to use for training. |
static class |
WekaVFATrainer.WekaVFA
A class for predicting state values by using a trained Weka
Classifier . |
SupervisedVFA.SupervisedVFAInstance
Modifier and Type | Field and Description |
---|---|
protected WekaVFATrainer.WekaClassifierGenerator |
baseClassifier
The generator of the Weka
Classifier to use for training. |
protected StateToFeatureVectorGenerator |
fvGen
The
StateToFeatureVectorGenerator used to convert BURLAP State objects to feature vectors. |
Constructor and Description |
---|
WekaVFATrainer(WekaVFATrainer.WekaClassifierGenerator baseClassifier,
StateToFeatureVectorGenerator fvGen)
Initializes.
|
Modifier and Type | Method and Description |
---|---|
static WekaVFATrainer |
getKNNTrainer(StateToFeatureVectorGenerator fvGen,
int k)
Creates a standard supervised VFA trainer that uses Weka's
IBk instance-based algorithm with
a KD-tree and 1-distance similarity measure. |
ValueFunction |
train(java.util.List<SupervisedVFA.SupervisedVFAInstance> trainingData)
Uses supervised learning (regression) to learn a value function approximation of the input training data.
|
protected WekaVFATrainer.WekaClassifierGenerator baseClassifier
Classifier
to use for training.protected StateToFeatureVectorGenerator fvGen
StateToFeatureVectorGenerator
used to convert BURLAP State
objects to feature vectors.public WekaVFATrainer(WekaVFATrainer.WekaClassifierGenerator baseClassifier, StateToFeatureVectorGenerator fvGen)
baseClassifier
- The generator of the Weka Classifier
to use for training.fvGen
- The StateToFeatureVectorGenerator
used to convert BURLAP State
objects to feature vectors.public ValueFunction train(java.util.List<SupervisedVFA.SupervisedVFAInstance> trainingData)
SupervisedVFA
train
in interface SupervisedVFA
trainingData
- the training data to fit.ValueFunction
that fits the training data.public static WekaVFATrainer getKNNTrainer(StateToFeatureVectorGenerator fvGen, int k)
IBk
instance-based algorithm with
a KD-tree and 1-distance similarity measure.fvGen
- the StateToFeatureVectorGenerator
for converting the BURLAP state into a feature vector usable by Weka.k
- the number of nearest neighbors uses in the regression algorithm.WekaVFATrainer
for Weka's IBk
algorithm.