kmeans python sklearn_使用sklearn做kmeans聚类分析

最近在学习机器学习力的kmeans,这里记录一下一个简单的样本,想了解这个算法怎么计算的话,可以查看一下sklearn的源码,python写的很好读懂

# -*- coding: utf-8 -*-

from sklearn.cluster import KMeans

from sklearn.externals import joblib

import numpy

final = open('c:/test/final.dat' , 'r')

data = [line.strip().split('\t') for line in final]

feature = [[float(x) for x in row[3:]] for row in data]

#调用kmeans类

clf = KMeans(n_clusters=9)

s = clf.fit(feature)

print s

#9个中心

print clf.cluster_centers_

#每个样本所属的簇

print clf.labels_

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

print clf.inertia_

#进行预测

print clf.predict(feature)

#保存模型

joblib.dump(clf , 'c:/km.pkl')

#载入保存的模型

clf = joblib.load('c:/km.pkl')

'''

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

for i in range(5,30,1):

clf = KMeans(n_clusters=i)

s = clf.fit(feature)

print i , clf.inertia_

'''

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12199764/viewspace-1479320/,如需转载,请注明出处,否则将追究法律责任。

你可能感兴趣的:(kmeans,python,sklearn)