【python sklearn】kmeans算法运用

# -*- coding:utf-8*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
import time

time1=time.time()
import pandas as pd
from sklearn.externals import joblib
from sklearn.preprocessing import scale
from sklearn.cluster import KMeans


#####################读取数据################
data = pd.read_csv('C:/pic/data/wholesale customers data.csv', sep=',', dtype=str, na_filter=False)
# print data

##################数据标准化##################
feature=scale(data)

####################设定聚类个数##################
k=9

#调用kmeans类
clf = KMeans(n_clusters=k)
s = clf.fit(feature)
print s

#打印中心点
print clf.cluster_centers_

#每个样本所属的簇
print clf.labels_

#用来评估簇的个数是否合适,距离越小说明簇分的越好,选取临界点的簇个数
print clf.inertia_



#保存模型
joblib.dump(clf , 'c:/km.pkl')

#载入保存的模型
clf2 = joblib.load('c:/km.pkl')


#进行预测
print clf2.predict(feature)

##############写出数据###################
data['label']=clf.labels_
print data

pd.DataFrame.to_excel(data,'c:/kmeans_result.xlsx',index=False)
print(u'聚类完成')
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页