weka.gui.beans
Class PredictionAppender

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JPanel
                  extended byweka.gui.beans.PredictionAppender
All Implemented Interfaces:
javax.accessibility.Accessible, BatchClassifierListener, BeanCommon, DataSource, EventConstraints, java.util.EventListener, java.awt.image.ImageObserver, IncrementalClassifierListener, java.awt.MenuContainer, java.io.Serializable, Visible

public class PredictionAppender
extends javax.swing.JPanel
implements DataSource, Visible, BeanCommon, EventConstraints, BatchClassifierListener, IncrementalClassifierListener, java.io.Serializable

Bean that can can accept batch or incremental classifier events and produce dataset or instance events which contain instances with predictions appended.

Version:
$Revision: 1.3 $
Author:
Mark Hall
See Also:
Serialized Form

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
protected  boolean m_appendProbabilities
          Append classifier's predicted probabilities (if the class is discrete and the classifier is a distribution classifier)
protected  java.util.Vector m_dataSourceListeners
          Objects listenening for dataset events
protected  Instances m_incrementalStructure
           
protected  InstanceEvent m_instanceEvent
           
protected  java.util.Vector m_instanceListeners
          Objects listening for instances events
protected  double[] m_instanceVals
           
protected  java.lang.Object m_listenee
          Non null if this object is a target for any events.
protected  Logger m_logger
           
protected  BeanVisual m_visual
           
 
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
PredictionAppender()
          Creates a new PredictionAppender instance.
 
Method Summary
 void acceptClassifier(BatchClassifierEvent e)
          Accept and process a batch classifier event
 void acceptClassifier(IncrementalClassifierEvent e)
          Accept and process an incremental classifier event
 void addDataSourceListener(DataSourceListener dsl)
          Add a datasource listener
 void addInstanceListener(InstanceListener dsl)
          Add an instance listener
 java.lang.String appendPredictedProbabilitiesTipText()
          Return a tip text suitable for displaying in a GUI
 boolean connectionAllowed(java.lang.String eventName)
          Returns true if, at this time, the object will accept a connection according to the supplied event name
 void connectionNotification(java.lang.String eventName, java.lang.Object source)
          Notify this object that it has been registered as a listener with a source with respect to the supplied event name
 void disconnectionNotification(java.lang.String eventName, java.lang.Object source)
          Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name
 boolean eventGeneratable(java.lang.String eventName)
          Returns true, if at the current time, the named event could be generated.
 boolean getAppendPredictedProbabilities()
          Return true if predicted probabilities are to be appended rather than class value
 BeanVisual getVisual()
          Get the visual being used by this data source.
 java.lang.String globalInfo()
          Global description of this bean
private  Instances makeDataSetClass(Instances format, Classifier classifier, java.lang.String relationNameModifier)
           
private  Instances makeDataSetProbabilities(Instances format, Classifier classifier, java.lang.String relationNameModifier)
           
protected  void notifyDataSetAvailable(DataSetEvent e)
          Notify all Data source listeners that a data set is available
protected  void notifyInstanceAvailable(InstanceEvent e)
          Notify all instance listeners that an instance is available
 void removeDataSourceListener(DataSourceListener dsl)
          Remove a datasource listener
 void removeInstanceListener(InstanceListener dsl)
          Remove an instance listener
 void setAppendPredictedProbabilities(boolean ap)
          Set whether to append predicted probabilities rather than class value (for discrete class data sets)
 void setLog(Logger logger)
          Set a logger
 void setVisual(BeanVisual newVisual)
          Set the visual for this data source
 void stop()
          Stop any processing that the bean might be doing.
 void useDefaultVisual()
          Use the default images for a data source
 
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

m_dataSourceListeners

protected java.util.Vector m_dataSourceListeners
Objects listenening for dataset events


m_instanceListeners

protected java.util.Vector m_instanceListeners
Objects listening for instances events


m_listenee

protected java.lang.Object m_listenee
Non null if this object is a target for any events.


m_visual

protected BeanVisual m_visual

m_appendProbabilities

protected boolean m_appendProbabilities
Append classifier's predicted probabilities (if the class is discrete and the classifier is a distribution classifier)


m_logger

protected Logger m_logger

m_incrementalStructure

protected Instances m_incrementalStructure

m_instanceEvent

protected InstanceEvent m_instanceEvent

m_instanceVals

protected double[] m_instanceVals
Constructor Detail

PredictionAppender

public PredictionAppender()
Creates a new PredictionAppender instance.

Method Detail

globalInfo

public java.lang.String globalInfo()
Global description of this bean

Returns:
a String value

