聚类算法有很多种(几十种),K-Means是聚类算法中的最常用的一种,算法最大的特点是简单,好理解,运算速度快,但是只能应用于连续型的数据,并且一定要在聚类前需要手工指定要分成几类。俗话说“物以类聚”,其实从广义上说,聚类就是将数据集中在某些方面相似的数据成员放在一起。一个聚类就是一些数据实例的集合,其中处于相同聚类中的数据元素彼此相似,但是处于不同聚类中的元素彼此不同。由于在聚类中那些表示数据类别的分类或分组信息是没有的,即这些数据是没有标签的,所有聚类及时通常被成为无监督学习(Unsupervised Learning)。
使用案例:(读取excel文件并将数据分成五种类别)
import pandas as pd
import numpy as npimport matplotlib.pyplot as plt
f = open('100个地点.csv')
res = pd.read_csv(f,index_col='index',parse_dates=True)
#data.head(3)
#输出x1,y1数据集
X = data[['x1','y1']]
print(X)
from sklearn.cluster import KMeans
clf = KMeans(n_clusters=5) #
y_pred = clf.fit_predict(X) #
#输出完整Kmeans函数,包括很多省略参数
print(clf)
#输出聚类预测结果,聚成5类,类标为0、1、2、3、4
print(y_pred)