Jensen-holm commited on
Commit
527f863
·
1 Parent(s): 5e9f4d3

kmeans is ready for deployment

Browse files
Files changed (3) hide show
  1. app.py +1 -1
  2. cluster/kmeans.py +14 -3
  3. cluster/main.py +1 -1
app.py CHANGED
@@ -49,4 +49,4 @@ def index():
49
 
50
 
51
  if __name__ == "__main__":
52
- app.run(debug=True)
 
49
 
50
 
51
  if __name__ == "__main__":
52
+ app.run(debug=False)
cluster/kmeans.py CHANGED
@@ -57,10 +57,21 @@ class Kmeans(Clusterer):
57
  centroids[i] = X[clusters == i].mean(axis=0)
58
  return centroids
59
 
60
- def to_dict(self) -> dict:
 
 
 
 
 
 
 
 
 
 
 
 
61
  return {
62
  "k": self.k,
63
  "max_iter": self.max_iter,
64
- "centroids": self.centroids.tolist(),
65
- "clusters": self.clusters.tolist(),
66
  }
 
57
  centroids[i] = X[clusters == i].mean(axis=0)
58
  return centroids
59
 
60
+ def to_dict(
61
+ self,
62
+ X: np.array,
63
+ ) -> dict:
64
+ cluster_data = []
65
+ for i in range(self.k):
66
+ indices = np.where(self.clusters == i)[0]
67
+ cluster_pts = X[indices].tolist()
68
+ cluster_data.append({
69
+ "cluster_id": i,
70
+ "centroid": self.centroids[i].tolist(),
71
+ "points": cluster_pts,
72
+ })
73
  return {
74
  "k": self.k,
75
  "max_iter": self.max_iter,
76
+ "clusters": cluster_data,
 
77
  }
cluster/main.py CHANGED
@@ -17,4 +17,4 @@ def main(
17
  alg = cluster_alg.from_dict(cluster_args)
18
 
19
  alg.build(X)
20
- return alg.to_dict()
 
17
  alg = cluster_alg.from_dict(cluster_args)
18
 
19
  alg.build(X)
20
+ return alg.to_dict(X)