def scan_points(points): scans = {} for pos in points: X = points[pos] (eps, min_pts) = get_params(pos) scan = DBScan(eps, min_pts) scan.fit(X) scans[pos] = scan return scans
plt.figure() sum_squared_errors = [] for n_clusters in range(2, 10): kmeans = KMeans(n_clusters=n_clusters, max_iter=100) kmeans.fit(iris_data, normalize=True) sse = kmeans.sum_squared_error() sum_squared_errors.append(sse) plt.plot(sum_squared_errors) plt.xlabel('# of clusters') plt.ylabel('SSE') plt.show() # TODO 7: DBSCAN nad Iris podacima, prikazati rezultate na grafiku isto kao kod K-means dbscan = DBScan(epsilon=0.5, min_points=3) dbscan.fit(iris_data) colors = {0: 'red', 1: 'green', 2: 'blue'} plt.figure() for idx, cluster in enumerate(dbscan.clusters): for datum in cluster.data: # iscrtavanje tacaka plt.scatter(datum[0], datum[1], c=colors[idx]) plt.xlabel('Sepal width') plt.ylabel('Petal length') plt.show()
data.append((x1, y1)) data.append((x2, y2)) plt.show() # TODO 5: K-means nad ovim podacima kmeans = KMeans(n_clusters=2, max_iter=100) kmeans.fit(data) colors = {0: 'red', 1: 'green'} plt.figure() for idx, cluster in enumerate(kmeans.clusters): plt.scatter(cluster.center[0], cluster.center[1], c=colors[idx], marker='x', s=200) # iscrtavanje centara for datum in cluster.data: # iscrtavanje tacaka plt.scatter(datum[0], datum[1], c=colors[idx]) plt.show() # TODO 7: DBSCAN nad ovim podacima dbscan = DBScan(epsilon=1.2, min_points=3) dbscan.fit(data) colors = {0: 'red', 1: 'pink', 2: 'yellow', 3: 'cyan', 4: 'green', 5: 'blue'} plt.figure() for idx, cluster in enumerate(dbscan.clusters): for datum in cluster.data: # iscrtavanje tacaka plt.scatter(datum[0], datum[1], c=colors[idx%6]) plt.show()