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)
SupervisedVFAtrain in interface SupervisedVFAtrainingData - 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.