public class LearningCurveExtrapolator<I extends IInstance>
extends java.lang.Object
implements ai.libs.jaicore.basic.ILoggingCustomizable
| Modifier and Type | Field and Description |
|---|---|
protected IDataset<I> |
dataset |
protected LearningCurveExtrapolationMethod |
extrapolationMethod |
protected weka.classifiers.Classifier |
learner |
protected java.util.Random |
random |
protected ASamplingAlgorithm<I> |
samplingAlgorithm |
protected ISamplingAlgorithmFactory<I,? extends ASamplingAlgorithm<I>> |
samplingAlgorithmFactory |
protected IDataset<I> |
test |
protected IDataset<I> |
train |
| Constructor and Description |
|---|
LearningCurveExtrapolator(LearningCurveExtrapolationMethod extrapolationMethod,
weka.classifiers.Classifier learner,
IDataset<I> dataset,
double trainsplit,
int[] anchorPoints,
ISamplingAlgorithmFactory<I,? extends ASamplingAlgorithm<I>> samplingAlgorithmFactory,
long seed)
Create a learning curve extrapolator with a subsampling factory.
|
| Modifier and Type | Method and Description |
|---|---|
LearningCurve |
extrapolateLearningCurve()
Measure the learner accuracy at the given anchorpoints and extrapolate a
learning curve based the results.
|
int[] |
getAnchorPoints() |
IDataset<I> |
getDataset() |
LearningCurveExtrapolationMethod |
getExtrapolationMethod() |
weka.classifiers.Classifier |
getLearner() |
java.lang.String |
getLoggerName() |
int[] |
getTrainingTimes() |
double[] |
getyValues() |
void |
setLoggerName(java.lang.String name) |
protected weka.classifiers.Classifier learner
protected ISamplingAlgorithmFactory<I extends IInstance,? extends ASamplingAlgorithm<I extends IInstance>> samplingAlgorithmFactory
protected ASamplingAlgorithm<I extends IInstance> samplingAlgorithm
protected java.util.Random random
protected LearningCurveExtrapolationMethod extrapolationMethod
public LearningCurveExtrapolator(LearningCurveExtrapolationMethod extrapolationMethod, weka.classifiers.Classifier learner, IDataset<I> dataset, double trainsplit, int[] anchorPoints, ISamplingAlgorithmFactory<I,? extends ASamplingAlgorithm<I>> samplingAlgorithmFactory, long seed)
extrapolationMethod - Method for extrapolating a learning curve from anchorpoints.learner - Learning model to predict the learning curve of.dataset - Dataset to measure evaluate the learner on.trainsplit - Portion of the dataset, which shall be used to sample from for
training.samplingAlgorithmFactory - Subsampling algorithm factory to create a configured subsampler
with.seed - Random seed.public LearningCurve extrapolateLearningCurve() throws InvalidAnchorPointsException, ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException, java.lang.InterruptedException
anchorPoints - Sample sizes as anchorpoints, where the true accuracy shall be
measured.InvalidAnchorPointsException - The anchorpoints (amount, values, ...) are not suitable for the
given learning curve extrapolation method.ai.libs.jaicore.basic.algorithm.exceptions.AlgorithmException - An error occured during the creation of the specified
anchorpoints.java.lang.InterruptedExceptionpublic weka.classifiers.Classifier getLearner()
public LearningCurveExtrapolationMethod getExtrapolationMethod()
public int[] getAnchorPoints()
public double[] getyValues()
public int[] getTrainingTimes()
public java.lang.String getLoggerName()
getLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizablepublic void setLoggerName(java.lang.String name)
setLoggerName in interface ai.libs.jaicore.basic.ILoggingCustomizable