weka.clusterers

## Interface DensityBasedClusterer

- All Superinterfaces:
    Clusterer
  All Known Implementing Classes:
    AbstractDensityBasedClusterer, EM, MakeDensityBasedClusterer, RandomizableDensityBasedClusterer

      public interface DensityBasedClusterer
      extends Clusterer

  Interface for clusterers that can estimate the density for a given instance. Implementations will typically extend AbstractDensityBasedClusterer.
  Version:
    $Revision: 9379 $
  Author:
    Mark Hall (mhall@cs.waikato.ac.nz), Eibe Frank (eibe@cs.waikato.ac.nz)

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `double[]` | `clusterPriors()` Returns the prior probability of each cluster.
    `double[]` | `distributionForInstance(Instance instance)` Returns the cluster probability distribution for an instance.
    `double` | `logDensityForInstance(Instance instance)` Computes the density for a given instance.
    `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.

    - ### Methods inherited from interface weka.clusterers.Clusterer

      `buildClusterer, clusterInstance, getCapabilities, numberOfClusters`

- - ### Method Detail

    - #### clusterPriors

          double[] clusterPriors()
                          throws java.lang.Exception

      Returns the prior probability of each cluster.
      Returns:
        the prior probability for each cluster
      Throws:
        `java.lang.Exception` - if priors could not be returned successfully

    - #### logDensityPerClusterForInstance

          double[] logDensityPerClusterForInstance(Instance instance)
                                            throws java.lang.Exception

      Computes the log of the conditional density (per cluster) for a given instance.
      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

          double logDensityForInstance(Instance instance)
                                throws java.lang.Exception

      Computes the density for a given instance.
      Parameters:
        `instance` - the instance to compute the density for
      Returns:
        the density.
      Throws:
        `java.lang.Exception` - if the density could not be computed successfully

    - #### logJointDensitiesForInstance

          double[] logJointDensitiesForInstance(Instance inst)
                                         throws java.lang.Exception

      Returns the logs of the joint densities for a given instance.
      Parameters:
        `inst` - the instance
      Returns:
        the array of values
      Throws:
        `java.lang.Exception` - if values could not be computed

    - #### distributionForInstance

          double[] distributionForInstance(Instance instance)
                                    throws java.lang.Exception

      Returns the cluster probability distribution for an instance.
      Specified by:
        `distributionForInstance` in interface `Clusterer`
      Parameters:
        `instance` - the instance to be clustered
      Returns:
        the probability distribution
      Throws:
        `java.lang.Exception` - if computation fails