import time import numpy as np import matplotlib.pyplot as plt from sklearn.cluster import MiniBatchKMeans, KMeans from sklearn.metrics.pairwise import pairwise_distances_argmin from sklearn.datasets.samples_generator import make_blobs from sklearn.preprocessing import StandardScaler from sklearn.cluster import KMeans from pylab import* import csv # ############################################################################# # Generate sample data #0 1 2 3 4 5 功率 #基于权重的聚类 #[(2.1389999999999998, '5'), (0.042099999999999999, '0'), (0.0147, '1'), (0.0016000000000000001, '2'), (0.00029999999999999997, '3'), (0.0, '4')] weight=[0.00029999999999999997,0.042099999999999999,0.0147,0.0016000000000000001,0.0,2.1389999999999998] i =0 data=[] with open(r'D:\全年聚类.csv') as f: reader = csv.reader(f) for row in reader: if i == 0: i += 1 continue else: data.append(row[:])#提取出每一行中的2:14列 data = np.array(data) print("the shape of data",np.shape(data)) m,n = np.shape(data) print("the shape of data",m,n) set1=data[:,-1] set1=np.reshape(set1,[-1,1]) clf = KMeans(n_clusters=3) y_pred=clf.fit_predict(set1) print(np.shape(set1)) print(y_pred) print("聚类中心点",clf.cluster_centers_) set2=[] for i in range(357): set2.append(i) data2=[] for i in y_pred: data2.append(i) print(len(data2)) plt.scatter(set2,set1[:, 0], c=y_pred,linewidths=2,marker='s')#c=y_pred plt.title("夏季聚类") plt.show()
Python语言实现K-means聚类
猜你喜欢
转载自blog.csdn.net/pwtd_huran/article/details/79730112
今日推荐
周排行