netkit.classifiers.relational
Class MetaMultiplicative

java.lang.Object
  extended by netkit.classifiers.ClassifierImp
      extended by netkit.classifiers.relational.NetworkClassifierImp
          extended by netkit.classifiers.relational.NetworkMetaClassifier
              extended by netkit.classifiers.relational.MetaMultiplicative
All Implemented Interfaces:
Classifier, NetworkClassifier, Configurable

public final class MetaMultiplicative
extends NetworkMetaClassifier

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)

Nested Class Summary
 
Nested classes/interfaces inherited from class netkit.classifiers.relational.NetworkClassifierImp
NetworkClassifierImp.Aggregation
 
Field Summary
 
Fields inherited from class netkit.classifiers.relational.NetworkMetaClassifier
lclassifiers, rclassifiers
 
Fields inherited from class netkit.classifiers.relational.NetworkClassifierImp
aggFactory, aggregation, aggregators, aggTypes, dynamicAggregators, prior
 
Fields inherited from class netkit.classifiers.ClassifierImp
attribute, classPrior, clsIdx, graph, keyIndex, logger, nodeType, right, useIntrinsic, vectorClsIdx
 
Constructor Summary
MetaMultiplicative()
           
 
Method Summary
protected  boolean doEstimate(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.relational.NetworkMetaClassifier
configure, getClassifierNames, getDefaultConfiguration
 
Methods inherited from class netkit.classifiers.relational.NetworkClassifierImp
classify, estimate, estimate, estimate, estimate, generateAggregators, getAttributeNames, includeClassAttribute, initializeRun, makeVector
 
Methods inherited from class netkit.classifiers.ClassifierImp
addListener, classify, classify, clearListeners, estimate, estimate, getLogger, getNofifyListeners, notifyListeners, notifyListeners, removeListener, reset, setNofityListeners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface netkit.classifiers.Classifier
addListener, classify, classify, clearListeners, estimate, estimate, getLogger, getNofifyListeners, notifyListeners, notifyListeners, removeListener, reset, setNofityListeners
 

Constructor Detail

MetaMultiplicative

public MetaMultiplicative()
Method Detail

getShortName

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

getName

public java.lang.String getName()
Returns:
'MetaMultiplicative Network Classifier(classifiernames)'
See Also:
NetworkMetaClassifier.getClassifierNames()

getDescription

public java.lang.String getDescription()
Returns:
'Does a bayesian combination (multiplies probabilities) of the classifiers to be used'

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 NetworkMetaClassifier
Parameters:
graph -
split -
See Also:
NetworkMetaClassifier.induceModel(netkit.graph.Graph, netkit.classifiers.DataSplit)

doEstimate

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

Specified by:
doEstimate in class NetworkClassifierImp
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