Skip to content

@saehrimnir/druidjs / KMeans

Class: KMeans ​

Defined in: clustering/KMeans.js:31

K-Means Clustering

A popular clustering algorithm that partitions data into K clusters where each point belongs to the cluster with the nearest mean (centroid).

See ​

KMedoids for a more robust alternative

Example ​

ts
import * as druid from "@saehrimnir/druidjs";

const points = [[1, 1], [1.5, 1.5], [5, 5], [5.5, 5.5]];
const kmeans = new druid.KMeans(points, { K: 2 });

const clusters = kmeans.get_cluster_list(); // [0, 0, 1, 1]
const centroids = kmeans.centroids; // center points

Extends ​

  • Clustering

Constructors ​

Constructor ​

ts
new KMeans(points: InputType, parameters?: Partial<ParametersKMeans>): KMeans;

Defined in: clustering/KMeans.js:36

Parameters ​

ParameterTypeDescription
pointsInputType-
parametersPartial<ParametersKMeans>-

Returns ​

KMeans

Overrides ​

ts
Clustering.constructor

Properties ​

PropertyTypeInherited fromDefined in
_cluster_centroidsFloat64Array<ArrayBufferLike>[]-clustering/KMeans.js:62
_clustersnumber[]-clustering/KMeans.js:60
_DnumberClustering._Dclustering/KMeans.js:54
_Knumber-clustering/KMeans.js:56
_matrixMatrixClustering._matrixclustering/KMeans.js:47
_NnumberClustering._Nclustering/KMeans.js:53
_parametersParametersKMeansClustering._parametersclustering/Clustering.js:13
_pointsInputTypeClustering._pointsclustering/Clustering.js:11
_randomizerRandomizer-clustering/KMeans.js:57

Accessors ​

centroids ​

Get Signature ​

ts
get centroids(): Float64Array<ArrayBufferLike>[];

Defined in: clustering/KMeans.js:86

Returns ​

Float64Array<ArrayBufferLike>[]

The cluster centroids


k ​

Get Signature ​

ts
get k(): number;

Defined in: clustering/KMeans.js:81

Returns ​

number

The number of clusters

Methods ​

get_cluster_list() ​

ts
get_cluster_list(): number[];

Defined in: clustering/KMeans.js:91

Returns ​

number[]

The cluster list

Overrides ​

ts
Clustering.get_cluster_list

get_clusters() ​

ts
get_clusters(): number[][];

Defined in: clustering/KMeans.js:96

Returns ​

number[][]

An Array of clusters with the indices of the points.

Overrides ​

ts
Clustering.get_clusters