【学习笔记】人民邮电出版社《Python机器学习》学习记录。
K-means算法思想不再赘述。以下程序调用了机器学习的第三方库scikit-learn,使用该库,方便简洁。
import pandas
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
from pylab import rcParams
rcParams['figure.figsize'] = 10,8
clustering_data_1 = pandas.read_csv('clustering_data_1.csv') #加载csv格式的数据
plt.scatter(clustering_data_1['X'], clustering_data_1['Y']) #绘制原始数据
kmeans = KMeans(n_clusters = 3) #创建一个K-均值聚类对象
kmeans.fit(clustering_data_1) #拟合算法
cluster_assignment = kmeans.predict(clustering_data_1) #获取聚类分配
plt.scatter(clustering_data_1['X'], clustering_data_1['Y'], c=cluster_assignment) #绘制聚类结果
如果要改变类别显示颜色,代码如下:
cluster_assignment = cluster_assignment.astype(str) #聚类分配,重新设置类别颜色
cluster_assignment[cluster_assignment == '0'] = 'b'
cluster_assignment[cluster_assignment == '1'] = 'g'
cluster_assignment[cluster_assignment == '2'] = 'r'
plt.scatter(clustering_data_1['X'], clustering_data_1['Y'], c=cluster_assignment) #绘制聚类结果
绘图结果:
调用
库使用
KMeans
算法
对各省份消费水平进行分类
全国各省消费数据如下,本文写程序中利用loadData()函数从data.csv文件读取。
北京,2959.19,730.79,749.41,513.34,467.87,1141.82,478.42,457.64
天津,2459.77,...
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets.samples_generator import make_blobs
n_data = 400
n_cluster
from sklearn.cluster import
KMeans
from sklearn.decomposition import PCA
import pandas as pd
import numpy as np
import matplotlib as mpl
#iOS系统
mpl.use('TkAgg')
import matplotlib.pyplot as plt
from s...
import matplotlib.pyplot as plt
from sklearn.cluster import
KMeans
from numpy import random
data = np.loadtxt('E:\data set\
K-means
_data')
# plt.scatter(data[:,0],data[:,1],c='red'...
1
K-means
聚类算法
k-means
算法
以k为参数,把n个对象分成k个簇,使簇内具有较高的相似度,而簇间的相似度较低。其处理过程如下:
1.随机选择k个点作为初始的聚类中心;
2.对于剩下的点,根据其与聚类中心的距离,将其归入最近的簇
3.对每个簇,计算所有点的均值作为新的聚类中心
4.重复2、3直到聚类中心不再发生改变
2
K-means
的应用2.1 数据介绍现有1999年全国31个