Class MLPlanWekaClassifier

  • All Implemented Interfaces:
    ai.libs.jaicore.ml.weka.classification.learner.IWekaClassifier, java.io.Serializable, org.api4.java.ai.ml.classification.IClassifier, org.api4.java.ai.ml.core.learner.IFittable<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>, org.api4.java.ai.ml.core.learner.IFittablePredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>, org.api4.java.ai.ml.core.learner.ILearnerConfigHandler, org.api4.java.ai.ml.core.learner.IPredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>, org.api4.java.ai.ml.core.learner.ISupervisedLearner<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>, org.api4.java.common.control.ILoggingCustomizable, org.api4.java.common.event.IEventEmitter, weka.classifiers.Classifier, weka.core.CapabilitiesHandler, weka.core.OptionHandler
    Direct Known Subclasses:
    WekaMLPlanWekaClassifier

    public class MLPlanWekaClassifier
    extends java.lang.Object
    implements weka.classifiers.Classifier, weka.core.CapabilitiesHandler, weka.core.OptionHandler, org.api4.java.common.control.ILoggingCustomizable, ai.libs.jaicore.ml.weka.classification.learner.IWekaClassifier, org.api4.java.common.event.IEventEmitter
    A WEKA classifier wrapping the functionality of ML-Plan where the constructed object is a WEKA classifier. It implements the algorithm interface with itself (with modified state) as an output
    See Also:
    Serialized Form
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void buildClassifier​(weka.core.Instances data)  
      double classifyInstance​(weka.core.Instance instance)  
      double[] classifyInstances​(weka.core.Instances instances)  
      double[] distributionForInstance​(weka.core.Instance instance)  
      void fit​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain)  
      org.api4.java.ai.ml.core.evaluation.IPredictionBatch fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain, org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTest)  
      org.api4.java.ai.ml.core.evaluation.IPrediction fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain, org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance xTest)  
      org.api4.java.ai.ml.core.evaluation.IPredictionBatch fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain, org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance[] xTest)  
      weka.core.Capabilities getCapabilities()  
      weka.classifiers.Classifier getClassifier()  
      java.util.Collection<ai.libs.jaicore.components.model.Component> getComponents()  
      java.util.Map<java.lang.String,​java.lang.Object> getConfig()  
      double getInternalValidationErrorOfSelectedClassifier()  
      java.lang.String getLoggerName()  
      ai.libs.mlplan.multiclass.MLPlanClassifierConfig getMLPlanConfig()  
      java.lang.String[] getOptions()  
      weka.classifiers.Classifier getSelectedWekaClassifier()  
      java.util.Enumeration<weka.core.Option> listOptions()  
      org.api4.java.ai.ml.core.evaluation.IPredictionBatch predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTest)  
      org.api4.java.ai.ml.core.evaluation.IPrediction predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance xTest)  
      org.api4.java.ai.ml.core.evaluation.IPredictionBatch predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance[] dTest)  
      void registerListener​(java.lang.Object listener)  
      void setConfig​(java.util.Map<java.lang.String,​java.lang.Object> config)  
      void setLoggerName​(java.lang.String name)  
      void setOptions​(java.lang.String[] options)  
      void setTimeout​(org.api4.java.algorithm.Timeout timeout)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

    • Method Detail

      • buildClassifier

        public void buildClassifier​(weka.core.Instances data)
                             throws java.lang.Exception
        Specified by:
        buildClassifier in interface weka.classifiers.Classifier
        Throws:
        java.lang.Exception
      • classifyInstances

        public double[] classifyInstances​(weka.core.Instances instances)
                                   throws java.lang.Exception
        Throws:
        java.lang.Exception
      • classifyInstance

        public double classifyInstance​(weka.core.Instance instance)
                                throws java.lang.Exception
        Specified by:
        classifyInstance in interface weka.classifiers.Classifier
        Throws:
        java.lang.Exception
      • distributionForInstance

        public double[] distributionForInstance​(weka.core.Instance instance)
                                         throws java.lang.Exception
        Specified by:
        distributionForInstance in interface weka.classifiers.Classifier
        Throws:
        java.lang.Exception
      • getCapabilities

        public weka.core.Capabilities getCapabilities()
        Specified by:
        getCapabilities in interface weka.core.CapabilitiesHandler
        Specified by:
        getCapabilities in interface weka.classifiers.Classifier
      • listOptions

        public java.util.Enumeration<weka.core.Option> listOptions()
        Specified by:
        listOptions in interface weka.core.OptionHandler
      • setOptions

        public void setOptions​(java.lang.String[] options)
                        throws java.lang.Exception
        Specified by:
        setOptions in interface weka.core.OptionHandler
        Throws:
        java.lang.Exception
      • getOptions

        public java.lang.String[] getOptions()
        Specified by:
        getOptions in interface weka.core.OptionHandler
      • setTimeout

        public void setTimeout​(org.api4.java.algorithm.Timeout timeout)
      • getMLPlanConfig

        public ai.libs.mlplan.multiclass.MLPlanClassifierConfig getMLPlanConfig()
      • getComponents

        public java.util.Collection<ai.libs.jaicore.components.model.Component> getComponents()
                                                                                       throws java.io.IOException
        Throws:
        java.io.IOException
      • getSelectedWekaClassifier

        public weka.classifiers.Classifier getSelectedWekaClassifier()
        Returns:
        An object of the classifier ML-Plan has selected during the build.
      • getInternalValidationErrorOfSelectedClassifier

        public double getInternalValidationErrorOfSelectedClassifier()
        Returns:
        The internal validation error (during selection phase) of the selected classifier.
      • setLoggerName

        public void setLoggerName​(java.lang.String name)
        Specified by:
        setLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
      • getLoggerName

        public java.lang.String getLoggerName()
        Specified by:
        getLoggerName in interface org.api4.java.common.control.ILoggingCustomizable
      • registerListener

        public void registerListener​(java.lang.Object listener)
        Specified by:
        registerListener in interface org.api4.java.common.event.IEventEmitter
      • fitAndPredict

        public org.api4.java.ai.ml.core.evaluation.IPrediction fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain,
                                                                             org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance xTest)
                                                                      throws org.api4.java.ai.ml.core.exception.TrainingException,
                                                                             org.api4.java.ai.ml.core.exception.PredictionException,
                                                                             java.lang.InterruptedException
        Specified by:
        fitAndPredict in interface org.api4.java.ai.ml.core.learner.IFittablePredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.TrainingException
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • fitAndPredict

        public org.api4.java.ai.ml.core.evaluation.IPredictionBatch fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain,
                                                                                  org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance[] xTest)
                                                                           throws org.api4.java.ai.ml.core.exception.TrainingException,
                                                                                  org.api4.java.ai.ml.core.exception.PredictionException,
                                                                                  java.lang.InterruptedException
        Specified by:
        fitAndPredict in interface org.api4.java.ai.ml.core.learner.IFittablePredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.TrainingException
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • fitAndPredict

        public org.api4.java.ai.ml.core.evaluation.IPredictionBatch fitAndPredict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain,
                                                                                  org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTest)
                                                                           throws org.api4.java.ai.ml.core.exception.TrainingException,
                                                                                  org.api4.java.ai.ml.core.exception.PredictionException,
                                                                                  java.lang.InterruptedException
        Specified by:
        fitAndPredict in interface org.api4.java.ai.ml.core.learner.IFittablePredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.TrainingException
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • fit

        public void fit​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTrain)
                 throws org.api4.java.ai.ml.core.exception.TrainingException,
                        java.lang.InterruptedException
        Specified by:
        fit in interface org.api4.java.ai.ml.core.learner.IFittable<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.TrainingException
        java.lang.InterruptedException
      • predict

        public org.api4.java.ai.ml.core.evaluation.IPrediction predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance xTest)
                                                                throws org.api4.java.ai.ml.core.exception.PredictionException,
                                                                       java.lang.InterruptedException
        Specified by:
        predict in interface org.api4.java.ai.ml.core.learner.IPredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • predict

        public org.api4.java.ai.ml.core.evaluation.IPredictionBatch predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance> dTest)
                                                                     throws org.api4.java.ai.ml.core.exception.PredictionException,
                                                                            java.lang.InterruptedException
        Specified by:
        predict in interface org.api4.java.ai.ml.core.learner.IPredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • predict

        public org.api4.java.ai.ml.core.evaluation.IPredictionBatch predict​(org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance[] dTest)
                                                                     throws org.api4.java.ai.ml.core.exception.PredictionException,
                                                                            java.lang.InterruptedException
        Specified by:
        predict in interface org.api4.java.ai.ml.core.learner.IPredictor<org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance,​org.api4.java.ai.ml.core.dataset.supervised.ILabeledDataset<? extends org.api4.java.ai.ml.core.dataset.supervised.ILabeledInstance>>
        Throws:
        org.api4.java.ai.ml.core.exception.PredictionException
        java.lang.InterruptedException
      • setConfig

        public void setConfig​(java.util.Map<java.lang.String,​java.lang.Object> config)
                       throws org.api4.java.ai.ml.core.exception.LearnerConfigurationFailedException,
                              java.lang.InterruptedException
        Specified by:
        setConfig in interface org.api4.java.ai.ml.core.learner.ILearnerConfigHandler
        Throws:
        org.api4.java.ai.ml.core.exception.LearnerConfigurationFailedException
        java.lang.InterruptedException
      • getConfig

        public java.util.Map<java.lang.String,​java.lang.Object> getConfig()
        Specified by:
        getConfig in interface org.api4.java.ai.ml.core.learner.ILearnerConfigHandler
      • getClassifier

        public weka.classifiers.Classifier getClassifier()
        Specified by:
        getClassifier in interface ai.libs.jaicore.ml.weka.classification.learner.IWekaClassifier