Class ClassifierPanel

    • Field Detail

      • MODEL_FILE_EXTENSION

        public static String MODEL_FILE_EXTENSION
        The filename extension that should be used for model files.
      • PMML_FILE_EXTENSION

        public static String PMML_FILE_EXTENSION
        The filename extension that should be used for PMML xml files.
    • Constructor Detail

      • ClassifierPanel

        public ClassifierPanel()
        Creates the classifier panel.
    • Method Detail

      • getInstances

        public Instances getInstances()
        Get the current set of instances
        Returns:
        the current set of instances
      • setupEval

        public static Evaluation setupEval​(Evaluation eval,
                                           Classifier classifier,
                                           Instances inst,
                                           CostMatrix costMatrix,
                                           ClassifierErrorsPlotInstances plotInstances,
                                           AbstractOutput classificationOutput,
                                           boolean onlySetPriors)
                                    throws Exception
        Configures an evaluation object with respect to a classifier, cost matrix, output and plotting. Predictions are kept for calculating AUROC, etc.
        Parameters:
        eval - the Evaluation object to configure
        classifier - the Classifier being used
        inst - the Instances involved
        costMatrix - a cost matrix (if any)
        plotInstances - a ClassifierErrorsPlotInstances for visualization of errors (can be null)
        classificationOutput - an output object for printing predictions (can be null)
        onlySetPriors - true to only set priors
        Returns:
        the configured Evaluation object
        Throws:
        Exception - if a problem occurs
      • setupEval

        public static Evaluation setupEval​(Evaluation eval,
                                           Classifier classifier,
                                           Instances inst,
                                           CostMatrix costMatrix,
                                           ClassifierErrorsPlotInstances plotInstances,
                                           AbstractOutput classificationOutput,
                                           boolean onlySetPriors,
                                           boolean collectPredictions)
                                    throws Exception
        Configures an evaluation object with respect to a classifier, cost matrix, output and plotting.
        Parameters:
        eval - the Evaluation object to configure
        classifier - the Classifier being used
        inst - the Instances involved
        costMatrix - a cost matrix (if any)
        plotInstances - a ClassifierErrorsPlotInstances for visualization of errors (can be null)
        classificationOutput - an output object for printing predictions (can be null)
        onlySetPriors - true to only set priors
        collectPredictions - whether to collect predictions for calculating ROC, etc.
        Returns:
        the configured Evaluation object
        Throws:
        Exception - if a problem occurs
      • saveClassifier

        public void saveClassifier​(String name,
                                   Classifier classifier,
                                   Instances trainHeader)
        Saves the currently selected classifier.
        Parameters:
        name - the name of the run
        classifier - the classifier to save
        trainHeader - the header of the training instances
      • setExplorer

        public void setExplorer​(Explorer parent)
        Sets the Explorer to use as parent frame (used for sending notifications about changes in the data).
        Specified by:
        setExplorer in interface Explorer.ExplorerPanel
        Parameters:
        parent - the parent frame
      • okToBeActive

        public boolean okToBeActive()
        Description copied from class: AbstractPerspective
        Returns true if the perspective is usable at this time. This is a no-opp implementation that always returns true. Subclasses should override if there are specific conditions that need to be met (e.g. can't operate if there are no instances set).
        Specified by:
        okToBeActive in interface Perspective
        Overrides:
        okToBeActive in class AbstractPerspective
        Returns:
        true if this perspective is usable at this time
      • setActive

        public void setActive​(boolean active)
        Description copied from class: AbstractPerspective
        Set active status of this perspective. True indicates that this perspective is the visible active perspective in the application
        Specified by:
        setActive in interface Perspective
        Overrides:
        setActive in class AbstractPerspective
        Parameters:
        active - true if this perspective is the active one
      • isSelectedCV

        public boolean isSelectedCV()
        Gets whether cross-validation has been selected by the user
        Returns:
        true if cross-validation has been selected
      • isSelectedTestOnTrain

        public boolean isSelectedTestOnTrain()
        Gets whether test on train has been selected by the user
        Returns:
        true if testing is to be done on the training set
      • isSelectedPercentageSplit

        public boolean isSelectedPercentageSplit()
        Gets whether a percentage split has been selected by the user
        Returns:
        true if a percentage split has been selected
      • isSelectedSeparateTestSet

        public boolean isSelectedSeparateTestSet()
        Gets whether a separate test set has been selected by the user
        Returns:
        true if a separate test set has been selected by the user
      • isSelectedEvalWithRespectToCosts

        public boolean isSelectedEvalWithRespectToCosts()
        Gets whether evaluation with respect to costs has been selected by the user
        Returns:
        true if eval with respect to costs
      • isSelectedOutputModel

        public boolean isSelectedOutputModel()
        Gets whether the user has opted to output the model
        Returns:
        true if the model is to be output
      • isSelectedOutputModelsForTrainingSplits

        public boolean isSelectedOutputModelsForTrainingSplits()
        Gets whether the user has opted to output the models for the training splits
        Returns:
        true if the models for the training splits are to be output
      • isSelectedOutputConfusion

        public boolean isSelectedOutputConfusion()
        Gets whether the user has opted to output the confusion matrix
        Returns:
        true if the confusion matrix is to be output
      • isSelectedOutputPerClassStats

        public boolean isSelectedOutputPerClassStats()
        Gets whether the user has opted to output per-class stats
        Returns:
        true if per-class stats are to be output
      • isSelectedOutputEntropy

        public boolean isSelectedOutputEntropy()
        Gets whether the user has opted to output entropy metrics
        Returns:
        true if entropy metrics are to be output
      • isSelectedStoreTestDataAndPredictions

        public boolean isSelectedStoreTestDataAndPredictions()
        Gets whether the user has opted to store the test data and the predictions in the history
        Returns:
        true if test data and predictions are to be stored
      • isSelectedCollectPredictionsForEvaluation

        public boolean isSelectedCollectPredictionsForEvaluation()
        Gets whether the user has opted to collect the predictions for computing evaluation statistics
        Returns:
        true if predictions are to be stored
      • isSelectedOutputSourceCode

        public boolean isSelectedOutputSourceCode()
        Gets whether the user has opted to output source code
        Returns:
        true if source code is to be output
      • isSelectedPreserveOrder

        public boolean isSelectedPreserveOrder()
        Gets whether the user has opted to preserve order of instances in a percentage split
        Returns:
        whether the user has opted to preserve the instance order
      • getSourceCodeClassName

        public String getSourceCodeClassName()
        Gets the name of the source code class to be generated
        Returns:
        the name of the source code class to be generated
      • getSelectedClassIndex

        public int getSelectedClassIndex()
        Get the selected (0-based) class index
        Returns:
        the selected class index
      • getNumCVFolds

        public int getNumCVFolds()
        Get the number of cross-validation folds to use
        Returns:
        the number of cross-validation folds to use
      • getPercentageSplit

        public double getPercentageSplit()
        Get the percentage to use for percentage split evaluation
        Returns:
        the percentage to use in a percent split evaluation
      • getClassifier

        public Classifier getClassifier()
        Get the currently configured classifier from the GenericObjectEditor
        Returns:
        the currently configured classifier
      • getCostMatrix

        public CostMatrix getCostMatrix()
        Get the cost matrix (if any)
        Returns:
        the cost matrix
      • getClassificationOutputFormatter

        public Object getClassificationOutputFormatter()
        Get the formatter for classifcation output
        Returns:
        the formatter for classification output
      • getResultHistory

        public ResultHistoryPanel getResultHistory()
        Get the result history panel
        Returns:
        the result history panel
      • getSeparateTestSetLoader

        public Loader getSeparateTestSetLoader()
        Get the loader object used for loading a separate test set
        Returns:
        the loader used for loading a separate test set
      • getSeparateTestSetClassIndex

        public int getSeparateTestSetClassIndex()
        Get the class index specified for the separate test set
        Returns:
        the class index specified for the separate test set
      • getRandomSeed

        public int getRandomSeed()
        Get the random seed
        Returns:
        the random seed
      • getLog

        public Logger getLog()
        Get the log
        Returns:
        the log object
      • main

        public static void main​(String[] args)
        Tests out the classifier panel from the command line.
        Parameters:
        args - may optionally contain the name of a dataset to load.