Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: Python实现DBSCAN膨胀聚类模型(DBSCAN算法)项目实战

说明:这是一个机器学习实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

image.png

image.png

1.项目背景

DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。该算法将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,DBSCAN算法将“簇”定义为密度相连的点的最大集合。

DBSCAN算法是密度聚类算法,所谓密度聚类算法就是说这个算法是,根据样本的紧密程度来进行聚类。

2.数据获取

本次建模数据来源于网络(本项目撰写人整理而成),数据项统计如下

数据详情如下(部分展示):

编号

字段

备注

1

x1

 

2

x2

 

3

x3

 

4

x4

 

5

x5

 

6

x6

 

7

y

 

部分数据展示:

image.png

3.数据预处理

3.1 用Pandas工具查看数据

使用Pandas工具的head()方法查看前五行数据:

image.png

从上图可以看到,总共有7个字段。

关键代码:

image.png

3.2缺失值统计

使用Pandas工具的info()方法统计每个特征缺失情况:

image.png

从上图可以看到,数据不存在缺失值,总数据量为1000条。

关键代码:

image.png

3.3变量描述性统计分析

通过Pandas工具的describe()方法来来统计变量的平均值、标准差、最大值、最小值、分位数等信息:

image.png

关键代码如下:

image.png

 

4.探索性数据分析

4.1.绘制散点图

通过Matplotlib工具针对x1 x2两个特征绘制分类散点图,如下图所示:

image.png

4.2 相关性分析

通过Pandas工具的corr()方法和seaborn工具的heatmap()方法绘制相关性热力图:

image.png

从图中可以看到,正数为正相关,负数为负相关,绝对值越大相关性越强。

5.特征工程

5.1 建立特征数据和标签数据

y为标签数据,除y之外的为特征数据。关键代码如下:

image.png

5.2 数据标准化

sklearn包下的StandardScaler函数进行特征数据的标准化,关键代码如下:

image.png

 

6.构建聚类模型

主要使用DBSCAN聚类算法,用于目标聚类分析。 

6.1 建立DBSCAN聚类模型

编号

模型名称

参数

1

DBSCAN聚类模型

eps=0.3

2

min_samples=10

6.2 获取聚类类别数和噪声样本数

image.png

关键代码如下:

image.png

7.模型评估

7.1评估指标及结果 

评估指标主要包括聚类结果同质性、完整性、调和平均值、调整的兰德系数、互信息、轮廓系数等等。

模型名称

指标名称

指标值

数据集

DBSCAN聚类模型

聚类结果同质性

0.975

聚类结果完整性

0.899

同质性和完整性之间的调和平均值

0.936

调整的兰德系数

0.961

调整的互信息

0.935

轮廓系数

0.777

通过上表可以看到,整体的模型效果良好。

 

7.2 聚类结果可视化

image.png

从上图可以看到,聚成了3类,黑色的点代表有噪声的聚类标签样本。

8.结论与展望

综上所述,本项目采用DBSCAN聚类算法进行聚类,最终证明了我们提出的模型效果良好,可用于日常生活中进行建模预测,以提高生产价值。

# 本次机器学习项目实战所需的资料,项目资源如下:
 
# 项目说明:
 
# 获取方式一:
 
# 项目实战合集导航:
 
https://docs.qq.com/sheet/DTVd0Y2NNQUlWcmd6?tab=BB08J2
 
# 获取方式二:
 

链接:https://pan.baidu.com/s/1TyMNQbTFJMgfjB1IlBHekA 
提取码:81hc
相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
1月前
|
机器学习/深度学习 数据采集 算法
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
【CNN-BiLSTM-attention】基于高斯混合模型聚类的风电场短期功率预测方法(Python&matlab代码实现)
|
2月前
|
算法 数据可视化 数据挖掘
基于EM期望最大化算法的GMM参数估计与三维数据分类系统python源码
本内容展示了基于EM算法的高斯混合模型(GMM)聚类实现,包含完整Python代码、运行效果图及理论解析。程序使用三维数据进行演示,涵盖误差计算、模型参数更新、结果可视化等关键步骤,并附有详细注释与操作视频,适合学习EM算法与GMM模型的原理及应用。
|
2月前
|
存储 监控 安全
企业上网监控系统中红黑树数据结构的 Python 算法实现与应用研究
企业上网监控系统需高效处理海量数据,传统数据结构存在性能瓶颈。红黑树通过自平衡机制,确保查找、插入、删除操作的时间复杂度稳定在 O(log n),适用于网络记录存储、设备信息维护及安全事件排序等场景。本文分析红黑树的理论基础、应用场景及 Python 实现,并探讨其在企业监控系统中的实践价值,提升系统性能与稳定性。
63 1
|
2月前
|
存储 监控 算法
基于 Python 跳表算法的局域网网络监控软件动态数据索引优化策略研究
局域网网络监控软件需高效处理终端行为数据,跳表作为一种基于概率平衡的动态数据结构,具备高效的插入、删除与查询性能(平均时间复杂度为O(log n)),适用于高频数据写入和随机查询场景。本文深入解析跳表原理,探讨其在局域网监控中的适配性,并提供基于Python的完整实现方案,优化终端会话管理,提升系统响应性能。
73 4
|
3月前
|
PyTorch 算法框架/工具 C++
人工智能算法python程序运行环境安装步骤整理
本教程详细介绍Python与AI开发环境的配置步骤,涵盖软件下载、VS2017安装、Anaconda配置、PyCharm设置及组件安装等内容,适用于Windows系统,助你快速搭建开发环境。
|
4月前
|
人工智能 自然语言处理 算法
算法及模型合规:刻不容缓的企业行动指南
随着AI技术迅猛发展,算法与模型成为企业数字化转型的核心。然而,国家密集出台多项法规,如《人工智能生成合成内容标识办法》等,并开展“清朗·整治AI技术滥用”专项行动,标志着AI监管进入严格阶段。算法备案从“可选项”变为“必选项”,未合规可能面临罚款甚至刑事责任。同时,多地提供备案奖励政策,合规既是规避风险的需要,也是把握政策红利和市场信任的机遇。企业需系统规划合规工作,从被动应对转向主动引领,以适应AI时代的挑战与机遇。
|
4月前
|
算法 Python
Apriori算法的Python实例演示
经过运行,你会看到一些集合出现,每个集合的支持度也会给出。这些集合就是你想要的,经常一起被购买的商品组合。不要忘记,`min_support`参数将决定频繁项集的数量和大小,你可以根据自己的需要进行更改。
163 18
|
4月前
|
存储 机器学习/深度学习 算法
论上网限制软件中 Python 动态衰减权重算法于行为管控领域的创新性应用
在网络安全与行为管理的学术语境中,上网限制软件面临着精准识别并管控用户不合规网络请求的复杂任务。传统的基于静态规则库或固定阈值的策略,在实践中暴露出较高的误判率与较差的动态适应性。本研究引入一种基于 “动态衰减权重算法” 的优化策略,融合时间序列分析与权重衰减机制,旨在显著提升上网限制软件的实时决策效能。
127 2
|
机器学习/深度学习 算法 搜索推荐
Python数据挖掘与机器学习,快速掌握聚类算法和关联分析
前文数据挖掘与机器学习技术入门实战与大家分享了分类算法,在本文中将为大家介绍聚类算法和关联分析问题。分类算法与聚类到底有何区别?聚类方法应在怎样的场景下使用?如何使用关联分析算法解决个性化推荐问题?本文就为大家揭晓答案。
16414 0

推荐镜像

更多