![FIFA20 对技能相近的球员分组(3):DBSCAN](https://static001.infoq.cn/resource/image/88/12/886eed0b9a2d75786b4326c5ac648e12.png?x-oss-process=image/crop,w_1066,h_598/resize,w_726,h_408)
了解 DBSCAN
基于密度的噪声应用空间聚类。
基于密度的聚类定位高密度区域,这些高密度区域被低密度区域彼此分开。
密度:指定半径内的点数(又名 Eps 或 ε)。
点数
核心点 :如果一个点在 Eps 中有超过指定数量的点(MinPts)。、
边界点 :它在 EPS 中少于 MinPts,但在核心点附近。
噪音点(离群值) :不是核心点或边界点的任何点。
![](https://static001.infoq.cn/resource/image/c1/bb/c1c1d30301e4d2a0e7d71bf20c2a33bb.png)
核心点、边界点、离群值示例。
集群如何形成?
选择一个点 P。
从 p.w.t. eps 和 MinPts 中检索密度可达的所有点。
如果 p 是核心点,则形成一个聚类。
如果 p 是边界点,则从 p 没有密度可达的点,并且 DBSCAN 将访问数据库的下一个点。
继续执行该过程,直至所有点都已处理完毕。
结果与点的处理顺序无关。
ε-邻域概念
从对象到 ε 半径内的对象。
和新对象:一个对象的 ε-邻域 至少包含 MinPts 个 对象。
![](https://static001.infoq.cn/resource/image/7f/2a/7f1667887839f3e3a1fb72547c20c62a.png)
p 为和新对象
可达性
直接密度可达 :如果 q 在 p 的 ε-邻域内,且 p 为核心点,则点 q 是从 p 直接密度可达的。
![](https://static001.infoq.cn/resource/image/29/42/295b0634b328bfa55900a141808d6742.png)
密度可达 :如果点 p 在点 q 的 ε 距离内,且点 q 在其邻近点的可达距离 ε 内有足够数量的点,则称点 p 是从点 q 密度可达。
![](https://static001.infoq.cn/resource/image/de/63/def6c62b9a9d97dde04f06d8d03dd863.png)
连接性
密度连接性 :如果存在点 r,使得点 p 和点 q 可以从 r 的 w.r.t. ε 和 MinPts 密度可达,则点 p 密度连接到点 q。
![](https://static001.infoq.cn/resource/image/5e/d4/5e3a18dc8d51aebe19b916ca3326a8d4.png)
q 通过 r 密度连接到 p
优缺点及应用
使用 DBSCAN 对 FIFA 20 球员进行分组
数据清理/预处理(第一部分和第二部分的代码)
标准化数据
使用 PCA 将 60 列减少到 2 列
应用 DBSCAN
通过添加球员名字和他们的聚类来创建新的数据帧
绘制 DBSCAN
![](https://static001.infoq.cn/resource/image/fd/56/fd01bfd972862167660dd3dd025afd56.png)
DBSCAN,Eps=1,MinPts=5
聚类形成为守门员和其他球员
不是很准确
寻找最佳 ε
通过计算每个点到最近的 n 个点的距离,对结果进行排序和绘制,找出最佳 ε。
![](https://static001.infoq.cn/resource/image/b3/yy/b3e1e3969dd615006fd9fb65b67151yy.png)
寻找最佳 ε
使用新的 Eps 再次应用 DBSCAN
以新的 Eps=0.3 和 MinPts=4 再次绘制
![](https://static001.infoq.cn/resource/image/6c/04/6c71a012b6ca7df0a30bfbbb355f2804.png)
Eps=0.3,MinPts=4 的 DBSCAN 图
结论
使用 Eps=0.3 和 MinPts=4 的 DBSCAN 在分组和检测离群值方面做得更好!
感谢阅读本文,希望对您有所帮助!
GitHub Repo: https://github.com/importdata/Clustering-FIFA-20-Players
作者介绍:
Jaemin Lee,专攻数据分析与数据科学,数据科学应届毕业生。
原文链接:
评论