Package adams.ml.model.classification
Class WekaClassificationModel
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.ml.model.classification.WekaClassificationModel
-
- All Implemented Interfaces:
LoggingSupporter
,SizeOfHandler
,ClassificationModel
,Model
,Serializable
public class WekaClassificationModel extends LoggingObject implements ClassificationModel
Classification model for Weka classifiers.- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected DatasetInfo
m_DatasetInfo
the dataset info.protected weka.core.Instances
m_InstancesHeader
the instances used.protected weka.classifiers.Classifier
m_Model
the underlying model.-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
-
Constructor Summary
Constructors Constructor Description WekaClassificationModel(weka.classifiers.Classifier model, Dataset data, weka.core.Instances inst)
Initializes the model.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
classify(Row row)
Returns the class label for the given row.double[]
distribution(Row row)
Returns the class distribution for the given row.DatasetInfo
getDatasetInfo()
Returns information about the dataset used for building the model.weka.core.Instances
getInstancesHeader()
Returns the Instances header used for building the model.String
getModelDescription()
Gets a short string description of the model.String
isCompatible(Dataset data)
Checks whether the dataset is compatible with the model.-
Methods inherited from class adams.core.logging.LoggingObject
configureLogger, getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled, sizeOf
-
-
-
-
Field Detail
-
m_Model
protected weka.classifiers.Classifier m_Model
the underlying model.
-
m_DatasetInfo
protected DatasetInfo m_DatasetInfo
the dataset info.
-
m_InstancesHeader
protected weka.core.Instances m_InstancesHeader
the instances used.
-
-
Constructor Detail
-
WekaClassificationModel
public WekaClassificationModel(weka.classifiers.Classifier model, Dataset data, weka.core.Instances inst)
Initializes the model.- Parameters:
model
- the built Weka classifierdata
- the training datainst
- the Weka training data
-
-
Method Detail
-
classify
public String classify(Row row) throws Exception
Returns the class label for the given row.- Specified by:
classify
in interfaceClassificationModel
- Parameters:
row
- the row to make predictions for- Returns:
- the prediction
- Throws:
Exception
- if prediction fails
-
distribution
public double[] distribution(Row row) throws Exception
Returns the class distribution for the given row.- Specified by:
distribution
in interfaceClassificationModel
- Parameters:
row
- the row to generate the class distribution for- Returns:
- the class distribution
- Throws:
Exception
- if prediction fails
-
getDatasetInfo
public DatasetInfo getDatasetInfo()
Returns information about the dataset used for building the model.- Specified by:
getDatasetInfo
in interfaceModel
- Returns:
- the information
-
getInstancesHeader
public weka.core.Instances getInstancesHeader()
Returns the Instances header used for building the model.- Returns:
- the header
-
getModelDescription
public String getModelDescription()
Gets a short string description of the model.- Specified by:
getModelDescription
in interfaceModel
- Returns:
- the description, null if none available
-
isCompatible
public String isCompatible(Dataset data)
Checks whether the dataset is compatible with the model.- Specified by:
isCompatible
in interfaceModel
- Parameters:
data
- the dataset to check- Returns:
- null if compatible, otherwise error message why not
-
-