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

news/2025/2/6 11:24:41/
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均值算法的核心思想是通过计算点与簇中心的距离进行分组,并不断迭代优化簇的中心位置。


http://www.ppmy.cn/news/1569782.html

相关文章

mini-lsm通关笔记Week2Day6

项目地址:https://github.com/skyzh/mini-lsm 个人实现地址:https://gitee.com/cnyuyang/mini-lsm Summary 在本章中,您将: 实现WAL日志文件的编解码 系统重启时使用WAL日志恢复memtable 要将测试用例复制到启动器代码中并运行…

网络安全视角:从地域到账号的阿里云日志审计实践

作者:羿莉(萧羿) 为什么要进行日志审计? 日志集中审计分析是现代信息安全管理中的关键组成部分,将来自不同地域、不同账号甚至不同云产品来源的日志数据进行集中化处理和分析,能够打破 “信息孤岛” &…

Unity游戏(Assault空对地打击)开发(7) 飞机坠毁后的操作

前言 本文之后基本操作不再演示。 详细操作 导入Free Fire VFX插件,生成火的效果。 在该文件夹下挑一个你喜欢的火,拖至Camera下,重命名为Fire。 调整一下火的位置,让摄像机清晰看到火,如下图,火在摄像机的…

vue2-mixin的定义与和使用

文章目录 1. 什么是mixin2. 局部混入3. 全局混入4. 多mixin混入冲突4.1 替换性4.2 合并型4.3 合并队列型4.4 叠加性 5. 使用场景 #vue2-mixin的使用 1. 什么是mixin Mixin是面向对象语言中的一个类,提供了方法的实现,其他类可以访问mixin类的方法而不用…

[SAP ABAP] 面向对象程序设计-属性和方法

属性( Attributes) :对象的属性及特征 方法( Method ):定义对象的行为 从对象属性和方法是属于类还是属于对象的实例,可以区分为静态属性(static attributes) / 静态方法(static methods),实例属性(instance attributes) / 实例方…

标准库发送数据深入理解USART

如何使用USART(编程理论讲解) 如下是串口发送信息的原理图,CPU将数据写入TDR寄存器,然后串口外设将寄存器中的数据发送出去 这就是串口发送的全部流程 (图中所有图片均来自博主 铁头山羊) 在这个发送流程的过程中,我…

如何在 Kafka 中实现自定义分区器

今天我来给大家分享一下如何在 Kafka 中实现一个自定义分区器。Kafka 是一个分布式流处理平台,能够高效地处理海量数据。默认情况下,Kafka 使用键的哈希值来决定消息应该发送到哪个分区,但是有时我们需要根据特定的业务逻辑来定制分区策略。这…

需求分析应该从哪些方面来着手做?

需求分析一般可从以下几个方面着手: 业务需求方面 - 与相关方沟通:与业务部门、客户等进行深入交流,通过访谈、问卷调查、会议讨论等方式,明确他们对项目的期望、目标和整体业务需求,了解项目要解决的业务问题及达成的…