def test_mean_shift(): """ MeanShift algorithm """ bandwidth = 1.2 ms = MeanShift(bandwidth=bandwidth) labels = ms.fit(X).labels cluster_centers = ms.cluster_centers labels_unique = np.unique(labels) n_clusters_ = len(labels_unique) assert_equal(n_clusters_, n_clusters) cluster_centers, labels = mean_shift(X, bandwidth=bandwidth) labels_unique = np.unique(labels) n_clusters_ = len(labels_unique) assert_equal(n_clusters_, n_clusters)
n_points_per_cluster = 250 n_clusters = 3 n_points = n_points_per_cluster*n_clusters means = np.array([[1,1],[-1,-1],[1,-1]]) std = .6 clustMed = [] X = np.empty((0, 2)) for i in range(n_clusters): X = np.r_[X, means[i] + std * np.random.randn(n_points_per_cluster, 2)] ################################################################################ # Compute clustering with MeanShift bandwidth = estimate_bandwidth(X, quantile=0.3) ms = MeanShift(bandwidth=bandwidth) ms.fit(X).labels labels = ms.labels cluster_centers = ms.cluster_centers labels_unique = np.unique(labels) n_clusters_ = len(labels_unique) print "number of estimated clusters : %d" % n_clusters_ ################################################################################ # Plot result import pylab as pl from itertools import cycle pl.figure(1)
n_points_per_cluster = 250 n_clusters = 3 n_points = n_points_per_cluster * n_clusters means = np.array([[1, 1], [-1, -1], [1, -1]]) std = .6 bandwidth = 1.2 clustMed = [] X = np.empty((0, 2)) for i in range(n_clusters): X = np.r_[X, means[i] + std * np.random.randn(n_points_per_cluster, 2)] ################################################################################ # Compute clustering with MeanShift ms = MeanShift(bandwidth=bandwidth) ms.fit(X).labels labels = ms.labels cluster_centers = ms.cluster_centers labels_unique = np.unique(labels) n_clusters_ = len(labels_unique) print "number of estimated clusters : %d" % n_clusters_ ################################################################################ # Plot result import pylab as pl from itertools import cycle pl.figure(1)