clustering-tfjs
Version:
High-performance TypeScript clustering algorithms (K-Means, Spectral, Agglomerative) with TensorFlow.js acceleration and scikit-learn compatibility
31 lines • 1.36 kB
TypeScript
import * as tf from '../tf-adapter';
import type { SpectralClusteringParams } from './types';
/**
* Configuration for parameter optimization
*/
interface OptimizationConfig {
gamma: number;
metric: 'calinski-harabasz' | 'davies-bouldin' | 'silhouette';
attempts: number;
useValidation: boolean;
}
/**
* Result of optimization
*/
interface OptimizationResult {
labels: number[];
config: OptimizationConfig;
score?: number;
}
/**
* Performs validation-based optimization for spectral clustering.
* Tries multiple k-means initializations and selects the best based on validation score.
*/
export declare function validationBasedOptimization(embedding: tf.Tensor2D, nClusters: number, metric: 'calinski-harabasz' | 'davies-bouldin' | 'silhouette', attempts: number, randomState?: number): Promise<OptimizationResult>;
/**
* Performs intensive parameter sweep for difficult clustering problems.
* Tests multiple gamma values and validation configurations.
*/
export declare function intensiveParameterSweep(X: tf.Tensor2D, params: SpectralClusteringParams, computeEmbeddingFromAffinity: (affinityMatrix: tf.Tensor2D) => Promise<tf.Tensor2D>, computeAffinityMatrix: (X: tf.Tensor2D, params: SpectralClusteringParams) => tf.Tensor2D): Promise<OptimizationResult>;
export {};
//# sourceMappingURL=spectral_optimization.d.ts.map