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

相关推荐
Christo31 天前
关于在深度聚类中Representation Collapse现象
人工智能·深度学习·算法·机器学习·数据挖掘·embedding·聚类
TO ENFJ1 天前
day 17 无监督学习之聚类算法
学习·算法·聚类
Dreams°1232 天前
【Python爬虫 !!!!!!政府招投标数据爬虫项目--医疗实例项目文档(提供源码!!!)!!!学会Python爬虫轻松赚外快】
分布式·爬虫·python·mysql·scikit-learn
wzx_Eleven7 天前
【论文阅读】基于客户端数据子空间主角度的聚类联邦学习分布相似性高效识别
论文阅读·人工智能·机器学习·网络安全·聚类
zx438 天前
聚类后的分析:推断簇的类型
人工智能·python·机器学习·聚类
kngines11 天前
【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.1 描述性统计分析(均值/方差/分位数计算)
均值算法·postgresql·数据分析·var_samp·stddev_samp·总体统计·数据分位数
啥都鼓捣的小yao12 天前
课程10. 聚类问题
人工智能·python·算法·机器学习·聚类
MarsBighead13 天前
openGauss DB4AI与scikit-learn模块对比探究
人工智能·python·scikit-learn·opengauss·db4ai
小森776717 天前
(六)机器学习---聚类与K-means
人工智能·机器学习·数据挖掘·scikit-learn·kmeans·聚类
Olafur_zbj18 天前
【EDA】EDA中聚类(Clustering)和划分(Partitioning)的应用场景
机器学习·数据挖掘·聚类