自定义数据集,使用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均值算法的核心思想是通过计算点与簇中心的距离进行分组,并不断迭代优化簇的中心位置。

相关推荐
空堂与归3 小时前
用户分群找不到规律?用K-Means聚类算法自动发现数据模式
算法·机器学习·kmeans·聚类
菜冻鱼2 天前
Python-pytorch-高级技巧
开发语言·人工智能·pytorch·python·深度学习·神经网络·聚类
watersink4 天前
机器学习聚类算法
算法·机器学习·聚类
脑海科技实验室5 天前
CNS Neurosci. Ther.:亚临床抑郁症中凸显-默认模式网络动态变化:基于前聚类的共激活模式分析
机器学习·聚类·抑郁症
在世修行5 天前
深度图ROI扫描与打标区域定位算法:均值与极差阈值的工程智慧
算法·均值算法·极差算法
冻柠檬飞冰走茶6 天前
PTA基础编程题目集 7-35有理数均值(C++语言实现)
开发语言·数据结构·c++·算法·均值算法
半夏微凉半夏殇7 天前
x11与weston对比,优先选哪个
leetcode·均值算法·eclipse
机器学习之心7 天前
分而治之:K-means 聚类 + LSTM 的多输出回归实战
lstm·kmeans·聚类·多输出回归
SpikeKing7 天前
AIDD - SAbDab2 抗体感知聚类(Antibody-Perceived Clustering)
聚类·抗体·aidd·sabdab2·mmseqs
Tongzhi20269 天前
通芝科技无感考勤一体机:软硬一体,开箱即用
数据结构·数据库·科技·算法·均值算法·数据库开发