weka.gui.explorer
Class AttributeSelectionPanel

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byweka.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.

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

Nested Class Summary
 
Nested classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
private  java.awt.Dimension COMBO_SIZE
          Stop the class combo from taking up to much space
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  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
(package private)  java.awt.event.ActionListener m_RadioListener
          Alters the enabled/disabled status of elements associated with each radio button
protected  java.lang.Thread m_RunThread
          A thread that attribute selection runs in
(package private)  SaveBuffer m_SaveOut
          The buffer saving object for saving output
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.JPanel
 
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.Container
 
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(Instances ti)
          Popup a visualize panel for viewing transformed data
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
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_SaveOut

SaveBuffer m_SaveOut
The buffer saving object for saving output


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_RadioListener

java.awt.event.ActionListener m_RadioListener
Alters the enabled/disabled status of elements associated with each radio button


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


COMBO_SIZE

private java.awt.Dimension COMBO_SIZE
Stop the class combo from taking up to much space


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(Instances ti)
Popup a visualize panel for viewing transformed data


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.