|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.knime.core.node.NodeModel
org.knime.base.node.preproc.discretization.caim2.modelcreator.CAIMDiscretizationNodeModel
public class CAIMDiscretizationNodeModel
Implements the CAIM discretization algorithm. The algorithm is based on the publication of Kurgan and Cios (2004) and performs a discretization based on a Class-Interval interdependance measure. The algorithm therefore incorporates the class information (supervised discretization)
CAIMDiscretization2NodeFactory| Field Summary | |
|---|---|
(package private) static int |
DATA_INPORT
index of the port receiving data. |
(package private) static int |
DATA_OUTPORT
index of the port providing output data. |
(package private) static int |
MODEL_OUTPORT
index of the port providing the model. |
static String |
USE_CLASS_OPTIMIZATION
Key to store whether the class optimized version should be applied. |
| Constructor Summary | |
|---|---|
CAIMDiscretizationNodeModel()
Initializes a new CAIM model with one data in- and one data output port. |
|
| Method Summary | |
|---|---|
protected PortObjectSpec[] |
configure(PortObjectSpec[] inSpecs)
The number of the class columns must be > 0 and < number of input columns. |
(package private) static SettingsModelString |
createClassColModel()
|
(package private) static SettingsModelFilterString |
createIncludeColsModel()
|
static BufferedDataTable |
createResultTable(ExecutionContext exec,
BufferedDataTable table,
DiscretizationModel discretizationModel)
Creates BufferedDataTable from a given input table and an
appropriate DiscretizationScheme. |
(package private) static SettingsModelBoolean |
createSortInMemModel()
|
protected PortObject[] |
execute(PortObject[] inData,
ExecutionContext exec)
Execute method for general port types. |
(package private) static DiscretizationScheme[] |
filterNotKnownSchemes(DiscretizationScheme[] schemes,
String[] schemeColumnNames,
DataTableSpec spec)
Filters out all schemes for which the corresponding column is not part of the given table spec. |
DiscretizationModel |
getDiscretizationModel()
Returns the discretization node model of this node. |
protected void |
loadInternals(File nodeInternDir,
ExecutionMonitor exec)
Load internals into the derived NodeModel. |
protected void |
loadValidatedSettingsFrom(NodeSettingsRO settings)
Loads the class column and the classification value in the model. |
protected void |
reset()
Resets all internal data. |
protected void |
saveInternals(File nodeInternDir,
ExecutionMonitor exec)
Save internals of the derived NodeModel. |
protected void |
saveSettingsTo(NodeSettingsWO settings)
Saves the class column and the classification value in the settings. |
protected void |
validateSettings(NodeSettingsRO settings)
This method validates the settings. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String USE_CLASS_OPTIMIZATION
static final int DATA_INPORT
static final int MODEL_OUTPORT
static final int DATA_OUTPORT
| Constructor Detail |
|---|
public CAIMDiscretizationNodeModel()
| Method Detail |
|---|
protected PortObject[] execute(PortObject[] inData,
ExecutionContext exec)
throws Exception
PortObject classes that are defined through the
PortTypes given in the
constructor.
Similarly, the returned output objects need to comply with their port
types object class (otherwise an error is reported by the framework).
For a general description of the execute method refer to the description
of the specialized
NodeModel.execute(BufferedDataTable[], ExecutionContext) methods as it
addresses more use cases.
execute in class NodeModelinData - The input objects.exec - For BufferedDataTable creation and progress.
Exception - If the node execution fails for any reason.
static DiscretizationScheme[] filterNotKnownSchemes(DiscretizationScheme[] schemes,
String[] schemeColumnNames,
DataTableSpec spec)
schemes - the scheme to filterschemeColumnNames - the column names for the given schemesspec - the spec used as filter criteria
public static BufferedDataTable createResultTable(ExecutionContext exec,
BufferedDataTable table,
DiscretizationModel discretizationModel)
BufferedDataTable from a given input table and an
appropriate DiscretizationScheme. The result table has replaced
columns according to the DiscretizationScheme.
exec - the context from which to create the
BufferedDataTabletable - the input data tablediscretizationModel - the DiscretizationModel that contains
the mapping from numerical intervals to nominal String values
for the included columns
protected void reset()
reset in class NodeModel
protected PortObjectSpec[] configure(PortObjectSpec[] inSpecs)
throws InvalidSettingsException
PortObjectSpecs that are defined through the
PortTypes given in the
constructor.
Similarly, the returned output specs need to comply with their port types
spec class (otherwise an error is reported by the framework). They may
also be null.
For a general description of the configure method refer to the
description of the specialized NodeModel.configure(DataTableSpec[])
methods as it addresses more use cases.
configure in class NodeModelinSpecs - The input data table specs. Items of the array could be
null if no spec is available from the corresponding input port
(i.e. not connected or upstream node does not produce an
output spec). If a port is of type
BufferedDataTable.TYPE and no spec is available the
framework will replace null by an empty DataTableSpec
(no columns) unless the port is marked as optional.
InvalidSettingsException - If this node can't be configured.
protected void loadValidatedSettingsFrom(NodeSettingsRO settings)
throws InvalidSettingsException
#validateSettings(NodeSettings) method. The model must set
its internal configuration according to the settings object passed.
loadValidatedSettingsFrom in class NodeModelsettings - The settings to read.
InvalidSettingsException - If a property is not available.NodeModel.saveSettingsTo(NodeSettingsWO),
NodeModel.validateSettings(NodeSettingsRO)protected void saveSettingsTo(NodeSettingsWO settings)
NodeSettings the model specific
settings. The settings don't need to be complete or consistent. If, right
after startup, no valid settings are available this method can write
either nothing or invalid settings.
Method is called by the Node if the current settings need
to be saved or transfered to the node's dialog.
saveSettingsTo in class NodeModelsettings - The object to write settings into.NodeModel.loadValidatedSettingsFrom(NodeSettingsRO),
NodeModel.validateSettings(NodeSettingsRO)
protected void validateSettings(NodeSettingsRO settings)
throws InvalidSettingsException
DataCell must not be nullNodeSettings object.
The specified settings should be checked for completeness and
consistency. It must be possible to load a settings object validated
here without any exception in the
#loadValidatedSettings(NodeSettings) method. The method
must not change the current settings in the model - it is supposed to
just check them. If some settings are missing, invalid, inconsistent, or
just not right throw an exception with a message useful to the user.
validateSettings in class NodeModelsettings - The settings to validate.
InvalidSettingsException - If the validation of the settings
failed.NodeModel.saveSettingsTo(NodeSettingsWO),
NodeModel.loadValidatedSettingsFrom(NodeSettingsRO)public DiscretizationModel getDiscretizationModel()
protected void loadInternals(File nodeInternDir,
ExecutionMonitor exec)
throws IOException,
CanceledExecutionException
NodeModel. This method is
only called if the Node was executed. Read all your
internal structures from the given file directory to create your internal
data structure which is necessary to provide all node functionalities
after the workflow is loaded, e.g. view content and/or hilite mapping.
loadInternals in class NodeModelnodeInternDir - The directory to read from.exec - Used to report progress and to cancel the load process.
IOException - If an error occurs during reading from this dir.
CanceledExecutionException - If the loading has been canceled.NodeModel.saveInternals(File,ExecutionMonitor)
protected void saveInternals(File nodeInternDir,
ExecutionMonitor exec)
throws IOException,
CanceledExecutionException
NodeModel. This method is
only called if the Node is executed. Write all your
internal structures into the given file directory which are necessary to
recreate this model when the workflow is loaded, e.g. view content and/or
hilite mapping.
saveInternals in class NodeModelnodeInternDir - The directory to write into.exec - Used to report progress and to cancel the save process.
IOException - If an error occurs during writing to this dir.
CanceledExecutionException - If the saving has been canceled.NodeModel.loadInternals(File,ExecutionMonitor)static SettingsModelString createClassColModel()
static SettingsModelBoolean createSortInMemModel()
static SettingsModelFilterString createIncludeColsModel()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||