自定义数据集,使用scikit-learn 中K均值包 进行聚类

1. 引言

K均值聚类是一种无监督学习方法,用于将数据集分为多个簇。通过计算数据点之间的距离并将它们分配到最近的簇中心,K均值算法可以帮助我们发现数据中的自然结构。

2. 数据集创建

首先,我们使用numpy创建一个自定义的二维数据集:

复制代码
import numpy as np

# 创建一个简单的二维数据集
X = np.array([[1, 2], [1.5, 1.8], [5, 8], [8, 8], [1, 0.6], [9, 11]])
3. 导入K均值并进行聚类

接下来,我们使用scikit-learn中的K均值算法进行聚类。

复制代码
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt

# 使用K均值聚类,设定簇的数量为2
kmeans = KMeans(n_clusters=2)
kmeans.fit(X)

# 获取簇的中心和标签
centroids = kmeans.cluster_centers_
labels = kmeans.labels_
4. 可视化结果

为了更好地理解聚类结果,我们可以使用matplotlib来可视化数据点和簇的中心。

复制代码
# 绘制数据点和簇的中心
plt.scatter(X[:, 0], X[:, 1], c=labels, cmap='viridis')

# 标出簇的中心
plt.scatter(centroids[:, 0], centroids[:, 1], s=200, c='red', marker='X')
plt.show()
5. 总结

通过K均值聚类,我们成功地将数据集分为两个簇,并通过可视化方式直观展示了聚类结果。K均值算法的核心思想是通过计算点与簇中心的距离进行分组,并不断迭代优化簇的中心位置。

相关推荐
智码看视界1 天前
小米表格数据基础模型-Xiaomi-TabLDM 部署测评,70M表格基础模型开源,一套配置通吃分类回归
开源·scikit-learn·回归预测·开源大模型·自动化机器学习·表格基础模型
啥都想学点的研究生6 天前
一篇文章讲清楚:K-Means聚类算法
算法·kmeans·聚类
纪念 2297 天前
openclaw(安装及其配置)
聚类
Evand J8 天前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
leihefeng8 天前
手写数字识别:KNN vs 逻辑回归实战
python·算法·机器学习·逻辑回归·scikit-learn
optiz8 天前
单细胞数据分析--多数据整合harmony聚类
数据挖掘·数据分析·聚类
2601_962077989 天前
机器学习及其Python实践
pytorch·python·机器学习·tensorflow·scikit-learn
“AI国潮设计-小江”9 天前
《Python实战 | 用SDXL大模型生成“潮汕英歌舞”国潮IP头像,已申请外观专利,附Prompt思路!》
人工智能·python·prompt·aigc·scikit-learn
gerrywhu9 天前
PostGIS实现DBSCAN空间聚类原理与应用实践【ST_ClusterDBSCAN】
聚类·postgis·dbscan·时空聚类·空间聚类分析·st_dbscan·postgis矢量数据分析
AR-26710-9 天前
机器学习复习收官Day12
人工智能·python·机器学习·scikit-learn