netkit.classifiers.nonrelational
Class MetaMultiplicative

java.lang.Object
  extended by netkit.classifiers.ClassifierImp
      extended by netkit.classifiers.nonrelational.LocalMetaClassifier
          extended by netkit.classifiers.nonrelational.MetaMultiplicative
All Implemented Interfaces:
Classifier, Configurable

public final class MetaMultiplicative
extends LocalMetaClassifier

a classifier that multiplies the predictions of one or more classifiers and returns a normalized distribution as its own estimate. See the superclass for configuration details.

Author:
Sofus A. Macskassy (sofmac@gmail.com)

Field Summary
 
Fields inherited from class netkit.classifiers.nonrelational.LocalMetaClassifier
lclassifiers
 
Fields inherited from class netkit.classifiers.ClassifierImp
attribute, classPrior, clsIdx, graph, keyIndex, logger, nodeType, right, useIntrinsic, vectorClsIdx
 
Constructor Summary
MetaMultiplicative()
           
 
Method Summary
 boolean estimate(Node node, double[] result)
          Get the estimates from each of the underlying classifiers, multiply their respective predictions together and return a normalized distribution.
 java.lang.String getDescription()
           
 java.lang.String getName()
           
 java.lang.String getShortName()
           
 void induceModel(Graph graph, DataSplit split)
          Induce the model.
 java.lang.String toString()
           
 
Methods inherited from class netkit.classifiers.nonrelational.LocalMetaClassifier
configure, getClassifierNames, getDefaultConfiguration
 
Methods inherited from class netkit.classifiers.ClassifierImp
addListener, classify, classify, clearListeners, estimate, estimate, getAttributeNames, getLogger, getNofifyListeners, makeVector, notifyListeners, notifyListeners, removeListener, reset, setNofityListeners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

MetaMultiplicative

public MetaMultiplicative()
Method Detail

getShortName

public java.lang.String getShortName()
Returns:
'MetaMultiplicative'

getName

public java.lang.String getName()
Returns:
'MetaMultiplicative[COMMA-SEPARATED-LIST-OF-CLASSIFIERS]'

getDescription

public java.lang.String getDescription()
Returns:
a short description of this class functionality

induceModel

public void induceModel(Graph graph,
                        DataSplit split)
Induce the model. This calls the superclass.

Specified by:
induceModel in interface Classifier
Overrides:
induceModel in class LocalMetaClassifier
Parameters:
graph - Graph whose nodes are to be estimated
split - The split between training and test. Used to get the nodetype and class attribute.
See Also:
LocalMetaClassifier.induceModel(netkit.graph.Graph, netkit.classifiers.DataSplit)

estimate

public boolean estimate(Node node,
                        double[] result)
Get the estimates from each of the underlying classifiers, multiply their respective predictions together and return a normalized distribution.

Parameters:
node - The node to estimate class probabilities for
result - the double array containing the probability estimates that the node belongs to each of the possible class labels.
Returns:
the label estimate distribution of this classifier

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object