appendPredictedProbabilitiesTipText

public java.lang.String appendPredictedProbabilitiesTipText()
Return a tip text suitable for displaying in a GUI

Returns:
a String value

getAppendPredictedProbabilities

public boolean getAppendPredictedProbabilities()
Return true if predicted probabilities are to be appended rather than class value

Returns:
a boolean value

setAppendPredictedProbabilities

public void setAppendPredictedProbabilities(boolean ap)
Set whether to append predicted probabilities rather than class value (for discrete class data sets)

Parameters:
ap - a boolean value

addDataSourceListener

public void addDataSourceListener(DataSourceListener dsl)
Add a datasource listener

Specified by:
addDataSourceListener in interface DataSource
Parameters:
dsl - a DataSourceListener value

removeDataSourceListener

public void removeDataSourceListener(DataSourceListener dsl)
Remove a datasource listener

Specified by:
removeDataSourceListener in interface DataSource
Parameters:
dsl - a DataSourceListener value

addInstanceListener

public void addInstanceListener(InstanceListener dsl)
Add an instance listener

Specified by:
addInstanceListener in interface DataSource
Parameters:
dsl - a InstanceListener value

removeInstanceListener

public void removeInstanceListener(InstanceListener dsl)
Remove an instance listener

Specified by:
removeInstanceListener in interface DataSource
Parameters:
dsl - a InstanceListener value

setVisual

public void setVisual(BeanVisual newVisual)
Set the visual for this data source

Specified by:
setVisual in interface Visible
Parameters:
newVisual - a BeanVisual value

getVisual

public BeanVisual getVisual()
Get the visual being used by this data source.

Specified by:
getVisual in interface Visible
Returns:
a BeanVisual value

useDefaultVisual

public void useDefaultVisual()
Use the default images for a data source

Specified by:
useDefaultVisual in interface Visible

acceptClassifier

public void acceptClassifier(IncrementalClassifierEvent e)
Accept and process an incremental classifier event

Specified by:
acceptClassifier in interface IncrementalClassifierListener
Parameters:
e - an IncrementalClassifierEvent value

acceptClassifier

public void acceptClassifier(BatchClassifierEvent e)
Accept and process a batch classifier event

Specified by:
acceptClassifier in interface BatchClassifierListener
Parameters:
e - a BatchClassifierEvent value

makeDataSetProbabilities

private Instances makeDataSetProbabilities(Instances format,
                                           Classifier classifier,
                                           java.lang.String relationNameModifier)
                                    throws java.lang.Exception
Throws:
java.lang.Exception

makeDataSetClass

private Instances makeDataSetClass(Instances format,
                                   Classifier classifier,
                                   java.lang.String relationNameModifier)
                            throws java.lang.Exception
Throws:
java.lang.Exception

notifyInstanceAvailable

protected void notifyInstanceAvailable(InstanceEvent e)
Notify all instance listeners that an instance is available

Parameters:
e - an InstanceEvent value

notifyDataSetAvailable

protected void notifyDataSetAvailable(DataSetEvent e)
Notify all Data source listeners that a data set is available

Parameters:
e - a DataSetEvent value

setLog

public void setLog(Logger logger)
Set a logger

Specified by:
setLog in interface BeanCommon
Parameters:
logger - a weka.gui.Logger value

stop

public void stop()
Description copied from interface: BeanCommon
Stop any processing that the bean might be doing.

Specified by:
stop in interface BeanCommon

connectionAllowed

public boolean connectionAllowed(java.lang.String eventName)
Returns true if, at this time, the object will accept a connection according to the supplied event name

Specified by:
connectionAllowed in interface BeanCommon
Parameters:
eventName - the event
Returns:
true if the object will accept a connection

connectionNotification

public void connectionNotification(java.lang.String eventName,
                                   java.lang.Object source)
Notify this object that it has been registered as a listener with a source with respect to the supplied event name

Specified by:
connectionNotification in interface BeanCommon
Parameters:
eventName -
source - the source with which this object has been registered as a listener

disconnectionNotification

public void disconnectionNotification(java.lang.String eventName,
                                      java.lang.Object source)
Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name

Specified by:
disconnectionNotification in interface BeanCommon
Parameters:
eventName - the event name
source - the source with which this object has been registered as a listener

eventGeneratable

public boolean eventGeneratable(java.lang.String eventName)
Returns true, if at the current time, the named event could be generated. Assumes that supplied event names are names of events that could be generated by this bean.

Specified by:
eventGeneratable in interface EventConstraints
Parameters:
eventName - the name of the event in question
Returns:
true if the named event could be generated at this point in time