Class ClassesToClusters
- java.lang.Object
-
- adams.core.logging.LoggingObject
-
- adams.gui.tools.wekainvestigator.evaluation.AbstractEvaluation<ClusterTab,ResultItem>
-
- adams.gui.tools.wekainvestigator.tab.clustertab.evaluation.AbstractClustererEvaluation
-
- adams.gui.tools.wekainvestigator.tab.clustertab.evaluation.ClassesToClusters
-
- All Implemented Interfaces:
adams.core.GlobalInfoSupporter
,adams.core.logging.LoggingSupporter
,adams.core.SizeOfHandler
,adams.core.StatusMessageHandler
,Serializable
public class ClassesToClusters extends AbstractClustererEvaluation
Tries to map the clusters of the built clusterer to the class labels in the dataset.- Version:
- $Revision$
- Author:
- FracPete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected adams.gui.core.BaseComboBox<String>
m_ComboBoxClass
the class attribute.protected adams.gui.core.BaseComboBox<String>
m_ComboBoxTest
the test set.protected adams.gui.core.BaseComboBox<String>
m_ComboBoxTrain
the train set.protected DefaultComboBoxModel<String>
m_ModelClass
the class attribute model.protected DefaultComboBoxModel<String>
m_ModelDatasets
the datasets model.protected adams.gui.core.ParameterPanel
m_PanelParameters
the panel with the parameters.-
Fields inherited from class adams.gui.tools.wekainvestigator.evaluation.AbstractEvaluation
m_Owner, m_PanelOptions
-
-
Constructor Summary
Constructors Constructor Description ClassesToClusters()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activate(int index)
Activates the specified dataset.String
canEvaluate(weka.clusterers.Clusterer clusterer)
Tests whether the clusterer can be evaluated.protected int
classIndex(weka.core.Instances data)
Returns the index of the selected class attribute in the provided dataset.void
deserialize(Map<String,Object> data, adams.core.MessageCollection errors)
Restores the objects.protected void
doEvaluate(weka.clusterers.Clusterer clusterer, ResultItem item)
Evaluates the clusterer and updates the result item.String
getName()
Returns the name of the evaluation (displayed in combobox).String
globalInfo()
Returns a string describing the object.ResultItem
init(weka.clusterers.Clusterer clusterer)
Initializes the result item.protected void
initGUI()
Initializes the widgets.protected int
numClasses()
Returns the number of classes in the test set.protected weka.core.Instances
removeClassAttribute(weka.core.Instances data)
Removes the class attribute from the dataset (if present).Map<String,Object>
serialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.protected String
toMatrixString(int numClusters, int[][] counts, int[] clusterTotals, weka.core.Instances inst)
Returns a "confusion" style matrix of classes to clusters assignmentsvoid
update()
Updates the settings panel.-
Methods inherited from class adams.gui.tools.wekainvestigator.tab.clustertab.evaluation.AbstractClustererEvaluation
evaluate, getEvaluations
-
Methods inherited from class adams.gui.tools.wekainvestigator.evaluation.AbstractEvaluation
addObjectSize, addToHistory, getOwner, getPanel, getProperties, getTestingUpdateInterval, initialize, isValidDataIndex, listOrArray, setOwner, showStatus, toString
-
-
-
-
Field Detail
-
m_PanelParameters
protected adams.gui.core.ParameterPanel m_PanelParameters
the panel with the parameters.
-
m_ComboBoxTrain
protected adams.gui.core.BaseComboBox<String> m_ComboBoxTrain
the train set.
-
m_ComboBoxTest
protected adams.gui.core.BaseComboBox<String> m_ComboBoxTest
the test set.
-
m_ModelDatasets
protected DefaultComboBoxModel<String> m_ModelDatasets
the datasets model.
-
m_ComboBoxClass
protected adams.gui.core.BaseComboBox<String> m_ComboBoxClass
the class attribute.
-
m_ModelClass
protected DefaultComboBoxModel<String> m_ModelClass
the class attribute model.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Returns:
- a description suitable for displaying in the gui
-
initGUI
protected void initGUI()
Initializes the widgets.- Overrides:
initGUI
in classAbstractEvaluation<ClusterTab,ResultItem>
-
getName
public String getName()
Returns the name of the evaluation (displayed in combobox).- Specified by:
getName
in classAbstractEvaluation<ClusterTab,ResultItem>
- Returns:
- the name
-
canEvaluate
public String canEvaluate(weka.clusterers.Clusterer clusterer)
Tests whether the clusterer can be evaluated.- Specified by:
canEvaluate
in classAbstractClustererEvaluation
- Parameters:
clusterer
- the current clusterer- Returns:
- null if successful, otherwise error message
-
init
public ResultItem init(weka.clusterers.Clusterer clusterer) throws Exception
Initializes the result item.- Specified by:
init
in classAbstractClustererEvaluation
- Parameters:
clusterer
- the current clusterer- Returns:
- the initialized history item
- Throws:
Exception
- if initialization fails
-
numClasses
protected int numClasses()
Returns the number of classes in the test set.- Returns:
- the number of classes, -1 in case of error
-
classIndex
protected int classIndex(weka.core.Instances data)
Returns the index of the selected class attribute in the provided dataset.- Parameters:
data
- the dataset to get the class index for- Returns:
- the class index, -1 if failed to locate attribute
-
removeClassAttribute
protected weka.core.Instances removeClassAttribute(weka.core.Instances data)
Removes the class attribute from the dataset (if present).- Parameters:
data
- the dataset to process- Returns:
- the clean dataset
-
toMatrixString
protected String toMatrixString(int numClusters, int[][] counts, int[] clusterTotals, weka.core.Instances inst) throws Exception
Returns a "confusion" style matrix of classes to clusters assignments- Parameters:
counts
- the counts of classes for each clusterclusterTotals
- total number of examples in each clusterinst
- the training instances (with class)- Returns:
- the "confusion" style matrix as string
- Throws:
Exception
- if matrix can't be generated
-
doEvaluate
protected void doEvaluate(weka.clusterers.Clusterer clusterer, ResultItem item) throws Exception
Evaluates the clusterer and updates the result item.- Specified by:
doEvaluate
in classAbstractClustererEvaluation
- Parameters:
clusterer
- the current clustereritem
- the item to update- Throws:
Exception
- if evaluation fails
-
update
public void update()
Updates the settings panel.- Specified by:
update
in classAbstractEvaluation<ClusterTab,ResultItem>
-
activate
public void activate(int index)
Activates the specified dataset.- Specified by:
activate
in classAbstractEvaluation<ClusterTab,ResultItem>
- Parameters:
index
- the index of the dataset
-
serialize
public Map<String,Object> serialize(Set<AbstractInvestigatorTab.SerializationOption> options)
Returns the objects for serialization.- Overrides:
serialize
in classAbstractEvaluation<ClusterTab,ResultItem>
- Parameters:
options
- what to serialize- Returns:
- the mapping of the objects to serialize
-
deserialize
public void deserialize(Map<String,Object> data, adams.core.MessageCollection errors)
Restores the objects.- Overrides:
deserialize
in classAbstractEvaluation<ClusterTab,ResultItem>
- Parameters:
data
- the data to restoreerrors
- for storing errors
-
-