public class ClassifierPanel extends JPanel implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected PropertyPanel |
m_CEPanel
The panel showing the current classifier selection
|
protected 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 JRadioButton |
m_CVBut
Click to set test mode to cross-validation
|
protected JLabel |
m_CVLab
Label by where the cv folds are entered
|
protected JTextField |
m_CVText
The field where the cv folds are entered
|
protected JCheckBox |
m_EvalWRTCostsBut
Check to evaluate w.r.t a cost matrix
|
protected Explorer |
m_Explorer
the parent frame
|
protected 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 FileFilter |
m_ModelFilter
Filter to ensure only model files are selected
|
protected JLabel |
m_OutputAdditionalAttributesLab
Label for the text field with additional attributes in the output
|
protected Range |
m_OutputAdditionalAttributesRange
the range of attributes to output
|
protected JTextField |
m_OutputAdditionalAttributesText
Lists indices for additional attributes to output
|
protected JCheckBox |
m_OutputConfusionBut
Check to output a confusion matrix
|
protected JCheckBox |
m_OutputEntropyBut
Check to output entropy statistics
|
protected JCheckBox |
m_OutputModelBut
Check to output the model built from the training data
|
protected JCheckBox |
m_OutputPerClassBut
Check to output true/false positives, precision/recall for each class
|
protected JCheckBox |
m_OutputPredictionsTextBut
Check to output text predictions
|
protected JCheckBox |
m_OutputSourceCode
Whether to output the source code (only for classifiers importing
Sourcable)
|
protected JTextArea |
m_OutText
The output area for classification results
|
protected JRadioButton |
m_PercentBut
Click to set test mode to generate a % split
|
protected JLabel |
m_PercentLab
Label by where the % split is entered
|
protected JTextField |
m_PercentText
The field where the % split is entered
|
protected FileFilter |
m_PMMLModelFilter |
protected JCheckBox |
m_PreserveOrderBut
Whether randomization is turned off to preserve order
|
protected JLabel |
m_RandomLab
the label for the random seed textfield
|
protected JTextField |
m_RandomSeedText
User specified random seed for cross validation or % split
|
protected Thread |
m_RunThread
A thread that classification runs in
|
protected JButton |
m_SetCostsBut
for the cost matrix
|
protected PropertyDialog |
m_SetCostsFrame
The frame used to show the cost matrix editing panel
|
protected JButton |
m_SetTestBut
The button used to open a separate test dataset
|
protected JFrame |
m_SetTestFrame
The frame used to show the test set selection panel
|
protected JTextField |
m_SourceCodeClass
The name of the generated class (only applicable to Sourcable schemes)
|
protected JButton |
m_StartBut
Click to start running the classifier
|
protected JButton |
m_StopBut
Click to stop a running classifier
|
protected JCheckBox |
m_StorePredictionsBut
Check to save the predictions in the results list for visualizing later on
|
protected Loader |
m_TestLoader
The loader used to load the user-supplied test set (if any)
|
protected JRadioButton |
m_TestSplitBut
Click to set test mode to a user-specified test set
|
protected JRadioButton |
m_TrainBut
Click to set test mode to test on training data
|
static String |
MODEL_FILE_EXTENSION
The filename extension that should be used for model files
|
static String |
PMML_FILE_EXTENSION
The filename extension that should be used for PMML xml files
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ClassifierPanel()
Creates the classifier panel
|
Modifier and Type | Method and Description |
---|---|
void |
capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
method gets called in case of a change event
|
Explorer |
getExplorer()
returns the parent Explorer frame
|
String |
getTabTitle()
Returns the title for the tab in the Explorer
|
String |
getTabTitleToolTip()
Returns the tooltip for the tab in the Explorer
|
protected void |
loadClassifier()
Loads a classifier
|
static void |
main(String[] args)
Tests out the classifier panel from the command line.
|
protected String |
predictionText(Classifier classifier,
Instance inst,
int instNum)
generates a prediction row for an instance
|
protected void |
printPredictionsHeader(StringBuffer outBuff,
Instances inst,
String title)
outputs the header for the predictions on the data
|
static void |
processClassifierPrediction(Instance toPredict,
Classifier classifier,
Evaluation eval,
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.
|
protected void |
reevaluateModel(String name,
Classifier classifier,
Instances trainHeader)
Re-evaluates the named classifier with the current test set.
|
protected void |
saveBuffer(String name)
Save the currently selected classifier output to a file.
|
protected void |
saveClassifier(String name,
Classifier classifier,
Instances trainHeader)
Saves the currently selected classifier
|
void |
setExplorer(Explorer parent)
Sets the Explorer to use as parent frame (used for sending notifications
about changes in the data)
|
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.
|
static Instances |
setUpVisualizableInstances(Instances trainInstances)
Sets up the structure for the visualizable instances.
|
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 |
updateCapabilitiesFilter(Capabilities filter)
updates the capabilities filter of the GOE
|
protected void |
updateRadioLinks()
Updates the enabled status of the input fields and labels.
|
protected void |
visualize(String name,
int x,
int y)
Handles constructing a popup menu with visualization options.
|
protected void |
visualizeBayesNet(String XMLBIF,
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 |
visualizeCostBenefitAnalysis(CostBenefitAnalysis cb,
String classifierAndRelationName)
Pops up the Cost/Benefit analysis panel.
|
protected void |
visualizeTree(String dottyString,
String treeName)
Pops up a TreeVisualizer for the classifier from the currently selected
item in the results list
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
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, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
protected Explorer m_Explorer
public static String MODEL_FILE_EXTENSION
public static String PMML_FILE_EXTENSION
protected GenericObjectEditor m_ClassifierEditor
protected PropertyPanel m_CEPanel
protected JTextArea m_OutText
protected Logger m_Log
protected ResultHistoryPanel m_History
protected JComboBox m_ClassCombo
protected JRadioButton m_CVBut
protected JRadioButton m_PercentBut
protected JRadioButton m_TrainBut
protected JRadioButton m_TestSplitBut
protected JCheckBox m_StorePredictionsBut
protected JCheckBox m_OutputModelBut
protected JCheckBox m_OutputPerClassBut
protected JCheckBox m_OutputConfusionBut
protected JCheckBox m_OutputEntropyBut
protected JCheckBox m_OutputPredictionsTextBut
protected JTextField m_OutputAdditionalAttributesText
protected JLabel m_OutputAdditionalAttributesLab
protected Range m_OutputAdditionalAttributesRange
protected JCheckBox m_EvalWRTCostsBut
protected JButton m_SetCostsBut
protected JLabel m_CVLab
protected JTextField m_CVText
protected JLabel m_PercentLab
protected JTextField m_PercentText
protected JButton m_SetTestBut
protected JFrame m_SetTestFrame
protected PropertyDialog m_SetCostsFrame
protected JTextField m_RandomSeedText
protected JLabel m_RandomLab
protected JCheckBox m_PreserveOrderBut
protected JCheckBox m_OutputSourceCode
protected JTextField m_SourceCodeClass
protected JButton m_StartBut
protected JButton m_StopBut
protected CostMatrixEditor m_CostMatrixEditor
protected Instances m_Instances
protected Loader m_TestLoader
protected Thread m_RunThread
protected VisualizePanel m_CurrentVis
protected FileFilter m_ModelFilter
protected FileFilter m_PMMLModelFilter
protected JFileChooser m_FileChooser
protected void updateRadioLinks()
public void setLog(Logger newLog)
setLog
in interface Explorer.LogHandler
newLog
- the Logger that will now get info messagespublic void setInstances(Instances inst)
setInstances
in interface Explorer.ExplorerPanel
inst
- a set of Instancesprotected void setTestSet()
public static void processClassifierPrediction(Instance toPredict, Classifier classifier, Evaluation eval, 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 predictplotInstances
- a set of plottable instancesplotShape
- additional plotting information (shape)plotSize
- additional plotting information (size)public static Instances setUpVisualizableInstances(Instances trainInstances)
trainInstances
- the instances that the classifier is trained onprotected void printPredictionsHeader(StringBuffer outBuff, Instances inst, String title)
outBuff
- the buffer to add the output toinst
- the data headertitle
- the title to printprotected void startClassifier()
protected String predictionText(Classifier classifier, Instance inst, int instNum) throws Exception
classifier
- the classifier to use for making the predictioninst
- the instance to predictinstNum
- the index of the instanceException
- if something goes wrongprotected void visualize(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(String dottyString, String treeName)
dottyString
- the description of the tree in dotty formattreeName
- the title to assign to the displayprotected void visualizeBayesNet(String XMLBIF, String graphName)
XMLBIF
- the description of the graph in XMLBIF ver. 0.3graphName
- the name of the graphprotected void visualizeClassifierErrors(VisualizePanel sp)
sp
- the VisualizePanel to pop up.protected void visualizeCostBenefitAnalysis(CostBenefitAnalysis cb, String classifierAndRelationName)
cb
- the CostBenefitAnalysis panel to pop upprotected void saveBuffer(String name)
name
- the name of the buffer to saveprotected void stopClassifier()
protected void saveClassifier(String name, Classifier classifier, Instances trainHeader)
name
- the name of the runclassifier
- the classifier to savetrainHeader
- the header of the training instancesprotected void loadClassifier()
protected void reevaluateModel(String name, Classifier classifier, Instances trainHeader)
name
- the name of the classifier entryclassifier
- the classifier to evaluatetrainHeader
- the header of the training setprotected void updateCapabilitiesFilter(Capabilities filter)
filter
- the new filter to usepublic void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
capabilitiesFilterChanged
in interface Explorer.CapabilitiesFilterChangeListener
e
- the associated change eventpublic void setExplorer(Explorer parent)
setExplorer
in interface Explorer.ExplorerPanel
parent
- the parent framepublic Explorer getExplorer()
getExplorer
in interface Explorer.ExplorerPanel
public String getTabTitle()
getTabTitle
in interface Explorer.ExplorerPanel
public String getTabTitleToolTip()
getTabTitleToolTip
in interface Explorer.ExplorerPanel
public static void main(String[] args)
args
- may optionally contain the name of a dataset to load.Copyright © 2015 University of Waikato, Hamilton, NZ. All rights reserved.