Package weka.gui.beans
Class SerializedModelSaver
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
weka.gui.beans.SerializedModelSaver
- All Implemented Interfaces:
ImageObserver,MenuContainer,Serializable,EventListener,Accessible,EnvironmentHandler,BatchClassifierListener,BatchClustererListener,BeanCommon,IncrementalClassifierListener,Visible
@KFStep(category="DataSinks",
toolTipText="Save a batch or incremental model to file")
public class SerializedModelSaver
extends JPanel
implements BeanCommon, Visible, BatchClassifierListener, IncrementalClassifierListener, BatchClustererListener, EnvironmentHandler, Serializable
A bean that saves serialized models
- Version:
- $Revision: 15231 $
- Author:
- Mark Hall (mhall{[at]}pentaho{[dot]}org
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Component
Component.BaselineResizeBehavior -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final Stringthe extension for serialized models (binary Java serialization)static final intAvailable file formats.static final intFields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidAccept and save a batch trained classifier.voidAccept and save an incrementally trained classifier.voidAccept and save a batch trained clusterer.booleanReturns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor.booleanconnectionAllowed(String eventName) Returns true if, at this time, the object will accept a connection according to the supplied event name.voidconnectionNotification(String eventName, Object source) Notify this object that it has been registered as a listener with a source with respect to the supplied event name.voiddisconnectionNotification(String eventName, Object source) Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name.Get the custom (descriptive) name for this bean (if one has been set)Get the directory that the model(s) will be saved intoGet the file format to use for saving.booleanGet whether the relation name of the training data used to create the model is to be included in the filename of the serialized model.intGet how often to save incremental models.Get the prefix to prepend to the model file names.booleanGet whether to use relative paths for the directory.Get the visual being used by this data source.Global info for this bean.booleanisBusy()Returns true if.static voidsaveBinary(File saveTo, Object model, Instances header) Save a model in binary form.static voidSave a model in KOML deep object serialized XML form.static voidsaveXStream(File saveTo, Object model, Instances header) Save a model in XStream deep object serialized XML form.voidsetCustomName(String name) Set a custom (descriptive) name for this beanvoidsetDirectory(File d) Set the directory that the model(s) will be saved into.voidSet environment variables to use.voidsetFileFormat(Tag ff) Set the file format to use for saving.voidsetIncludeRelationName(boolean rn) Set whether the relation name of the training data used to create the model should be included as part of the filename for the serialized model.voidsetIncrementalSaveSchedule(int s) Set how often to save incremental models.voidSet a log for this bean.voidSet the prefix to prepend to the model file names.voidsetUseRelativePath(boolean rp) Set whether to use relative paths for the directory.voidsetVisual(BeanVisual newVisual) Set the visual for this data source.voidstop()Stop any processing that the bean might be doing.voidUse the default images for this bean.Validate the file format.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUIMethods inherited from class javax.swing.JComponent
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, updateMethods inherited from class java.awt.Container
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, validateMethods inherited from class java.awt.Component
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, 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, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
BINARY
public static final int BINARY- See Also:
-
KOMLV
public static final int KOMLV- See Also:
-
XSTREAM
public static final int XSTREAM- See Also:
-
FILE_EXTENSION
the extension for serialized models (binary Java serialization)- See Also:
-
s_fileFormatsAvailable
Available file formats. Reflection is used to check if classes are available for deep object serialization to XML
-
-
Constructor Details
-
SerializedModelSaver
public SerializedModelSaver()Constructor.
-
-
Method Details
-
setCustomName
Set a custom (descriptive) name for this bean- Specified by:
setCustomNamein interfaceBeanCommon- Parameters:
name- the name to use
-
getCustomName
Get the custom (descriptive) name for this bean (if one has been set)- Specified by:
getCustomNamein interfaceBeanCommon- Returns:
- the custom name (or the default name)
-
useDefaultVisual
public void useDefaultVisual()Use the default images for this bean.- Specified by:
useDefaultVisualin interfaceVisible
-
setVisual
Set the visual for this data source. -
getVisual
Get the visual being used by this data source. -
connectionAllowed
Returns true if, at this time, the object will accept a connection according to the supplied EventSetDescriptor.- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
esd- the EventSetDescriptor- Returns:
- true if the object will accept a connection
-
connectionAllowed
Returns true if, at this time, the object will accept a connection according to the supplied event name.- Specified by:
connectionAllowedin interfaceBeanCommon- Parameters:
eventName- the event- Returns:
- true if the object will accept a connection
-
connectionNotification
Notify this object that it has been registered as a listener with a source with respect to the supplied event name.- Specified by:
connectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
disconnectionNotification
Notify this object that it has been deregistered as a listener with a source with respect to the supplied event name.- Specified by:
disconnectionNotificationin interfaceBeanCommon- Parameters:
eventName- the eventsource- the source with which this object has been registered as a listener
-
setLog
Set a log for this bean.- Specified by:
setLogin interfaceBeanCommon- Parameters:
logger- aweka.gui.Loggervalue
-
stop
public void stop()Stop any processing that the bean might be doing.- Specified by:
stopin interfaceBeanCommon
-
isBusy
public boolean isBusy()Returns true if. at this time, the bean is busy with some (i.e. perhaps a worker thread is performing some calculation).- Specified by:
isBusyin interfaceBeanCommon- Returns:
- true if the bean is busy.
-
acceptClusterer
Accept and save a batch trained clusterer.- Specified by:
acceptClustererin interfaceBatchClustererListener- Parameters:
ce- aBatchClassifierEventvalue
-
acceptClassifier
Accept and save an incrementally trained classifier.- Specified by:
acceptClassifierin interfaceIncrementalClassifierListener- Parameters:
ce- the BatchClassifierEvent containing the classifier
-
acceptClassifier
Accept and save a batch trained classifier.- Specified by:
acceptClassifierin interfaceBatchClassifierListener- Parameters:
ce- the BatchClassifierEvent containing the classifier
-
saveBinary
Save a model in binary form.- Parameters:
saveTo- the file name to save tomodel- the model to saveheader- the header of the data that was used to train the model (optional)- Throws:
IOException
-
saveKOML
Save a model in KOML deep object serialized XML form.- Parameters:
saveTo- the file name to save tomodel- the model to saveheader- the header of the data that was used to train the model (optional)- Throws:
Exception
-
saveXStream
Save a model in XStream deep object serialized XML form.- Parameters:
saveTo- the file name to save tomodel- the model to saveheader- the header of the data that was used to train the model (optional)- Throws:
Exception
-
getDirectory
Get the directory that the model(s) will be saved into- Returns:
- the directory to save to
-
setDirectory
Set the directory that the model(s) will be saved into.- Parameters:
d- the directory to save to
-
setUseRelativePath
public void setUseRelativePath(boolean rp) Set whether to use relative paths for the directory. I.e. relative to the startup (user.dir) directory- Parameters:
rp- true if relative paths are to be used
-
getUseRelativePath
public boolean getUseRelativePath()Get whether to use relative paths for the directory. I.e. relative to the startup (user.dir) directory- Returns:
- true if relative paths are to be used
-
setIncludeRelationName
public void setIncludeRelationName(boolean rn) Set whether the relation name of the training data used to create the model should be included as part of the filename for the serialized model.- Parameters:
rn- true if the relation name should be included in the file name
-
getIncludeRelationName
public boolean getIncludeRelationName()Get whether the relation name of the training data used to create the model is to be included in the filename of the serialized model.- Returns:
- true if the relation name is to be included in the file name
-
getPrefix
Get the prefix to prepend to the model file names.- Returns:
- the prefix to prepend
-
setPrefix
Set the prefix to prepend to the model file names.- Parameters:
p- the prefix to prepend
-
setIncrementalSaveSchedule
public void setIncrementalSaveSchedule(int s) Set how often to save incremental models. <= 0 means only at the end of the stream- Parameters:
s- how often to save (after every s instances)
-
getIncrementalSaveSchedule
public int getIncrementalSaveSchedule()Get how often to save incremental models. <= 0 means only at the end of the stream- Returns:
- how often to save (after every s instances)
-
globalInfo
Global info for this bean. Gets displayed in the GUI.- Returns:
- information about this bean.
-
setFileFormat
Set the file format to use for saving.- Parameters:
ff- the file format to use
-
getFileFormat
Get the file format to use for saving.- Returns:
- the file format to use
-
validateFileFormat
Validate the file format. After this bean is deserialized, classes for XML serialization may not be in the classpath any more.- Parameters:
ff- the current file format to validate
-
setEnvironment
Set environment variables to use.- Specified by:
setEnvironmentin interfaceEnvironmentHandler- Parameters:
env- the environment variables to use
-