public abstract class AbstractMLPlanBuilder extends java.lang.Object implements IMLPlanBuilder, ai.libs.jaicore.basic.ILoggingCustomizable
| Modifier | Constructor and Description |
|---|---|
protected |
AbstractMLPlanBuilder() |
| Modifier and Type | Method and Description |
|---|---|
MLPlan |
build()
Builds an ML-Plan object with the dataset provided earlier to this builder.
|
MLPlan |
build(weka.core.Instances dataset)
Builds an ML-Plan object for the given dataset as input.
|
static MLPlanMekaBuilder |
forMeka() |
static MLPlanSKLearnBuilder |
forSKLearn() |
static MLPlanWekaBuilder |
forWeka() |
MLPlanClassifierConfig |
getAlgorithmConfig() |
ai.libs.jaicore.basic.TimeOut |
getCandidateEvaluationTimeOut() |
PipelineEvaluator |
getClassifierEvaluationInSearchPhase(weka.core.Instances data,
int seed,
int fullDatasetSize) |
PipelineEvaluator |
getClassifierEvaluationInSelectionPhase(weka.core.Instances data,
int seed) |
IClassifierFactory |
getClassifierFactory() |
java.util.Collection<ai.libs.hasco.model.Component> |
getComponents() |
PerformanceDBAdapter |
getDBAdapter() |
ai.libs.hasco.core.HASCOFactory |
getHASCOFactory() |
java.lang.String |
getLoggerName() |
ai.libs.jaicore.basic.TimeOut |
getNodeEvaluationTimeOut() |
java.lang.String |
getPerformanceMeasureName() |
java.lang.String |
getRequestedInterface() |
protected ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory |
getSearchEvaluatorFactory() |
ai.libs.jaicore.ml.weka.dataset.splitter.IDatasetSplitter |
getSearchSelectionDatasetSplitter() |
java.io.File |
getSearchSpaceConfigFile() |
protected ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory |
getSelectionEvaluatorFactory() |
ai.libs.jaicore.basic.TimeOut |
getTimeOut() |
boolean |
getUseCache() |
void |
prepareNodeEvaluatorInFactoryWithData(weka.core.Instances data) |
void |
setLoggerName(java.lang.String name) |
void |
setPerformanceMeasureName(java.lang.String name)
Sets the name of the performance measure that is used.
|
AbstractMLPlanBuilder |
withAlgorithmConfig(MLPlanClassifierConfig config)
Loads the MLPlanClassifierConfig with default values and replaces all properties according to the properties defined in the given config file.
|
AbstractMLPlanBuilder |
withAlgorithmConfigFile(java.io.File algorithmConfigFile)
Loads the MLPlanClassifierConfig with default values and replaces all properties according to the properties defined in the given config file.
|
AbstractMLPlanBuilder |
withCandidateEvaluationTimeOut(ai.libs.jaicore.basic.TimeOut timeout) |
AbstractMLPlanBuilder |
withClassifierFactory(IClassifierFactory classifierFactory)
Set the classifier factory that translates
CompositionInstance objects to classifiers that can be evaluated. |
AbstractMLPlanBuilder |
withDataset(weka.core.Instances dataset)
Set the data for which ML-Plan is supposed to find the best pipeline.
|
AbstractMLPlanBuilder |
withDatasetSplitterForSearchSelectionSplit(ai.libs.jaicore.ml.weka.dataset.splitter.IDatasetSplitter datasetSplitter)
Set the dataset splitter that is used for generating the holdout data portion that is put aside during search.
|
AbstractMLPlanBuilder |
withNodeEvaluationTimeOut(ai.libs.jaicore.basic.TimeOut timeout) |
AbstractMLPlanBuilder |
withNumCpus(int numCpus)
Sets the number of cpus that may be used by ML-Plan.
|
AbstractMLPlanBuilder |
withPreferredComponentsFile(java.io.File preferredComponentsFile)
Creates a preferred node evaluator that can be used to prefer components over other components.
|
AbstractMLPlanBuilder |
withPreferredNodeEvaluator(jaicore.search.algorithms.standard.bestfirst.nodeevaluation.INodeEvaluator<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,java.lang.Double> preferredNodeEvaluator)
This ADDs a new preferred node evaluator; requires that the search will be a best-first search.
|
AbstractMLPlanBuilder |
withRandomCompletionBasedBestFirstSearch() |
AbstractMLPlanBuilder |
withRequestedInterface(java.lang.String requestedInterface) |
AbstractMLPlanBuilder |
withSearchFactory(jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory searchFactory,
ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction transformer) |
void |
withSearchPhaseEvaluatorFactory(ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory evaluatorFactory)
Sets the evaluator factory for the search phase.
|
AbstractMLPlanBuilder |
withSearchSpaceConfigFile(java.io.File searchSpaceConfig)
Specify the search space in which ML-Plan is required to work.
|
AbstractMLPlanBuilder |
withSelectionPhaseEvaluatorFactory(ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.MonteCarloCrossValidationEvaluatorFactory evaluatorFactory)
Sets the evaluator factory for the selection phase.
|
AbstractMLPlanBuilder |
withTimeOut(ai.libs.jaicore.basic.TimeOut timeout) |
public static MLPlanSKLearnBuilder forSKLearn() throws java.io.IOException
java.io.IOExceptionpublic static MLPlanWekaBuilder forWeka() throws java.io.IOException
java.io.IOExceptionpublic static MLPlanMekaBuilder forMeka() throws java.io.IOException
java.io.IOExceptionpublic AbstractMLPlanBuilder withPreferredNodeEvaluator(jaicore.search.algorithms.standard.bestfirst.nodeevaluation.INodeEvaluator<ai.libs.jaicore.planning.hierarchical.algorithms.forwarddecomposition.graphgenerators.tfd.TFDNode,java.lang.Double> preferredNodeEvaluator)
preferredNodeEvaluator - public AbstractMLPlanBuilder withSearchFactory(jaicore.search.core.interfaces.IOptimalPathInORGraphSearchFactory searchFactory, ai.libs.jaicore.basic.algorithm.reduction.AlgorithmicProblemReduction transformer)
public AbstractMLPlanBuilder withRandomCompletionBasedBestFirstSearch()
public java.util.Collection<ai.libs.hasco.model.Component> getComponents()
throws java.io.IOException
java.io.IOExceptionpublic AbstractMLPlanBuilder withAlgorithmConfigFile(java.io.File algorithmConfigFile)
algorithmConfigFile - The file specifying the property values to replace the default configuration.java.io.IOException - An IOException is thrown if there are issues reading the config file.public AbstractMLPlanBuilder withAlgorithmConfig(MLPlanClassifierConfig config)
config - The algorithm configuration.java.io.IOException - An IOException is thrown if there are issues reading the config file.public AbstractMLPlanBuilder withPreferredComponentsFile(java.io.File preferredComponentsFile) throws java.io.IOException
preferredComponentsFile - The file containing a priority list of component names.java.io.IOException - Thrown if a problem occurs while trying to read the file containing the priority list.public void setPerformanceMeasureName(java.lang.String name)
name - The name of the performance measure.public AbstractMLPlanBuilder withDataset(weka.core.Instances dataset)
dataset - The dataset for which ML-Plan is to be run.public AbstractMLPlanBuilder withSearchSpaceConfigFile(java.io.File searchSpaceConfig) throws java.io.IOException
searchSpaceConfig - The file of the search space configuration.java.io.IOException - Thrown if the given file does not exist.public AbstractMLPlanBuilder withClassifierFactory(IClassifierFactory classifierFactory)
CompositionInstance objects to classifiers that can be evaluated.classifierFactory - The classifier factory to be used to translate CompositionInstance objects to classifiers.public AbstractMLPlanBuilder withDatasetSplitterForSearchSelectionSplit(ai.libs.jaicore.ml.weka.dataset.splitter.IDatasetSplitter datasetSplitter)
datasetSplitter - The dataset splitter to be used.public AbstractMLPlanBuilder withRequestedInterface(java.lang.String requestedInterface)
public AbstractMLPlanBuilder withTimeOut(ai.libs.jaicore.basic.TimeOut timeout)
timeout - The timeout for ML-Plan to search for the best classifier.public ai.libs.jaicore.basic.TimeOut getTimeOut()
public AbstractMLPlanBuilder withNodeEvaluationTimeOut(ai.libs.jaicore.basic.TimeOut timeout)
timeout - The timeout for a single candidate evaluation.public ai.libs.jaicore.basic.TimeOut getNodeEvaluationTimeOut()
public AbstractMLPlanBuilder withCandidateEvaluationTimeOut(ai.libs.jaicore.basic.TimeOut timeout)
timeout - The timeout for a single candidate evaluation.public ai.libs.jaicore.basic.TimeOut getCandidateEvaluationTimeOut()
public PipelineEvaluator getClassifierEvaluationInSearchPhase(weka.core.Instances data, int seed, int fullDatasetSize) throws ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.ClassifierEvaluatorConstructionFailedException
getClassifierEvaluationInSearchPhase in interface IMLPlanBuilderai.libs.jaicore.ml.evaluation.evaluators.weka.factory.ClassifierEvaluatorConstructionFailedExceptionpublic PipelineEvaluator getClassifierEvaluationInSelectionPhase(weka.core.Instances data, int seed) throws ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.ClassifierEvaluatorConstructionFailedException
getClassifierEvaluationInSelectionPhase in interface IMLPlanBuilderai.libs.jaicore.ml.evaluation.evaluators.weka.factory.ClassifierEvaluatorConstructionFailedExceptionpublic void withSearchPhaseEvaluatorFactory(ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory evaluatorFactory)
evaluatorFactory - The evaluator factory for the search phase.protected ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory getSearchEvaluatorFactory()
public AbstractMLPlanBuilder withSelectionPhaseEvaluatorFactory(ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.MonteCarloCrossValidationEvaluatorFactory evaluatorFactory)
evaluatorFactory - The evaluator factory for the selection phase.public AbstractMLPlanBuilder withNumCpus(int numCpus)
numCpus - The number of cpus to use.protected ai.libs.jaicore.ml.evaluation.evaluators.weka.factory.IClassifierEvaluatorFactory getSelectionEvaluatorFactory()
public java.lang.String getPerformanceMeasureName()
getPerformanceMeasureName in interface IMLPlanBuilderpublic ai.libs.hasco.core.HASCOFactory getHASCOFactory()
getHASCOFactory in interface IMLPlanBuilderpublic IClassifierFactory getClassifierFactory()
getClassifierFactory in interface IMLPlanBuilderpublic 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.ILoggingCustomizablepublic java.lang.String getRequestedInterface()
getRequestedInterface in interface IMLPlanBuilderpublic ai.libs.jaicore.ml.weka.dataset.splitter.IDatasetSplitter getSearchSelectionDatasetSplitter()
getSearchSelectionDatasetSplitter in interface IMLPlanBuilderpublic java.io.File getSearchSpaceConfigFile()
getSearchSpaceConfigFile in interface IMLPlanBuilderpublic MLPlanClassifierConfig getAlgorithmConfig()
getAlgorithmConfig in interface IMLPlanBuilderpublic boolean getUseCache()
getUseCache in interface IMLPlanBuilderpublic PerformanceDBAdapter getDBAdapter()
getDBAdapter in interface IMLPlanBuilderpublic void prepareNodeEvaluatorInFactoryWithData(weka.core.Instances data)
prepareNodeEvaluatorInFactoryWithData in interface IMLPlanBuilderpublic MLPlan build(weka.core.Instances dataset)
dataset - The dataset for which an ML-Plan object is to be built.public MLPlan build()