Package weka.clusterers
Class AbstractDensityBasedClusterer
- java.lang.Object
-
- weka.clusterers.AbstractClusterer
-
- weka.clusterers.AbstractDensityBasedClusterer
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,Clusterer,DensityBasedClusterer,CapabilitiesHandler,RevisionHandler
- Direct Known Subclasses:
MakeDensityBasedClusterer,RandomizableDensityBasedClusterer
public abstract class AbstractDensityBasedClusterer extends AbstractClusterer implements DensityBasedClusterer
Abstract clustering model that produces (for each test instance) an estimate of the membership in each cluster (ie. a probability distribution).- Version:
- $Revision: 1.1 $
- Author:
- Mark Hall (mhall@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description AbstractDensityBasedClusterer()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract double[]clusterPriors()Returns the prior probability of each cluster.double[]distributionForInstance(Instance instance)Returns the cluster probability distribution for an instance.doublelogDensityForInstance(Instance instance)Computes the density for a given instance.abstract double[]logDensityPerClusterForInstance(Instance instance)Computes the log of the conditional density (per cluster) for a given instance.double[]logJointDensitiesForInstance(Instance inst)Returns the logs of the joint densities for a given instance.static DensityBasedClusterer[]makeCopies(DensityBasedClusterer model, int num)Creates copies of the current clusterer.-
Methods inherited from class weka.clusterers.AbstractClusterer
buildClusterer, clusterInstance, forName, getCapabilities, getRevision, makeCopies, makeCopy, numberOfClusters
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface weka.clusterers.Clusterer
buildClusterer, clusterInstance, getCapabilities, numberOfClusters
-
-
-
-
Method Detail
-
clusterPriors
public abstract double[] clusterPriors() throws java.lang.ExceptionReturns the prior probability of each cluster.- Specified by:
clusterPriorsin interfaceDensityBasedClusterer- Returns:
- the prior probability for each cluster
- Throws:
java.lang.Exception- if priors could not be returned successfully
-
logDensityPerClusterForInstance
public abstract double[] logDensityPerClusterForInstance(Instance instance) throws java.lang.Exception
Computes the log of the conditional density (per cluster) for a given instance.- Specified by:
logDensityPerClusterForInstancein interfaceDensityBasedClusterer- Parameters:
instance- the instance to compute the density for- Returns:
- an array containing the estimated densities
- Throws:
java.lang.Exception- if the density could not be computed successfully
-
logDensityForInstance
public double logDensityForInstance(Instance instance) throws java.lang.Exception
Computes the density for a given instance.- Specified by:
logDensityForInstancein interfaceDensityBasedClusterer- Parameters:
instance- the instance to compute the density for- Returns:
- the density.
- Throws:
java.lang.Exception- if the density could not be computed successfully
-
distributionForInstance
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
Returns the cluster probability distribution for an instance.- Specified by:
distributionForInstancein interfaceClusterer- Specified by:
distributionForInstancein interfaceDensityBasedClusterer- Overrides:
distributionForInstancein classAbstractClusterer- Parameters:
instance- the instance to be clustered- Returns:
- the probability distribution
- Throws:
java.lang.Exception- if computation fails
-
logJointDensitiesForInstance
public double[] logJointDensitiesForInstance(Instance inst) throws java.lang.Exception
Returns the logs of the joint densities for a given instance.- Specified by:
logJointDensitiesForInstancein interfaceDensityBasedClusterer- Parameters:
inst- the instance- Returns:
- the array of values
- Throws:
java.lang.Exception- if values could not be computed
-
makeCopies
public static DensityBasedClusterer[] makeCopies(DensityBasedClusterer model, int num) throws java.lang.Exception
Creates copies of the current clusterer. Note that this method now uses Serialization to perform a deep copy, so the Clusterer object must be fully Serializable. Any currently built model will now be copied as well.- Parameters:
model- an example clusterer to copynum- the number of clusterer copies to create.- Returns:
- an array of clusterers.
- Throws:
java.lang.Exception- if an error occurs
-
-