@PerspectiveInfo(ID="weka.gui.explorer.clustererpanel", title="Cluster", toolTipText="Cluster instances", iconPath="weka/gui/weka_icon_new_small.png") public class ClustererPanel extends AbstractPerspective implements Explorer.CapabilitiesFilterChangeListener, Explorer.ExplorerPanel, Explorer.LogHandler
| Modifier and Type | Class and Description |
|---|---|
protected static class |
ClustererPanel.ClustererPanelDefaults
Default settings for the clusterer panel
|
static class |
ClustererPanel.TestMode |
javax.swing.JPanel.AccessibleJPaneljavax.swing.JComponent.AccessibleJComponent| Modifier and Type | Field and Description |
|---|---|
protected javax.swing.JComboBox |
m_ClassCombo
Lets the user select the class column for classes to clusters based
evaluation
|
protected javax.swing.JRadioButton |
m_ClassesToClustersBut
Click to set test mode to classes to clusters based evaluation
|
protected PropertyPanel |
m_CLPanel
The panel showing the current clusterer selection
|
protected GenericObjectEditor |
m_ClustererEditor
Lets the user configure the clusterer
|
protected VisualizePanel |
m_CurrentVis
The current visualization object
|
protected Explorer |
m_Explorer
the parent frame
|
protected javax.swing.JFileChooser |
m_FileChooser
The file chooser for selecting model files
|
protected ResultHistoryPanel |
m_History
A panel controlling results viewing
|
protected javax.swing.JButton |
m_ignoreBut
The button used to popup a list for choosing attributes to ignore while
clustering
|
protected javax.swing.JList |
m_ignoreKeyList |
protected javax.swing.DefaultListModel |
m_ignoreKeyModel |
protected boolean |
m_initialSettingsSet
Whether startup settings have been applied yet or not
|
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
|
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
|
protected java.lang.Thread |
m_RunThread
A thread that clustering runs in
|
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 clusterer
|
protected javax.swing.JButton |
m_StopBut
Click to stop a running clusterer
|
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
|
static java.lang.String |
MODEL_FILE_EXTENSION
The filename extension that should be used for model files
|
m_isActive, m_isLoaded, m_log, m_mainApplication, m_perspectiveIcon, m_perspectiveID, m_perspectiveTipText, m_perspectiveTitlelistenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW| Constructor and Description |
|---|
ClustererPanel()
Creates the clusterer 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
|
Defaults |
getDefaultSettings()
Get the default settings for this perspective (or null if there are none)
|
Explorer |
getExplorer()
returns the parent Explorer frame
|
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
|
protected void |
loadClusterer()
Loads a clusterer
|
static void |
main(java.lang.String[] args)
Tests out the clusterer panel from the command line.
|
boolean |
okToBeActive()
Returns true if the perspective is usable at this time.
|
protected void |
reevaluateModel(java.lang.String name,
Clusterer clusterer,
Instances trainHeader,
int[] ignoredAtts)
Re-evaluates the named clusterer with the current test set.
|
boolean |
requiresLog()
Whether this perspective requires a graphical log to write to
|
protected void |
saveBuffer(java.lang.String name)
Save the currently selected clusterer output to a file.
|
protected void |
saveClusterer(java.lang.String name,
Clusterer clusterer,
Instances trainHeader,
int[] ignoredAtts)
Saves the currently selected clusterer
|
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
|
protected void |
setTestSet()
Sets the user test set.
|
void |
settingsChanged()
Called when the user alters settings.
|
protected void |
startClusterer()
Starts running the currently configured clusterer with the current
settings.
|
protected void |
stopClusterer()
Stops the currently running clusterer (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 |
visualizeClusterAssignments(VisualizePanel sp)
Pops up a visualize panel to display cluster assignments
|
protected void |
visualizeClusterer(java.util.List<java.lang.String> names,
int x,
int y)
Handles constructing a popup menu with visualization options
|
protected void |
visualizeTree(java.lang.String graphString,
java.lang.String treeName)
Pops up a TreeVisualizer for the clusterer from the currently selected item
in the results list
|
getMainApplication, getMenus, getPerspectiveIcon, getPerspectiveID, getPerspectiveTipText, getPerspectiveTitle, instantiationComplete, setLoaded, setMainApplication, toStringgetAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIaddAncestorListener, 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, updateadd, 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, validateTreeaction, 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, transferFocus, transferFocusBackward, transferFocusUpCycleprotected Explorer m_Explorer
public static java.lang.String MODEL_FILE_EXTENSION
protected GenericObjectEditor m_ClustererEditor
protected PropertyPanel m_CLPanel
protected javax.swing.JTextArea m_OutText
protected Logger m_Log
protected ResultHistoryPanel m_History
protected javax.swing.JRadioButton m_PercentBut
protected javax.swing.JRadioButton m_TrainBut
protected javax.swing.JRadioButton m_TestSplitBut
protected javax.swing.JRadioButton m_ClassesToClustersBut
protected javax.swing.JComboBox m_ClassCombo
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 javax.swing.JButton m_ignoreBut
protected javax.swing.DefaultListModel m_ignoreKeyModel
protected javax.swing.JList m_ignoreKeyList
protected javax.swing.JButton m_StartBut
protected javax.swing.JButton m_StopBut
protected Instances m_Instances
protected Instances m_TestInstances
protected VisualizePanel m_CurrentVis
protected javax.swing.JCheckBox m_StorePredictionsBut
protected java.lang.Thread m_RunThread
protected InstancesSummaryPanel m_Summary
protected javax.swing.filechooser.FileFilter m_ModelFilter
protected javax.swing.JFileChooser m_FileChooser
protected boolean m_initialSettingsSet
protected void updateRadioLinks()
public void setLog(Logger newLog)
setLog in interface Explorer.LogHandlersetLog in interface PerspectivesetLog in class AbstractPerspectivenewLog - the Logger that will now get info messagespublic void setInstances(Instances inst)
setInstances in interface Explorer.ExplorerPanelsetInstances in interface PerspectivesetInstances in class AbstractPerspectiveinst - a set of Instancesprotected void setTestSet()
protected void startClusterer()
protected void stopClusterer()
protected void visualizeTree(java.lang.String graphString,
java.lang.String treeName)
graphString - the description of the tree in dotty formattreeName - the title to assign to the displayprotected void visualizeClusterAssignments(VisualizePanel sp)
sp - the visualize panel to displayprotected void visualizeClusterer(java.util.List<java.lang.String> names,
int x,
int y)
names - 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 saveBuffer(java.lang.String name)
name - the name of the buffer to saveprotected void saveClusterer(java.lang.String name,
Clusterer clusterer,
Instances trainHeader,
int[] ignoredAtts)
protected void loadClusterer()
protected void reevaluateModel(java.lang.String name,
Clusterer clusterer,
Instances trainHeader,
int[] ignoredAtts)
name - the name of the clusterer entryclusterer - the clusterer to evaluatetrainHeader - the header of the training setignoredAtts - ignored attributesprotected void updateCapabilitiesFilter(Capabilities filter)
filter - the new filter to usepublic void capabilitiesFilterChanged(Explorer.CapabilitiesFilterChangeEvent e)
capabilitiesFilterChanged in interface Explorer.CapabilitiesFilterChangeListenere - the associated change eventpublic void setExplorer(Explorer parent)
setExplorer in interface Explorer.ExplorerPanelparent - the parent framepublic Explorer getExplorer()
getExplorer in interface Explorer.ExplorerPanelpublic java.lang.String getTabTitle()
getTabTitle in interface Explorer.ExplorerPanelpublic java.lang.String getTabTitleToolTip()
getTabTitleToolTip in interface Explorer.ExplorerPanelpublic boolean requiresLog()
AbstractPerspectiverequiresLog in interface PerspectiverequiresLog in class AbstractPerspectivepublic boolean acceptsInstances()
AbstractPerspectiveacceptsInstances in interface PerspectiveacceptsInstances in class AbstractPerspectivepublic Defaults getDefaultSettings()
AbstractPerspectivegetDefaultSettings in interface PerspectivegetDefaultSettings in class AbstractPerspectivepublic boolean okToBeActive()
AbstractPerspectiveokToBeActive in interface PerspectiveokToBeActive in class AbstractPerspectivepublic void setActive(boolean active)
AbstractPerspectivesetActive in interface PerspectivesetActive in class AbstractPerspectiveactive - true if this perspective is the active onepublic void settingsChanged()
AbstractPerspectivesettingsChanged in interface PerspectivesettingsChanged in class AbstractPerspectivepublic static void main(java.lang.String[] args)
args - may optionally contain the name of a dataset to load.