Class DecisionTreeBasedPanel

java.lang.Object
java.awt.Component
java.awt.Container
java.awt.Window
java.awt.Dialog
javax.swing.JDialog
unifeat.gui.ParameterPanel
unifeat.gui.featureSelection.embedded.decisionTreeBased.DecisionTreeBasedPanel
All Implemented Interfaces:
ActionListener, KeyListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

public class DecisionTreeBasedPanel extends ParameterPanel
This java class is used to create and show a panel for the parameter settings of the decision tree based method.
Author:
Sina Tabakhi
See Also:
  • Field Details

    • cb_treeType

      JComboBox cb_treeType
    • lbl_treeType

      JLabel lbl_treeType
    • treeType

      private TreeType treeType
    • C45_MORE_OPTION

      private static final String C45_MORE_OPTION
      See Also:
    • C45_PANEL_SIZE

      private static final Dimension C45_PANEL_SIZE
    • C45_OK_BUTTON_POSITION

      private static final Rectangle C45_OK_BUTTON_POSITION
    • C45_MORE_BUTTON_POSITION

      private static final Rectangle C45_MORE_BUTTON_POSITION
    • lbl_confidence

      private JLabel lbl_confidence
    • lbl_minNum

      private JLabel lbl_minNum
    • lbl_confidenceError

      private JLabel lbl_confidenceError
    • lbl_minNumError

      private JLabel lbl_minNumError
    • txt_confidence

      private JTextField txt_confidence
    • txt_minNum

      private JTextField txt_minNum
    • DEFAULT_CONFIDENCE

      private static final double DEFAULT_CONFIDENCE
      See Also:
    • DEFAULT_MIN_NUM

      private static final int DEFAULT_MIN_NUM
      See Also:
    • confidence

      private double confidence
    • minNum

      private int minNum
    • RANDOM_TREE_MORE_OPTION

      private static final String RANDOM_TREE_MORE_OPTION
      See Also:
    • RANDOM_TREE_PANEL_SIZE

      private static final Dimension RANDOM_TREE_PANEL_SIZE
    • RANDOM_TREE_OK_BUTTON_POSITION

      private static final Rectangle RANDOM_TREE_OK_BUTTON_POSITION
    • RANDOM_TREE_MORE_BUTTON_POSITION

      private static final Rectangle RANDOM_TREE_MORE_BUTTON_POSITION
    • lbl_randomTreeKValue

      private JLabel lbl_randomTreeKValue
    • lbl_randomTreeKValueError

      private JLabel lbl_randomTreeKValueError
    • lbl_randomTreeMaxDepth

      private JLabel lbl_randomTreeMaxDepth
    • lbl_randomTreeMaxDepthError

      private JLabel lbl_randomTreeMaxDepthError
    • lbl_randomTreeMinNum

      private JLabel lbl_randomTreeMinNum
    • lbl_randomTreeMinNumError

      private JLabel lbl_randomTreeMinNumError
    • lbl_randomTreeMinVarianceProp

      private JLabel lbl_randomTreeMinVarianceProp
    • lbl_randomTreeMinVariancePropError

      private JLabel lbl_randomTreeMinVariancePropError
    • txt_randomTreeKValue

      private JTextField txt_randomTreeKValue
    • txt_randomTreeMaxDepth

      private JTextField txt_randomTreeMaxDepth
    • txt_randomTreeMinNum

      private JTextField txt_randomTreeMinNum
    • txt_randomTreeMinVarianceProp

      private JTextField txt_randomTreeMinVarianceProp
    • DEFAULT_RANDOM_TREE_K_VALUE

      private static final int DEFAULT_RANDOM_TREE_K_VALUE
      See Also:
    • DEFAULT_RANDOM_TREE_MAX_DEPTH

      private static final int DEFAULT_RANDOM_TREE_MAX_DEPTH
      See Also:
    • DEFAULT_RANDOM_TREE_MIN_NUM

      private static final double DEFAULT_RANDOM_TREE_MIN_NUM
      See Also:
    • DEFAULT_RANDOM_TREE_MIN_VARIANCE_PROP

      private static final double DEFAULT_RANDOM_TREE_MIN_VARIANCE_PROP
      See Also:
    • randomTreeKValue

      private int randomTreeKValue
    • randomTreeMaxDepth

      private int randomTreeMaxDepth
    • randomTreeMinNum

      private double randomTreeMinNum
    • randomTreeMinVarianceProp

      private double randomTreeMinVarianceProp
    • RANDOM_FOREST_MORE_OPTION

      private static final String RANDOM_FOREST_MORE_OPTION
      See Also:
    • RANDOM_FOREST_PANEL_SIZE

      private static final Dimension RANDOM_FOREST_PANEL_SIZE
    • RANDOM_FOREST_OK_BUTTON_POSITION

      private static final Rectangle RANDOM_FOREST_OK_BUTTON_POSITION
    • RANDOM_FOREST_MORE_BUTTON_POSITION

      private static final Rectangle RANDOM_FOREST_MORE_BUTTON_POSITION
    • lbl_randomForestNumFeatures

      private JLabel lbl_randomForestNumFeatures
    • lbl_randomForestNumFeaturesError

      private JLabel lbl_randomForestNumFeaturesError
    • lbl_maxDepth

      private JLabel lbl_maxDepth
    • lbl_maxDepthError

      private JLabel lbl_maxDepthError
    • lbl_randomForestNumIterations

      private JLabel lbl_randomForestNumIterations
    • lbl_randomForestNumIterationsError

      private JLabel lbl_randomForestNumIterationsError
    • txt_randomForestNumFeatures

      private JTextField txt_randomForestNumFeatures
    • txt_maxDepth

      private JTextField txt_maxDepth
    • txt_randomForestNumIterations

      private JTextField txt_randomForestNumIterations
    • DEFAULT_RANDOM_FOREST_NUM_FEATURES

      private static final int DEFAULT_RANDOM_FOREST_NUM_FEATURES
      See Also:
    • DEFAULT_MAX_DEPTH

      private static final int DEFAULT_MAX_DEPTH
      See Also:
    • DEFAULT_RANDOM_FOREST_NUM_ITERATION

      private static final int DEFAULT_RANDOM_FOREST_NUM_ITERATION
      See Also:
    • randomForestNumFeatures

      private int randomForestNumFeatures
    • maxDepth

      private int maxDepth
    • randomForestNumIterations

      private int randomForestNumIterations
  • Constructor Details

    • DecisionTreeBasedPanel

      public DecisionTreeBasedPanel()
      Creates new form DecisionTreeBasedPanel. This method is called from within the constructor to initialize the form.
  • Method Details

    • btn_okActionPerformed

      protected void btn_okActionPerformed(ActionEvent e)
      This method sets an action for the btn_ok button.
      Overrides:
      btn_okActionPerformed in class ParameterPanel
      Parameters:
      e - an action event
    • keyReleased

      public void keyReleased(KeyEvent e)
      The listener method for receiving keyboard events (keystrokes). Invoked when a key has been released.
      Specified by:
      keyReleased in interface KeyListener
      Specified by:
      keyReleased in class ParameterPanel
      Parameters:
      e - an action event
    • addComponents

      private void addComponents(TreeType tree)
      This method adds components to the main panel based on type of the tree
      Parameters:
      tree - type of the tree
    • removeComponents

      private void removeComponents(TreeType tree)
      This method removes components from the main panel based on type of the tree
      Parameters:
      tree - type of the tree
    • removeComponentsC45

      private void removeComponentsC45()
      This method removes c4.5 components from the main panel
    • removeComponentsRandomTree

      private void removeComponentsRandomTree()
      This method removes random tree components from the main panel
    • removeComponentsRandomForest

      private void removeComponentsRandomForest()
      This method removes random forest components from the main panel
    • validate

      private void validate(TreeType tree)
      This method checks the status of the text fields due to correct input value
      Parameters:
      tree - the type of the tree
    • getTreeType

      public TreeType getTreeType()
      This method returns the type of the tree.
      Returns:
      the treeType parameter
    • getConfidence

      public double getConfidence()
      This method returns the confidence factor value.
      Returns:
      the Confidence factor parameter
    • setConfidence

      public void setConfidence(double confidence)
      This method sets the confidence factor value.
      Parameters:
      confidence - the confidence factor value
    • getMinNum

      public int getMinNum()
      This method returns the minimum number of samples per leaf.
      Returns:
      the MinNumSample parameter
    • setMinNum

      public void setMinNum(int minNum)
      This method sets the minimum number of samples per leaf value.
      Parameters:
      minNum - the minimum number of samples per leaf value.
    • getRandomTreeKValue

      public int getRandomTreeKValue()
      This method returns the number of randomly chosen attributes.
      Returns:
      the KValue parameter
    • setRandomTreeKValue

      public void setRandomTreeKValue(int randomTreeKValue)
      This method sets the number of randomly chosen attributes.
      Parameters:
      randomTreeKValue - the number of randomly chosen attributes
    • getRandomTreeMaxDepth

      public int getRandomTreeMaxDepth()
      This method returns the maximum depth of the tree.
      Returns:
      the MaxDepth parameter
    • setRandomTreeMaxDepth

      public void setRandomTreeMaxDepth(int randomTreeMaxDepth)
      This method sets the maximum depth of the tree.
      Parameters:
      randomTreeMaxDepth - the maximum depth of the tree
    • getRandomTreeMinNum

      public double getRandomTreeMinNum()
      This method returns the minimum total weight of the instances in a leaf.
      Returns:
      the MinNum parameter
    • setRandomTreeMinNum

      public void setRandomTreeMinNum(double randomTreeMinNum)
      This method sets the minimum total weight of the instances in a leaf.
      Parameters:
      randomTreeMinNum - the minimum total weight of the instances in a leaf
    • getRandomTreeMinVarianceProp

      public double getRandomTreeMinVarianceProp()
      This method returns the minimum proportion of the total variance (over all the data) required for split.
      Returns:
      the MinVarianceProp parameter
    • setRandomTreeMinVarianceProp

      public void setRandomTreeMinVarianceProp(double randomTreeMinVarianceProp)
      This method sets the minimum proportion of the total variance (over all the data) required for split.
      Parameters:
      randomTreeMinVarianceProp - the minimum proportion required for split
    • getRandomForestNumFeatures

      public int getRandomForestNumFeatures()
      This method returns the number of randomly selected features.
      Returns:
      the NumFeatures parameter
    • setRandomForestNumFeatures

      public void setRandomForestNumFeatures(int randomForestNumFeatures)
      This method sets the number of randomly selected features.
      Parameters:
      randomForestNumFeatures - The number of randomly selected features
    • getMaxDepth

      public int getMaxDepth()
      This method returns the maximum depth of the tree.
      Returns:
      the maxDepth parameter
    • setMaxDepth

      public void setMaxDepth(int maxDepth)
      This method sets the maximum depth of the tree.
      Parameters:
      maxDepth - The maximum depth of the tree
    • getRandomForestNumIterations

      public int getRandomForestNumIterations()
      This method returns the number of iterations to be performed.
      Returns:
      the NumIterations parameter
    • setRandomForestNumIterations

      public void setRandomForestNumIterations(int randomForestNumIterations)
      This method sets the number of iterations to be performed.
      Parameters:
      randomForestNumIterations - the number of iterations to be performed
    • setDefaultValue

      public void setDefaultValue()
      Sets the default values of the tree parameters
    • setDefaultValue

      public void setDefaultValue(TreeType tree)
      Sets the default values of the tree parameters
      Parameters:
      tree - the type of the tree
    • setUserValue

      public void setUserValue(double conf, int minSample)
      Sets the last values of the C4.5 parameters entered by user
      Parameters:
      conf - the confidence factor
      minSample - the minimum number of samples per leaf
    • setUserValue

      public void setUserValue(int kValue, int maxDepth, double minNum, double minVarianceProp)
      Sets the last values of the random tree parameters entered by user.
      Parameters:
      kValue - The number of randomly chosen attributes
      maxDepth - The maximum depth of the tree
      minNum - The minimum total weight of the instances in a leaf
      minVarianceProp - The minimum proportion of the total variance (over all the data) required for split
    • setUserValue

      public void setUserValue(int numFeatures, int maxDepth, int numIterations)
      Sets the last values of the random forest parameters entered by user.
      Parameters:
      numFeatures - The number of randomly selected features
      maxDepth - The maximum depth of the tree
      numIterations - The number of iterations to be performed
    • removeTreeType

      public void removeTreeType(Object... types)
      Removes a list of tree types from a combobox
      Parameters:
      types - the list of tree types that must be removed