Record Class ClusteringModel

java.lang.Object
java.lang.Record
smile.model.ClusteringModel
Record Components:
algorithm - the clustering algorithm name.
schema - the schema of input data (without response variable).
formula - the feature selection formula.
clustering - the fitted centroid clustering model.
transform - optional feature preprocessing transform; may be null.
tags - the model metadata tags.
All Implemented Interfaces:
Serializable, Model

public record ClusteringModel(String algorithm, StructType schema, Formula formula, CentroidClustering<double[],double[]> clustering, Transform transform, Properties tags) extends Record implements Model, Serializable
The centroid-based clustering model.
See Also:
  • Constructor Details

    • ClusteringModel

      public ClusteringModel(String algorithm, StructType schema, Formula formula, CentroidClustering<double[],double[]> clustering, Properties tags)
      Constructs a clustering model without a preprocessing transform.
      Parameters:
      algorithm - the clustering algorithm name.
      schema - the schema of input data (without response variable).
      formula - the feature selection formula.
      clustering - the fitted centroid clustering model.
      tags - the model metadata tags.
    • ClusteringModel

      public ClusteringModel(String algorithm, StructType schema, Formula formula, CentroidClustering<double[],double[]> clustering, Transform transform, Properties tags)
      Creates an instance of a ClusteringModel record class.
      Parameters:
      algorithm - the value for the algorithm record component
      schema - the value for the schema record component
      formula - the value for the formula record component
      clustering - the value for the clustering record component
      transform - the value for the transform record component
      tags - the value for the tags record component
  • Method Details

    • predict

      public int predict(Tuple x)
      Predicts the cluster label for a single observation.
      Parameters:
      x - the input tuple.
      Returns:
      the assigned cluster index.
    • predict

      public int[] predict(DataFrame data)
      Predicts the cluster labels for a data frame.
      Parameters:
      data - the input data frame.
      Returns:
      the assigned cluster indices.
    • k

      public int k()
      Returns the number of clusters.
      Returns:
      the number of clusters.
    • centers

      public double[][] centers()
      Returns the cluster centroids.
      Returns:
      the cluster centroids.
    • center

      public double[] center(int i)
      Returns the centroid of the i-th cluster.
      Parameters:
      i - the cluster index.
      Returns:
      the cluster centroid.
    • distortion

      public double distortion()
      Returns the total distortion (average within-cluster sum-of-squares).
      Returns:
      the distortion.
    • infer

      public Prediction infer(Tuple x, boolean probability, boolean explain)
      Description copied from interface: Model
      Performs inference on a single tuple.
      Specified by:
      infer in interface Model
      Parameters:
      x - the input tuple.
      probability - true to compute posterior probabilities for soft classifiers.
      explain - true to compute feature explanations.
      Returns:
      the prediction.
    • infer

      public Prediction infer(Tuple x, boolean probability, boolean explain, KernelSHAP.Options options)
      Description copied from interface: Model
      Performs inference on a single tuple with custom KernelSHAP.Options.
      Specified by:
      infer in interface Model
      Parameters:
      x - the input tuple.
      probability - true to compute posterior probabilities for soft classifiers.
      explain - true to compute feature explanations.
      options - optional KernelSHAP options (may be null).
      Returns:
      the prediction.
    • infer

      public Prediction[] infer(DataFrame data, boolean probability, boolean explain)
      Description copied from interface: Model
      Performs batch inference over a data frame.
      Specified by:
      infer in interface Model
      Parameters:
      data - the input data frame.
      probability - true to compute posterior probabilities for soft classifiers.
      explain - true to compute feature explanations.
      Returns:
      an array of predictions.
    • infer

      public Prediction[] infer(DataFrame data, boolean probability, boolean explain, KernelSHAP.Options options)
      Description copied from interface: Model
      Performs batch inference over a data frame with custom KernelSHAP.Options.
      Specified by:
      infer in interface Model
      Parameters:
      data - the input data frame.
      probability - true to compute posterior probabilities for soft classifiers.
      explain - true to compute feature explanations.
      options - optional KernelSHAP options (may be null).
      Returns:
      an array of predictions.
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • algorithm

      public String algorithm()
      Returns the value of the algorithm record component.
      Specified by:
      algorithm in interface Model
      Returns:
      the value of the algorithm record component
    • schema

      public StructType schema()
      Returns the value of the schema record component.
      Specified by:
      schema in interface Model
      Returns:
      the value of the schema record component
    • formula

      public Formula formula()
      Returns the value of the formula record component.
      Specified by:
      formula in interface Model
      Returns:
      the value of the formula record component
    • clustering

      public CentroidClustering<double[],double[]> clustering()
      Returns the value of the clustering record component.
      Returns:
      the value of the clustering record component
    • transform

      public Transform transform()
      Returns the value of the transform record component.
      Returns:
      the value of the transform record component
    • tags

      public Properties tags()
      Returns the value of the tags record component.
      Specified by:
      tags in interface Model
      Returns:
      the value of the tags record component