Class KMeans

java.lang.Object
org.episteme.core.mathematics.ml.KMeans

public class KMeans extends Object
k-means clustering algorithm.

Partitions n observations into k clusters based on nearest centroid. Unsupervised learning for data grouping, pattern recognition.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Constructor Details

    • KMeans

      public KMeans(int k, int maxIterations)
  • Method Details

    • fit

      public int[] fit(Real[][] data)
      Fits k-means model to data.
      Parameters:
      data - n samples × d features
      Returns:
      cluster assignments for each sample
    • inertia

      public Real inertia(Real[][] data, int[] assignments)
      Computes inertia (sum of squared distances to centroids).

      Lower is better. Used for elbow method to find optimal k.

    • getCentroids

      public Real[][] getCentroids()
    • predict

      public int[] predict(Real[][] newData)
      Predicts cluster for new data points.