|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.boundaryvisualizer.BoundaryVisualizer
BoundaryVisualizer. Allows the visualization of classifier decision boundaries in two dimensions. A supplied classifier is first trained on supplied training data, then a data generator (currently using kernels) is used to generate new instances at points fixed in the two visualization dimensions but random in the other dimensions. These instances are classified by the classifier and plotted as points with colour corresponding to the probability distribution predicted by the classifier. At present, 2 * 2^(# non-fixed dimensions) points are generated from each kernel per pixel in the display. In practice, fewer points than this are actually classified because kernels are weighted (on a per-pixel basis) according to the fixexd dimensions and kernels corresponding to the lowest 1% of the weight mass are discarded. Predicted probability distributions are weighted (acording to the fixed visualization dimensions) and averaged to produce an RGB value for the pixel. For more information, see
Eibe Frank and Mark Hall (2003). Visualizing Class Probability Estimators. Working Paper 02/03, Department of Computer Science, University of Waikato.
JPanel
,
Serialized FormNested Class Summary | |
private class |
BoundaryVisualizer.AxisPanel
Inner class to handle rendering the axis |
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 | |
protected java.awt.Dimension |
COMBO_SIZE
|
protected BoundaryPanel |
m_boundaryPanel
|
protected javax.swing.JComboBox |
m_classAttBox
|
private Classifier |
m_classifier
|
protected ClassPanel |
m_classPanel
|
protected javax.swing.JPanel |
m_controlPanel
|
private KDDataGenerator |
m_dataGenerator
|
private int |
m_generatorSamplesBase
|
private javax.swing.JTextField |
m_generatorSamplesText
|
private int |
m_kernelBandwidth
|
private javax.swing.JTextField |
m_kernelBandwidthText
|
private double |
m_maxX
|
private double |
m_maxY
|
private double |
m_minX
|
private double |
m_minY
|
private int |
m_numberOfSamplesFromEachRegion
|
protected int |
m_plotAreaHeight
|
protected int |
m_plotAreaWidth
|
protected javax.swing.JCheckBox |
m_plotTrainingData
|
private javax.swing.JTextField |
m_regionSamplesText
|
protected javax.swing.JButton |
m_startBut
|
private Instances |
m_trainingInstances
|
protected javax.swing.JComboBox |
m_xAttBox
|
private BoundaryVisualizer.AxisPanel |
m_xAxisPanel
|
private int |
m_xIndex
|
protected javax.swing.JComboBox |
m_yAttBox
|
private BoundaryVisualizer.AxisPanel |
m_yAxisPanel
|
private int |
m_yIndex
|
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 | |
BoundaryVisualizer()
Creates a new BoundaryVisualizer instance. |
Method Summary | |
private void |
computeBounds()
|
private void |
configureForClassAttribute()
Set up the class values combo boxes |
Instances |
getInstances()
Get the training instances |
static void |
main(java.lang.String[] args)
Main method for testing this class |
void |
setClassifier(Classifier newClassifier)
Set a classifier to use |
private void |
setControlEnabledStatus(boolean status)
Set the enabled status of the controls |
void |
setInstances(Instances inst)
Set the training instances |
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 |
private Instances m_trainingInstances
private Classifier m_classifier
protected int m_plotAreaWidth
protected int m_plotAreaHeight
protected BoundaryPanel m_boundaryPanel
protected javax.swing.JComboBox m_classAttBox
protected javax.swing.JComboBox m_xAttBox
protected javax.swing.JComboBox m_yAttBox
protected java.awt.Dimension COMBO_SIZE
protected javax.swing.JButton m_startBut
protected javax.swing.JCheckBox m_plotTrainingData
protected javax.swing.JPanel m_controlPanel
protected ClassPanel m_classPanel
private BoundaryVisualizer.AxisPanel m_xAxisPanel
private BoundaryVisualizer.AxisPanel m_yAxisPanel
private double m_maxX
private double m_maxY
private double m_minX
private double m_minY
private int m_xIndex
private int m_yIndex
private KDDataGenerator m_dataGenerator
private int m_numberOfSamplesFromEachRegion
private int m_generatorSamplesBase
private int m_kernelBandwidth
private javax.swing.JTextField m_regionSamplesText
private javax.swing.JTextField m_generatorSamplesText
private javax.swing.JTextField m_kernelBandwidthText
Constructor Detail |
public BoundaryVisualizer()
BoundaryVisualizer
instance.
Method Detail |
private void setControlEnabledStatus(boolean status)
status
- a boolean
valuepublic void setClassifier(Classifier newClassifier) throws java.lang.Exception
newClassifier
- the classifier to use
java.lang.Exception
- if an error occursprivate void computeBounds()
public Instances getInstances()
public void setInstances(Instances inst) throws java.lang.Exception
inst
- the instances to use
java.lang.Exception
private void configureForClassAttribute()
public static void main(java.lang.String[] args)
args
- a String[]
value
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |