[Python数据挖掘] sklearn-DBSCAN聚类

本文通过实例介绍了如何使用Python的scikit-learn库实现DBSCAN聚类算法,详细讲解了数据预处理、参数设置以及聚类结果分析。DBSCAN无需预先指定类别数量,但需要调整eps和min_samples参数,相比KMeans,其聚类结果更稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[问题背景]

假定有这样的数据集,txt格式,ANSI编码:

YZN,133,108,76
ZHY,96,145,101
WYZ,132,107,60
DHY,100,102,120
CYH,139,99,93
LHY,73,149,81
ZHY,85,148,93
TQP,39,138,85
ZZL,145,112,71
HJC,101,116,118
XZY,99,98,117


每行第一列是学生姓名,第二列是语文成绩,第三列是数学成绩,第四列是英语成绩。

目标是利用KMeans对学生进行聚类,例如聚成3类。
[问题分析]

数据处理loadData()函数的设计在[Python数据处理] 怎样用Python预处理txt文档提取数据中已经讲过。

应用DBSCAN聚类器:

数据预处理grade.txt(需要和该py代码处于同一目录下)

if __name__ == '__main__':
    Name, Data = loadData('grade.txt')

设置DBSCAN聚类器所需要的参数eps(邻域半径)和min_samples(最小样本数)

eps = 21
min_samples = 2

DBSCAN聚类的原理请参见我在B站的投稿视频:DBSCAN聚类 动画演示

 用DBSCAN方法设置一个eps=21,min_samples=2的聚类器db,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值