@ai-on-browser/data-analysis-models
Version:
Data analysis model package without any dependencies
54 lines (53 loc) • 1.28 kB
TypeScript
/**
* x-means
*/
export default class XMeans {
_centroids: any[];
_init_k: number;
/**
* Centroids
* @type {Array<Array<number>>}
*/
get centroids(): Array<Array<number>>;
/**
* Number of clusters.
* @type {number}
*/
get size(): number;
_distance(a: any, b: any): number;
/**
* Clear all clusters.
*/
clear(): void;
/**
* Fit model.
* @param {Array<Array<number>>} datas Training data
* @param {number} iterations Iteration count
*/
fit(datas: Array<Array<number>>, iterations?: number): void;
_split_cluster(datas: any, k?: number): {
size: number;
cols: number;
data: any[];
cov: Matrix<number>;
centroid: any;
llh: number;
bic: number;
}[];
_create_clusters(model: any, datas: any): {
size: number;
cols: number;
data: any[];
cov: Matrix<number>;
centroid: any;
llh: number;
bic: number;
}[];
/**
* Returns predicted categories.
* @param {Array<Array<number>>} datas Sample data
* @returns {number[]} Predicted values
*/
predict(datas: Array<Array<number>>): number[];
}
import Matrix from '../util/matrix.js';