### K-Means (AgglomerativeClustering 为层次聚类使用,相应两行被替换) 向量距离聚类
#coding=utf-8
import numpy as np
import matplotlib.pyplot as plt
#from sklearn.cluster import KMeans
from sklearn.cluster import AgglomerativeClustering
#读取城市经纬度数据
X = []
f = open('files\\city.csv')
for v in f:
X.append([float(v.split(',')[2]),float(v.split(',')[3])])
#转换成numpy array
X = np.array(X)
#类簇的数量 - kmeans算法的参数
n_clusters = 5
#进行聚类
cls = KMeans(n_clusters).fit(X)
#cls = AgglomerativeClustering(linkage='ward',n_clusters=n_clusters).fit(X)
#聚类结果列表
cls.labels_
#画图
markers = ['^','x','o','*','+']
for i in range(n_clusters):
members = cls.labels_ == i
plt.scatter(X[members,0],X[members,1], s=60, marker=markers[i],c='b',alpha=0.5)
#print(members)
#print(X[members,1])
plt.title('')
plt.show()
### DBScan算法 密度聚类
#codi
机器学习K-Means及DBSCAN聚类算法的python代码
最新推荐文章于 2024-08-13 14:49:06 发布
这篇博客介绍了如何使用Python实现K-Means和DBSCAN两种聚类算法。首先,通过读取城市经纬度数据应用K-Means算法,然后展示了层次聚类的替代实现。接着,文章转向DBSCAN密度聚类算法,并对数据进行归一化处理,最后通过可视化展示聚类结果。
摘要由CSDN通过智能技术生成