集成算法(聚类)

下面简单集成算法代码

from sklearn.datasets import make_blobs

from sklearn.cluster import KMeans

import matplotlib.pyplot as plt

创建数据集,生成 3 个中心的聚类数据,共 300 个样本,每个样本 2 个特征

X, _ = make_blobs(n_samples=300, centers=3, n_features=2, random_state=42)

进行 K 均值聚类,设置聚类数为 3

kmeans = KMeans(n_clusters=3, random_state=42)

y_pred = kmeans.fit_predict(X)

可视化聚类结果

plt.scatter(X:, 0, X:, 1, c=y_pred, cmap='viridis')

plt.scatter(kmeans.cluster_centers_:, 0, kmeans.cluster_centers_:, 1,

s=300, c='red', marker='*', label='Centroids')

plt.legend()

plt.title('K-Means Clustering')

plt.show()

这段代码展示了如何使用scikit-learn库实现K均值(K-Means)聚类算法,并通过可视化呈现聚类结果。

首先是数据生成环节。代码利用make_blobs函数创建了一个模拟数据集,其中参数n_samples=300指定生成300个样本,centers=3定义了数据潜在的3个聚类中心,n_features=2设置每个样本包含2个特征(便于二维可视化),random_state=42确保结果可重复。生成的数据集X是一个300行2列的数组,包含了分布在3个中心周围的样本点,由于未使用标签信息,该过程属于无监督学习的数据准备。

接下来是K均值聚类的实现。通过KMeans类初始化模型,n_clusters=3指定聚类数量为3(与数据生成时的中心数一致),random_state=42固定随机种子以保证结果稳定。调用fit_predict方法同时完成模型训练和预测,返回的y_pred是长度为300的数组,每个元素表示对应样本所属的聚类类别(0、1或2),实现了对无标签数据的自动分组。

最后是结果可视化部分。使用matplotlib.pyplot绘制散点图:以样本的两个特征分别作为横、纵轴,用c=y_pred通过不同颜色区分聚类结果,cmap='viridis'设置配色方案;同时用红色星号标记出聚类中心(kmeans.cluster_centers_存储了3个中心的坐标),并通过s=300放大显示以突出其位置。图表添加了图例、标题,最终通过plt.show()展示图像。

从结果来看,可视化图像会清晰呈现3组颜色不同的样本点,每组点围绕一个红色星号(聚类中心)分布,直观体现了K均值算法的核心思想------通过迭代计算,将数据划分为K个聚类,使每个样本到其所属聚类中心的距离之和最小化。此案例中,由于使用了预设3个中心的模拟数据,聚类结果通常会与真实分布高度吻合,验证了K均值在简单数据集上的有效性。该代码为理解无监督聚类算法提供了直观示例,可通过调整n_clusters等参数观察不同聚类数量对结果的影响。

相关推荐
麦哲思科技任甲林2 天前
Vibe Coding 实战(中篇):设计、编码与调试阶段总结
集成测试·ai编程·tdd·openspec·规格驱动的开发
FirstFrost --sy5 天前
基于高并发服务器的web小游戏测试
服务器·前端·javascript·c++·python·集成测试
夜雪闻竹9 天前
测试策略:单元测试 + 集成测试怎么写
typescript·单元测试·集成测试·chatcrystal
暗冰ཏོ9 天前
软件测试完整学习指南:从入门到自动化、性能与安全测试实战
软件测试·功能测试·单元测试·集成测试·压力测试·测试·安全性测试
Wang2012201316 天前
Continuity_TEST
集成测试
汽车仪器仪表相关领域17 天前
Kvaser Hybrid CAN/LIN 单通道三合一总线分析仪:高性价比CAN FD/LIN集成测试利器
运维·服务器·网络·数据挖掘·数据分析·单元测试·集成测试
CSDN_MAXF21 天前
车载摄像头抗静电器件选型仿真分析
matlab·集成测试·硬件工程
凝小飞1 个月前
cucumber JAVA 一键部署指南
java·集成测试·模块测试
前端若水1 个月前
智能体测试策略:单元测试、集成测试与模拟LLM
单元测试·集成测试
QH139292318801 个月前
R&S®SMBV100B 矢量信号发生器 5G/Wi-Fi/GNSS 主力源
网络·科技·嵌入式硬件·集成测试·信息与通信