weka.gui.explorer
Class AttributeSelectionPanel

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--weka.gui.explorer.AttributeSelectionPanel
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class AttributeSelectionPanel
extends javax.swing.JPanel

This panel allows the user to select and configure an attribute evaluator and a search method, set the attribute of the current dataset to be used as the class, and perform attribute selection using one of two selection modes (select using all the training data or perform a n-fold cross validation---on each trial selecting features using n-1 folds of the data). The results of attribute selection runs are stored in a results history so that previous results are accessible.

Author:
Mark Hall (mhall@cs.waikato.ac.nz)
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Inner classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Inner classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent
 
Field Summary
protected  PropertyPanel m_AEEPanel
          The panel showing the current attribute evaluation method
protected  PropertyPanel m_ASEPanel
          The panel showing the current search method
protected  GenericObjectEditor m_AttributeEvaluatorEditor
          Lets the user configure the attribute evaluator
protected  GenericObjectEditor m_AttributeSearchEditor
          Lets the user configure the search method
protected  javax.swing.JComboBox m_ClassCombo
          Lets the user select the class column
protected  VisualizePanel m_CurrentVis
          The current visualization object
protected  javax.swing.JRadioButton m_CVBut
          Click to set evaluation mode to cross-validation
protected  javax.swing.JLabel m_CVLab
          Label by where the cv folds are entered
protected  javax.swing.JTextField m_CVText
          The field where the cv folds are entered
protected  ResultHistoryPanel m_History
          A panel controlling results viewing
protected  Instances m_Instances
          The main set of instances we're playing with
protected  Logger m_Log
          The destination for log/status messages
protected  javax.swing.JTextArea m_OutText
          The output area for attribute selection results
protected  java.lang.Thread m_RunThread
          A thread that attribute selection runs in
protected  javax.swing.JLabel m_SeedLab
          Label by where cv random seed is entered
protected  javax.swing.JTextField m_SeedText
          The field where the seed value is entered
protected  javax.swing.JButton m_StartBut
          Click to start running the attribute selector
protected  javax.swing.JButton m_StopBut
          Click to stop a running classifier
protected  javax.swing.JRadioButton m_TrainBut
          Click to set test mode to test on training data
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AttributeSelectionPanel()
          Creates the classifier panel
 
Method Summary
static void main(java.lang.String[] args)
          Tests out the attribute selection panel from the command line.
protected  void saveBuffer(java.lang.String name)
          Save the named buffer to a file.
 void setInstances(Instances inst)
          Tells the panel to use a new set of instances.
 void setLog(Logger newLog)
          Sets the Logger to receive informational messages
protected  void startAttributeSelection()
          Starts running the currently configured attribute evaluator and search method.
protected  void stopAttributeSelection()
          Stops the currently running attribute selection (if any).
protected  void updateRadioLinks()
          Updates the enabled status of the input fields and labels.
protected  void visualize(java.lang.String name, int x, int y)
          Handles constructing a popup menu with visualization options
protected  void visualizeTransformedData(VisualizePanel sp)
          Popup a visualize panel for viewing transformed data
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVerifyInputWhenFocusTarget, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, hide, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processFocusEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m_AttributeEvaluatorEditor

protected GenericObjectEditor m_AttributeEvaluatorEditor
Lets the user configure the attribute evaluator

m_AttributeSearchEditor

protected GenericObjectEditor m_AttributeSearchEditor
Lets the user configure the search method

m_AEEPanel

protected PropertyPanel m_AEEPanel
The panel showing the current attribute evaluation method

m_ASEPanel

protected PropertyPanel m_ASEPanel
The panel showing the current search method

m_OutText

protected javax.swing.JTextArea m_OutText
The output area for attribute selection results

m_Log

protected Logger m_Log
The destination for log/status messages

m_History

protected ResultHistoryPanel m_History
A panel controlling results viewing

m_ClassCombo

protected javax.swing.JComboBox m_ClassCombo
Lets the user select the class column

m_CVBut

protected javax.swing.JRadioButton m_CVBut
Click to set evaluation mode to cross-validation

m_TrainBut

protected javax.swing.JRadioButton m_TrainBut
Click to set test mode to test on training data

m_CVLab

protected javax.swing.JLabel m_CVLab
Label by where the cv folds are entered

m_CVText

protected javax.swing.JTextField m_CVText
The field where the cv folds are entered

m_SeedLab

protected javax.swing.JLabel m_SeedLab
Label by where cv random seed is entered

m_SeedText

protected javax.swing.JTextField m_SeedText
The field where the seed value is entered

m_StartBut

protected javax.swing.JButton m_StartBut
Click to start running the attribute selector

m_StopBut

protected javax.swing.JButton m_StopBut
Click to stop a running classifier

m_CurrentVis

protected VisualizePanel m_CurrentVis
The current visualization object

m_Instances

protected Instances m_Instances
The main set of instances we're playing with

m_RunThread

protected java.lang.Thread m_RunThread
A thread that attribute selection runs in
Constructor Detail

AttributeSelectionPanel

public AttributeSelectionPanel()
Creates the classifier panel
Method Detail

updateRadioLinks

protected void updateRadioLinks()
Updates the enabled status of the input fields and labels.

setLog

public void setLog(Logger newLog)
Sets the Logger to receive informational messages
Parameters:
newLog - the Logger that will now get info messages

setInstances

public void setInstances(Instances inst)
Tells the panel to use a new set of instances.
Parameters:
inst - a set of Instances

startAttributeSelection

protected void startAttributeSelection()
Starts running the currently configured attribute evaluator and search method. This is run in a separate thread, and will only start if there is no attribute selection already running. The attribute selection output is sent to the results history panel.

stopAttributeSelection

protected void stopAttributeSelection()
Stops the currently running attribute selection (if any).

saveBuffer

protected void saveBuffer(java.lang.String name)
Save the named buffer to a file.
Parameters:
name - the name of the buffer to be saved.

visualizeTransformedData

protected void visualizeTransformedData(VisualizePanel sp)
Popup a visualize panel for viewing transformed data
Parameters:
sp - the VisualizePanel to display

visualize

protected void visualize(java.lang.String name,
                         int x,
                         int y)
Handles constructing a popup menu with visualization options
Parameters:
name - the name of the result history list entry clicked on by the user.
x - the x coordinate for popping up the menu
y - the y coordinate for popping up the menu

main

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