def test_binary_k_means(): k = 3 data_mat = mat(kMeans.load_data_set('testSet2.txt')) center, cluster = kMeans.binary_k_means(data_mat, k) kMeans.plot_k_means(data_mat, cluster, center, k)
def test_load(): data_mat = mat(kMeans.load_data_set('testSet.txt')) print min(data_mat[:, 0]) print max(data_mat[:, 1]) print kMeans.rand_center(data_mat, 2)
def test_k_means(): k = 4 data_mat = mat(kMeans.load_data_set('testSet.txt')) center, cluster = kMeans.k_means(data_mat, k) kMeans.plot_k_means(data_mat, cluster, center, k)
""" 轮廓系数相关代码 """ import numpy from sklearn.cluster import KMeans from sklearn.metrics import silhouette_score import matplotlib.pyplot as plt from kMeans import load_data_set if __name__ == '__main__': data_mat = numpy.mat(load_data_set('testSet2.txt')) # 分辨率1280 1024 plt.figure(figsize=(12.8, 10.24)) # 分割出3*2=6个子图,并在1号作图 plt.subplot(3, 2, 1) x1_min = min(data_mat[:, 0]) - 1 x1_max = max(data_mat[:, 0]) + 1 x2_min = min(data_mat[:, 0]) - 1 x2_max = max(data_mat[:, 1]) + 1 plt.xlim([x1_min, x1_max]) plt.ylim([x2_min, x2_max]) plt.title('Instance') plt.scatter(data_mat[:, 0].tolist(), data_mat[:, 1].tolist()) colors = 'bgrcmykb' markers = 'osDv^p*+' clusters = [2, 3, 4, 5, 8]