|
|||||||||||
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.explorer.ClassifierPanel
This panel allows the user to select and configure a classifier, set the attribute of the current dataset to be used as the class, and evaluate the classifier using a number of testing modes (test on the training data, train/test on a percentage split, n-fold cross-validation, test on a separate split). The results of classification runs are stored in a result history so that previous results are accessible.
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_CEPanel
The panel showing the current classifier selection |
protected javax.swing.JComboBox |
m_ClassCombo
Lets the user select the class column |
protected GenericObjectEditor |
m_ClassifierEditor
Lets the user configure the classifier |
protected CostMatrixEditor |
m_CostMatrixEditor
The cost matrix editor for evaluation costs |
protected VisualizePanel |
m_CurrentVis
The current visualization object |
protected javax.swing.JRadioButton |
m_CVBut
Click to set test 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 javax.swing.JCheckBox |
m_EvalWRTCostsBut
Check to evaluate w.r.t a cost matrix |
protected javax.swing.JFileChooser |
m_FileChooser
The file chooser for selecting model files |
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.filechooser.FileFilter |
m_ModelFilter
Filter to ensure only model files are selected |
(package private) javax.swing.JButton |
m_MoreOptions
Button for further output/visualize options |
protected javax.swing.JCheckBox |
m_OutputConfusionBut
Check to output a confusion matrix |
protected javax.swing.JCheckBox |
m_OutputEntropyBut
Check to output entropy statistics |
protected javax.swing.JCheckBox |
m_OutputModelBut
Check to output the model built from the training data |
protected javax.swing.JCheckBox |
m_OutputPerClassBut
Check to output true/false positives, precision/recall for each class |
protected javax.swing.JCheckBox |
m_OutputPredictionsTextBut
Check to output text predictions |
protected javax.swing.JTextArea |
m_OutText
The output area for classification results |
protected javax.swing.JRadioButton |
m_PercentBut
Click to set test mode to generate a % split |
protected javax.swing.JLabel |
m_PercentLab
Label by where the % split is entered |
protected javax.swing.JTextField |
m_PercentText
The field where the % split is entered |
(package private) java.awt.event.ActionListener |
m_RadioListener
Alters the enabled/disabled status of elements associated with each radio button |
protected javax.swing.JLabel |
m_RandomLab
|
protected javax.swing.JTextField |
m_RandomSeedText
User specified random seed for cross validation or % split |
protected java.lang.Thread |
m_RunThread
A thread that classification runs in |
(package private) SaveBuffer |
m_SaveOut
The buffer saving object for saving output |
protected javax.swing.JButton |
m_SetCostsBut
|
protected PropertyDialog |
m_SetCostsFrame
The frame used to show the cost matrix editing panel |
protected javax.swing.JButton |
m_SetTestBut
The button used to open a separate test dataset |
protected javax.swing.JFrame |
m_SetTestFrame
The frame used to show the test set selection panel |
protected javax.swing.JButton |
m_StartBut
Click to start running the classifier |
protected javax.swing.JButton |
m_StopBut
Click to stop a running classifier |
protected javax.swing.JCheckBox |
m_StorePredictionsBut
Check to save the predictions in the results list for visualizing later on |
protected InstancesSummaryPanel |
m_Summary
The instances summary panel displayed by m_SetTestFrame |
protected Instances |
m_TestInstances
The user-supplied test set (if any) |
protected javax.swing.JRadioButton |
m_TestSplitBut
Click to set test mode to a user-specified test set |
protected javax.swing.JRadioButton |
m_TrainBut
Click to set test mode to test on training data |
protected int |
m_visXIndex
default x index for visualizing |
protected int |
m_visYIndex
default y index for visualizing |
static java.lang.String |
MODEL_FILE_EXTENSION
The filename extension that should be used for model files |
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 | |
ClassifierPanel()
Creates the classifier panel |
Method Summary | |
protected void |
loadClassifier()
Loads a classifier |
static void |
main(java.lang.String[] args)
Tests out the classifier panel from the command line. |
private void |
postProcessPlotInfo(FastVector plotSize)
Post processes numeric class errors into shape sizes for plotting in the visualize panel |
protected java.lang.String |
predictionText(Classifier classifier,
Instance inst,
int instNum)
|
private void |
processClassifierPrediction(Instance toPredict,
Classifier classifier,
Evaluation eval,
FastVector predictions,
Instances plotInstances,
FastVector plotShape,
FastVector plotSize)
Process a classifier's prediction for an instance and update a set of plotting instances and additional plotting info. plotInfo for nominal class datasets holds shape types (actual data points have automatic shape type assignment; classifier error data points have box shape type). |
protected void |
reevaluateModel(java.lang.String name,
Classifier classifier,
Instances trainHeader)
Re-evaluates the named classifier with the current test set. |
protected void |
saveBuffer(java.lang.String name)
Save the currently selected classifier output to a file. |
protected void |
saveClassifier(java.lang.String name,
Classifier classifier,
Instances trainHeader)
Saves the currently selected classifier |
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 |
setTestSet()
Sets the user test set. |
private Instances |
setUpVisualizableInstances(Instances trainInstances)
Sets up the structure for the visualizable instances. |
void |
setXY_VisualizeIndexes(int x,
int y)
Set the default attributes to use on the x and y axis of a new visualization object. |
protected void |
startClassifier()
Starts running the currently configured classifier with the current settings. |
protected void |
stopClassifier()
Stops the currently running classifier (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 |
visualizeBayesNet(java.lang.String XMLBIF,
java.lang.String graphName)
Pops up a GraphVisualizer for the BayesNet classifier from the currently selected item in the results list |
protected void |
visualizeClassifierErrors(VisualizePanel sp)
Pops up a VisualizePanel for visualizing the data and errors for the classifier from the currently selected item in the results list |
protected void |
visualizeTree(java.lang.String dottyString,
java.lang.String treeName)
Pops up a TreeVisualizer for the classifier from the currently selected item in the results list |
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 |
public static java.lang.String MODEL_FILE_EXTENSION
protected GenericObjectEditor m_ClassifierEditor
protected PropertyPanel m_CEPanel
protected javax.swing.JTextArea m_OutText
protected Logger m_Log
SaveBuffer m_SaveOut
protected ResultHistoryPanel m_History
protected javax.swing.JComboBox m_ClassCombo
protected javax.swing.JRadioButton m_CVBut
protected javax.swing.JRadioButton m_PercentBut
protected javax.swing.JRadioButton m_TrainBut
protected javax.swing.JRadioButton m_TestSplitBut
protected javax.swing.JCheckBox m_StorePredictionsBut
protected javax.swing.JCheckBox m_OutputModelBut
protected javax.swing.JCheckBox m_OutputPerClassBut
protected javax.swing.JCheckBox m_OutputConfusionBut
protected javax.swing.JCheckBox m_OutputEntropyBut
protected javax.swing.JCheckBox m_OutputPredictionsTextBut
protected javax.swing.JCheckBox m_EvalWRTCostsBut
protected javax.swing.JButton m_SetCostsBut
protected javax.swing.JLabel m_CVLab
protected javax.swing.JTextField m_CVText
protected javax.swing.JLabel m_PercentLab
protected javax.swing.JTextField m_PercentText
protected javax.swing.JButton m_SetTestBut
protected javax.swing.JFrame m_SetTestFrame
protected PropertyDialog m_SetCostsFrame
java.awt.event.ActionListener m_RadioListener
javax.swing.JButton m_MoreOptions
protected javax.swing.JTextField m_RandomSeedText
protected javax.swing.JLabel m_RandomLab
protected javax.swing.JButton m_StartBut
protected javax.swing.JButton m_StopBut
private java.awt.Dimension COMBO_SIZE
protected CostMatrixEditor m_CostMatrixEditor
protected Instances m_Instances
protected Instances m_TestInstances
protected java.lang.Thread m_RunThread
protected int m_visXIndex
protected int m_visYIndex
protected VisualizePanel m_CurrentVis
protected InstancesSummaryPanel m_Summary
protected javax.swing.filechooser.FileFilter m_ModelFilter
protected javax.swing.JFileChooser m_FileChooser
Constructor Detail |
public ClassifierPanel()
Method Detail |
protected void updateRadioLinks()
public void setLog(Logger newLog)
newLog
- the Logger that will now get info messagespublic void setXY_VisualizeIndexes(int x, int y)
x
- the index of the attribute to use on the x axisy
- the index of the attribute to use on the y axispublic void setInstances(Instances inst)
inst
- a set of Instancesprotected void setTestSet()
private void processClassifierPrediction(Instance toPredict, Classifier classifier, Evaluation eval, FastVector predictions, Instances plotInstances, FastVector plotShape, FastVector plotSize)
toPredict
- the actual data pointclassifier
- the classifiereval
- the evaluation object to use for evaluating the classifier on
the instance to predictpredictions
- a fastvector to add the prediction toplotInstances
- a set of plottable instancesplotShape
- additional plotting information (shape)plotSize
- additional plotting information (size)private void postProcessPlotInfo(FastVector plotSize)
plotSize
- a FastVector of numeric class errorsprivate Instances setUpVisualizableInstances(Instances trainInstances)
protected void startClassifier()
protected java.lang.String predictionText(Classifier classifier, Instance inst, int instNum) throws java.lang.Exception
java.lang.Exception
protected void visualize(java.lang.String name, int x, int y)
name
- the name of the result history list entry clicked on by
the userx
- the x coordinate for popping up the menuy
- the y coordinate for popping up the menuprotected void visualizeTree(java.lang.String dottyString, java.lang.String treeName)
dottyString
- the description of the tree in dotty formattreeName
- the title to assign to the displayprotected void visualizeBayesNet(java.lang.String XMLBIF, java.lang.String graphName)
XMLBIF
- the description of the graph in XMLBIF ver. 0.3protected void visualizeClassifierErrors(VisualizePanel sp)
sp
- the VisualizePanel to pop up.protected void saveBuffer(java.lang.String name)
name
- the name of the buffer to saveprotected void stopClassifier()
protected void saveClassifier(java.lang.String name, Classifier classifier, Instances trainHeader)
protected void loadClassifier()
protected void reevaluateModel(java.lang.String name, Classifier classifier, Instances trainHeader)
name
- the name of the classifier entryclassifier
- the classifier to evaluatepublic static void main(java.lang.String[] args)
args
- may optionally contain the name of a dataset to load.
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |