ITPub博客

首页 > 大数据 > 数据分析 > 使用sklearn做kmeans聚类分析

使用sklearn做kmeans聚类分析

原创 数据分析 作者:xiaolitnt 时间:2015-03-30 20:15:39 0 删除 编辑
最近在学习机器学习力的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博客 ” ,链接:https://blog.itpub.net/12199764/viewspace-1479320/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-07-25

  • 博文量
    14
  • 访问量
    209919