Skip to content

@saehrimnir/druidjs / KMeans

Class: KMeans

Defined in: clustering/KMeans.js:29

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:34

Parameters

ParameterTypeDescription
pointsInputType-
parametersPartial<ParametersKMeans>-

Returns

KMeans

Overrides

ts
Clustering.constructor

Properties

PropertyTypeInherited fromDefined in
_cluster_centroidsFloat64Array<ArrayBufferLike>[]-clustering/KMeans.js:60
_clustersnumber[]-clustering/KMeans.js:58
_DnumberClustering._Dclustering/KMeans.js:52
_Knumber-clustering/KMeans.js:54
_matrixMatrixClustering._matrixclustering/KMeans.js:45
_NnumberClustering._Nclustering/KMeans.js:51
_parametersParametersKMeansClustering._parametersclustering/Clustering.js:13
_pointsInputTypeClustering._pointsclustering/Clustering.js:11
_randomizerRandomizer-clustering/KMeans.js:55

Accessors

centroids

Get Signature

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

Defined in: clustering/KMeans.js:84

Returns

Float64Array<ArrayBufferLike>[]

The cluster centroids


k

Get Signature

ts
get k(): number;

Defined in: clustering/KMeans.js:79

Returns

number

The number of clusters

Methods

get_cluster_list()

ts
get_cluster_list(): number[];

Defined in: clustering/KMeans.js:89

Returns

number[]

The cluster list

Overrides

ts
Clustering.get_cluster_list

get_clusters()

ts
get_clusters(): number[][];

Defined in: clustering/KMeans.js:94

Returns

number[][]

An Array of clusters with the indices of the points.

Overrides

ts
Clustering.get_clusters