@PerspectiveInfo(ID="weka.gui.explorer.classifierpanel", title="Classify", toolTipText="Classify instances", iconPath="weka/gui/weka_icon_new_small.png") public class ClassifierPanel extends AbstractPerspective implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
Modifier and Type | Class and Description |
---|---|
static class |
ClassifierPanel.TestMode |
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
MODEL_FILE_EXTENSION
The filename extension that should be used for model files.
|
static java.lang.String |
PMML_FILE_EXTENSION
The filename extension that should be used for PMML xml files.
|
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
ClassifierPanel()
Creates the classifier panel.
|
Modifier and Type | Method and Description |
---|---|
boolean |
acceptsInstances()
Returns true if this perspective can do something meaningful with a set of
instances
|
void |
capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
method gets called in case of a change event.
|
java.lang.Object |
getClassificationOutputFormatter()
Get the formatter for classifcation output
|
Classifier |
getClassifier()
Get the currently configured classifier from the GenericObjectEditor
|
CostMatrix |
getCostMatrix()
Get the cost matrix (if any)
|
Defaults |
getDefaultSettings()
Get the default settings for this perspective (or null if there are none)
|
Explorer |
getExplorer()
returns the parent Explorer frame.
|
Instances |
getInstances()
Get the current set of instances
|
Logger |
getLog()
Get the log
|
int |
getNumCVFolds()
Get the number of cross-validation folds to use
|
double |
getPercentageSplit()
Get the percentage to use for percentage split evaluation
|
int |
getRandomSeed()
Get the random seed
|
ResultHistoryPanel |
getResultHistory()
Get the result history panel
|
int |
getSelectedClassIndex()
Get the selected (0-based) class index
|
int |
getSeparateTestSetClassIndex()
Get the class index specified for the separate test set
|
Loader |
getSeparateTestSetLoader()
Get the loader object used for loading a separate test set
|
java.lang.String |
getSourceCodeClassName()
Gets the name of the source code class to be generated
|
java.lang.String |
getTabTitle()
Returns the title for the tab in the Explorer.
|
java.lang.String |
getTabTitleToolTip()
Returns the tooltip for the tab in the Explorer.
|
boolean |
isSelectedCollectPredictionsForEvaluation()
Gets whether the user has opted to collect the predictions for computing evaluation statistics
|
boolean |
isSelectedCV()
Gets whether cross-validation has been selected by the user
|
boolean |
isSelectedEvalWithRespectToCosts()
Gets whether evaluation with respect to costs has been selected by the user
|
boolean |
isSelectedOutputConfusion()
Gets whether the user has opted to output the confusion matrix
|
boolean |
isSelectedOutputEntropy()
Gets whether the user has opted to output entropy metrics
|
boolean |
isSelectedOutputModel()
Gets whether the user has opted to output the model
|
boolean |
isSelectedOutputModelsForTrainingSplits()
Gets whether the user has opted to output the models for the training
splits
|
boolean |
isSelectedOutputPerClassStats()
Gets whether the user has opted to output per-class stats
|
boolean |
isSelectedOutputSourceCode()
Gets whether the user has opted to output source code
|
boolean |
isSelectedPercentageSplit()
Gets whether a percentage split has been selected by the user
|
boolean |
isSelectedPreserveOrder()
Gets whether the user has opted to preserve order of instances in a
percentage split
|
boolean |
isSelectedSeparateTestSet()
Gets whether a separate test set has been selected by the user
|
boolean |
isSelectedStoreTestDataAndPredictions()
Gets whether the user has opted to store the test data and the predictions in the history
|
boolean |
isSelectedTestOnTrain()
Gets whether test on train has been selected by the user
|
static void |
main(java.lang.String[] args)
Tests out the classifier panel from the command line.
|
boolean |
okToBeActive()
Returns true if the perspective is usable at this time.
|
boolean |
requiresLog()
Whether this perspective requires a graphical log to write to
|
void |
saveClassifier(java.lang.String name,
Classifier classifier,
Instances trainHeader)
Saves the currently selected classifier.
|
void |
setActive(boolean active)
Set active status of this perspective.
|
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.
|
void |
settingsChanged()
Called when the user alters settings.
|
static Evaluation |
setupEval(Evaluation eval,
Classifier classifier,
Instances inst,
CostMatrix costMatrix,
ClassifierErrorsPlotInstances plotInstances,
AbstractOutput classificationOutput,
boolean onlySetPriors)
Configures an evaluation object with respect to a classifier, cost matrix,
output and plotting.
|
static Evaluation |
setupEval(Evaluation eval,
Classifier classifier,
Instances inst,
CostMatrix costMatrix,
ClassifierErrorsPlotInstances plotInstances,
AbstractOutput classificationOutput,
boolean onlySetPriors,
boolean collectPredictions)
Configures an evaluation object with respect to a classifier, cost matrix,
output and plotting.
|
getMainApplication, getMenus, getPerspectiveIcon, getPerspectiveID, getPerspectiveTipText, getPerspectiveTitle, instantiationComplete, setLoaded, setMainApplication, terminate, toString
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
public static java.lang.String MODEL_FILE_EXTENSION
public static java.lang.String PMML_FILE_EXTENSION
public void setLog(Logger newLog)
setLog
in interface Explorer.LogHandler
setLog
in interface Perspective
setLog
in class AbstractPerspective
newLog
- the Logger that will now get info messagespublic void setInstances(Instances inst)
setInstances
in interface Explorer.ExplorerPanel
setInstances
in interface Perspective
setInstances
in class AbstractPerspective
inst
- a set of Instancespublic Instances getInstances()
public static Evaluation setupEval(Evaluation eval, Classifier classifier, Instances inst, CostMatrix costMatrix, ClassifierErrorsPlotInstances plotInstances, AbstractOutput classificationOutput, boolean onlySetPriors) throws java.lang.Exception
eval
- the Evaluation object to configureclassifier
- the Classifier being usedinst
- the Instances involvedcostMatrix
- a cost matrix (if any)plotInstances
- a ClassifierErrorsPlotInstances for visualization of
errors (can be null)classificationOutput
- an output object for printing predictions (can
be null)onlySetPriors
- true to only set priorsjava.lang.Exception
- if a problem occurspublic static Evaluation setupEval(Evaluation eval, Classifier classifier, Instances inst, CostMatrix costMatrix, ClassifierErrorsPlotInstances plotInstances, AbstractOutput classificationOutput, boolean onlySetPriors, boolean collectPredictions) throws java.lang.Exception
eval
- the Evaluation object to configureclassifier
- the Classifier being usedinst
- the Instances involvedcostMatrix
- a cost matrix (if any)plotInstances
- a ClassifierErrorsPlotInstances for visualization of
errors (can be null)classificationOutput
- an output object for printing predictions (can
be null)onlySetPriors
- true to only set priorscollectPredictions
- whether to collect predictions for calculating ROC, etc.java.lang.Exception
- if a problem occurspublic void saveClassifier(java.lang.String name, Classifier classifier, Instances trainHeader)
name
- the name of the runclassifier
- the classifier to savetrainHeader
- the header of the training instancespublic 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 java.lang.String getTabTitle()
getTabTitle
in interface Explorer.ExplorerPanel
public java.lang.String getTabTitleToolTip()
getTabTitleToolTip
in interface Explorer.ExplorerPanel
public boolean requiresLog()
AbstractPerspective
requiresLog
in interface Perspective
requiresLog
in class AbstractPerspective
public boolean acceptsInstances()
AbstractPerspective
acceptsInstances
in interface Perspective
acceptsInstances
in class AbstractPerspective
public Defaults getDefaultSettings()
AbstractPerspective
getDefaultSettings
in interface Perspective
getDefaultSettings
in class AbstractPerspective
public boolean okToBeActive()
AbstractPerspective
okToBeActive
in interface Perspective
okToBeActive
in class AbstractPerspective
public void setActive(boolean active)
AbstractPerspective
setActive
in interface Perspective
setActive
in class AbstractPerspective
active
- true if this perspective is the active onepublic void settingsChanged()
AbstractPerspective
settingsChanged
in interface Perspective
settingsChanged
in class AbstractPerspective
public boolean isSelectedCV()
public boolean isSelectedTestOnTrain()
public boolean isSelectedPercentageSplit()
public boolean isSelectedSeparateTestSet()
public boolean isSelectedEvalWithRespectToCosts()
public boolean isSelectedOutputModel()
public boolean isSelectedOutputModelsForTrainingSplits()
public boolean isSelectedOutputConfusion()
public boolean isSelectedOutputPerClassStats()
public boolean isSelectedOutputEntropy()
public boolean isSelectedStoreTestDataAndPredictions()
public boolean isSelectedCollectPredictionsForEvaluation()
public boolean isSelectedOutputSourceCode()
public boolean isSelectedPreserveOrder()
public java.lang.String getSourceCodeClassName()
public int getSelectedClassIndex()
public int getNumCVFolds()
public double getPercentageSplit()
public Classifier getClassifier()
public CostMatrix getCostMatrix()
public java.lang.Object getClassificationOutputFormatter()
public ResultHistoryPanel getResultHistory()
public Loader getSeparateTestSetLoader()
public int getSeparateTestSetClassIndex()
public int getRandomSeed()
public Logger getLog()
public static void main(java.lang.String[] args)
args
- may optionally contain the name of a dataset to load.