Documentation
¶
Overview ¶
Package cluster provides clustering algorithms for vector indexing.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CosineSimilarity ¶
CosineSimilarity computes cosine similarity between two vectors.
func NormalizeVector ¶
NormalizeVector returns a unit-length copy of the vector.
Types ¶
type Config ¶
type Config struct {
K int // Number of clusters
MaxIter int // Maximum iterations (default: 100)
Tolerance float64 // Convergence tolerance (default: 1e-4)
Seed int64 // Random seed
NumInit int // Number of initializations to try (default: 1). Best inertia wins.
}
Config holds k-means configuration.
func DefaultConfig ¶
DefaultConfig returns default k-means configuration.
type KMeans ¶
type KMeans struct {
K int // Number of clusters
MaxIter int // Maximum iterations
Tolerance float64 // Convergence tolerance
Seed int64 // Random seed for reproducibility
NumInit int // Number of initializations (best inertia wins)
Centroids [][]float64 // Cluster centroids (after Fit)
Labels []int // Cluster assignment for each vector (after Fit)
Iterations int // Actual iterations run
Inertia float64 // Final inertia (sum of squared distances to centroids)
}
KMeans performs k-means clustering on vectors.
func (*KMeans) Fit ¶
Fit runs k-means clustering on the given vectors. If NumInit > 1, runs multiple initializations in parallel and keeps the best result.
func (*KMeans) GetClusterSizes ¶
GetClusterSizes returns the number of vectors in each cluster.
Click to show internal directories.
Click to hide internal directories.