SynaptIX logoSynaptIX

Unsupervised Models

v0.1.7

Clustering and dimensionality reduction: KMeans with elbow and silhouette analysis, DBSCAN, hierarchical clustering, Gaussian mixtures, PCA with explained variance and TSNE.

Quick Start

cluster.py
import synaptix as sx

df = sx.load_dataset("iris")
X = df.drop(columns="species")

# KMeans with built-in diagnostics
km = sx.unsupervised.KMeans(n_clusters=3, random_state=42)
km.fit(X)
print("Inertia:", km.inertia_)

metrics = sx.metrics.clustering_metrics(X, km.labels_)
print(metrics)   # silhouette, Calinski-Harabasz, Davies-Bouldin

km.plot_elbow(max_k=10)   # elbow curve renders inline

API Reference

KMeans
KMeans(n_clusters=8, random_state=None)
DBSCAN
DBSCAN(eps=0.5, min_samples=5)
HierarchicalClustering
HierarchicalClustering(n_clusters=3, linkage='ward')
GaussianMixture
GaussianMixture(n_components=3)
PCA
PCA(n_components=None)
TSNE
TSNE(n_components=2, perplexity=30)