-
Notifications
You must be signed in to change notification settings - Fork 3
/
main.py
64 lines (61 loc) · 1.9 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
import numpy as np
import random
import matplotlib.pyplot as plt
from cercanos import cercanos
from Centros import centros
from sklearn.datasets.samples_generator import make_blobs
from kmeans import *
from pprint import pprint
import pandas as pd
if __name__ == "__main__":
X, y_true = make_blobs(n_samples=300, centers=4,
cluster_std=0.60, random_state=0)
#
#
# # KMeans Via Us
# # cent = kmeans(X,k=4)
# k = 4
# km = KMeansTec(n_clusters=k)
# km.fit(X)
# y_kmeans = km.predict(X)
# # print(y_kmeans)
# plt.subplot(121)
# plt.grid(True)
# plt.title("Nuestro")
# plt.scatter(X[:, 0], X[:, 1], s=50, c=y_kmeans,cmap='coolwarm');
# plt.scatter([c[0] for c in km.centers ], [c[1] for c in km.centers ], c='black', s=200, alpha=0.5)
#
#
# # Sklearn KMeans
# from sklearn.cluster import KMeans
# kmeans = KMeans(n_clusters=k)
# kmeans.fit(X)
# y_kmeans = kmeans.predict(X)
# # print(y_kmeans)
# plt.subplot(122)
# plt.title("Sklearn")
# plt.grid(True)
# # Plot Clusters
# plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
# centers = kmeans.cluster_centers_
# plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.5)
#
# pprint(f"Sklearn -> {centers} |\n US -> {km.centers}")
#
# plt.show()
#
#
df = pd.read_csv("data/iris.data")
X = df.iloc[:,:-1].to_numpy()
k = 3
km = KMeansTec(n_clusters=k)
km.fit(X)
y_kmeans = km.predict(X)
# print(y_kmeans)
# plt.subplot(121)
plt.grid(True)
plt.title("Iris Data Set")
plt.scatter(X[:, 0], X[:, 1], s=50, c=y_kmeans,cmap='coolwarm');
plt.scatter([c[0] for c in km.centers ], [c[1] for c in km.centers ], c='black', s=200, alpha=0.5)
plt.show()
# We could add metrics to check the data