k-means聚类

本文介绍了如何从磁盘读取城市经纬度数据,将其转换为numpy数组,然后应用k-means算法确定类簇数量。通过调用聚类函数,将数据进行分类,并最终使用scatter参数来绘制聚类结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans

#从磁盘读取城市经纬度数据

X = []
with open('data.txt') as f:
    for v in f:
        X.append([float(v.split(',')[2]), float(v.split(',')[3])])

#转换成numpy array

X = np.array(X)

#类簇的数量

n_clusters = 5

#现在把数据和对应的分类数放入聚类函数中进行聚类

cls = KMeans(n_clusters, random_state=0).fit(X)

#X中每项所属分类的一个列表

cls.labels_
pred = cls.predict([[36.2, 189.5], [26.05, 119.18]])   # 返回预测类别的index
print(pred, cls.cluster_centers_)   # cluster_centers_  各聚类中心

#画图

markers = ['^', 'x', 'o', '*', '+']
for i in range(n_clusters):
    members = cls.labels_ == i
    plt.scatter(X[members, 0], X[members, 1], s=60, mark
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值