VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • K均值算法--应用(2)

第一张原图

第二张压缩图

 第三张使用KMeans算法压缩图片

保存图片

查看原图和压缩图所占内存大小

 

2. 观察学习与生活中可以用K均值解决的问题。

从数据-模型训练-测试-预测完整地完成一个应用案例。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import matplotlib.pyplot as plt
import sklearn.datasets as ds
import matplotlib.colors
#造数据
N=800
centers=4
# 生成2000个(默认)2维样本点集合,中心点5个
data,y=ds.make_blobs(N,centers=centers,random_state=0)
#原始数据分布
#pylot使用rc配置文件来自定义图形的各种默认属性,包括窗体大小、每英寸的点数、线条宽度、颜色、样式、坐标轴、坐标和网络属性、文本、字体等。
matplotlib.rcParams['font.sans-serif'= [u'SimHei']
matplotlib.rcParams['axes.unicode_minus'= False
cm = matplotlib.colors.ListedColormap(list('rgbm'))
plt.scatter(data[:,0],data[:,1],c=y,cmap=cm)
plt.title(u'原始数据分布')
plt.grid()
plt.show()
 
#使用K-Means算法
from sklearn.cluster import KMeans
# n_clusters=k
model=KMeans(n_clusters=3,init='k-means++')
#聚类预测
y_pre=model.fit_predict(data)
plt.scatter(data[:,0],data[:,1],c=y_pre,cmap=cm)
plt.title(u'K-Means聚类')
plt.grid()
plt.show()

相关教程