Advertisement
Guest User

Untitled

a guest
Sep 19th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. from numpy import random, array, float
  2. from sklearn.cluster import KMeans
  3. import matplotlib.pyplot as plt
  4. from sklearn.preprocessing import scale
  5.  
  6.  
  7. # create fake income/age clusters for N people in k clusters
  8. def create_clustered_data(N, k):
  9. random.seed(10)
  10. points_per_cluster = float(N) / k
  11. x = []
  12. for i in range(k):
  13. income_centroid = random.uniform(20000.0, 200000.0)
  14. age_centroid = random.uniform(20.0, 70.0)
  15. for j in range(int(points_per_cluster)):
  16. x.append([random.normal(income_centroid, 10000.0), random.normal(age_centroid, 2.0)])
  17. x = array(x)
  18. return x
  19.  
  20.  
  21. data = create_clustered_data(100, 5)
  22. model = KMeans(n_clusters=5)
  23.  
  24. model = model.fit(scale(data))
  25. print(model.labels_)
  26.  
  27. plt.figure(figsize=(8, 6))
  28. plt.scatter(data[:, 0], data[:, 1], c=model.labels_.astype(float))
  29. plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement