Class: Topical::Clustering::KMeansAdapter
- Defined in:
- lib/topical/clustering/kmeans_adapter.rb
Overview
Adapter for ClusterKit’s K-means implementation
Instance Attribute Summary collapse
-
#clusterer ⇒ Object
readonly
Access to underlying ClusterKit object if needed.
Instance Method Summary collapse
-
#cluster_centers ⇒ Object
Access cluster centers.
- #fit(embeddings) ⇒ Object
- #fit_predict(embeddings) ⇒ Object
-
#initialize(k: 5, random_seed: nil) ⇒ KMeansAdapter
constructor
A new instance of KMeansAdapter.
- #predict(embeddings) ⇒ Object
Methods inherited from Adapter
Constructor Details
#initialize(k: 5, random_seed: nil) ⇒ KMeansAdapter
Returns a new instance of KMeansAdapter.
9 10 11 12 13 14 15 16 17 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 9 def initialize(k: 5, random_seed: nil) @k = k @random_seed = random_seed @clusterer = ClusterKit::Clustering::KMeans.new( k: k, random_seed: random_seed ) end |
Instance Attribute Details
#clusterer ⇒ Object (readonly)
Access to underlying ClusterKit object if needed
41 42 43 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 41 def clusterer @clusterer end |
Instance Method Details
#cluster_centers ⇒ Object
Access cluster centers
36 37 38 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 36 def cluster_centers @clusterer.cluster_centers end |
#fit(embeddings) ⇒ Object
26 27 28 29 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 26 def fit() @clusterer.fit() self end |
#fit_predict(embeddings) ⇒ Object
19 20 21 22 23 24 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 19 def fit_predict() labels = @clusterer.fit_predict() @n_clusters = @k @n_noise_points = 0 # K-means doesn't have noise points labels end |
#predict(embeddings) ⇒ Object
31 32 33 |
# File 'lib/topical/clustering/kmeans_adapter.rb', line 31 def predict() @clusterer.predict() end |