码迷,mamicode.com
首页 > 编程语言 > 详细

python---sklearn---kmeans

时间:2018-02-07 22:55:04      阅读:638      评论:0      收藏:0      [点我收藏+]

标签:net   sdn   size   features   github   datasets   art   utf-8   span   

#

 

http://blog.csdn.net/github_36326955/article/details/54999627

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

import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
import sklearn
X,y = make_blobs(n_samples=1000,n_features=2,centers=[[-1,-1],[0,0],[1,1],[2,2]],cluster_std=[0.4,0.2,0.2,0.2]
                 ,random_state=9)
plt.scatter(X[:,0],X[:,1],marker=o)
plt.show()

from sklearn.cluster import KMeans
y_pred = KMeans(n_clusters=2,random_state=9).fit_predict(X)
plt.scatter(X[:,0],X[:,1],c=y_pred)
plt.show()

from sklearn import metrics
print(metrics.calinski_harabaz_score(X,y_pred))

y_pred = KMeans(n_clusters=3,random_state=9).fit_predict(X)
plt.scatter(X[:,0],X[:,1],c=y_pred)
plt.show()
print(metrics.calinski_harabaz_score(X,y_pred))

y_pred = KMeans(n_clusters=4,random_state=9).fit_predict(X)
plt.scatter(X[:,0],X[:,1],c=y_pred)
plt.show()
print(metrics.calinski_harabaz_score(X,y_pred))

from sklearn.cluster import MiniBatchKMeans
#MiniBatchKMeans
for index,val in enumerate((2,3,4,5)):
    plt.subplot(2,2,index+1)
    y_pred = MiniBatchKMeans(n_clusters=val, batch_size=200,random_state=9).fit_predict(X)
    score = metrics.calinski_harabaz_score(X,y_pred)
    plt.scatter(X[:,0],X[:,1],c=y_pred)
    plt.text(0.99,0.01,(val=%d, score:%.2f%(val,score)),transform=plt.gca().transAxes,size=10,
             horizontalalignment=right)

plt.show()

 

python代码实现可参考:

http://blog.csdn.net/dream_angel_z/article/details/46343597

python---sklearn---kmeans

标签:net   sdn   size   features   github   datasets   art   utf-8   span   

原文地址:https://www.cnblogs.com/kprac/p/8428316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!