OPTICS聚类算法详解

article/2025/9/30 14:20:54

欢迎关注”生信修炼手册”!

DBSCAN算法对于邻域半径eps和最小样本数minPoints这两个参数比较敏感,不同的参数取值会产生不同的聚类效果。为了降低参数设置对聚类结果造成的不稳定性,在DBSCAN算法的基础上,提出了OPTICS算法,全称如下

Ordering Points to identify the clustering structure

通过对样本点排序来识别聚类结构,为了搞清楚该算法,首先要理解以下两个基本概念

1. core distance,核心距离是使一个样本点成为core points的最小半径,在给定邻域半径eps和minPoints参数的前提下,核心距离可以比给定的eps更小

2. reachability distance,可达距离指的是样本与core point的距离

上述两种距离的定义可以参考下图来理解

核心距离的作用用于判断一个样本是否为core points, 如果核心距离小于等于eps, 则样本为核心样本点;如果核心距离大于eps, 则样本点不是核心样本点,图示如下

可达距离则用于对样本点进行排序,这也是OPTICS算法中Ordering Points的由来。该算法的具体过程如下

1. 定义两个队列,有序队列和结果队列,有序队列用于存储core points及其密度直达points, 并按照可达距离升序排列;结果队列用于存储样本点的输出次序;有序队列中的points为待处理样本,结果队列中的points为处理之后的样本;

2. 选取一个未处理的core point, 将其放入结果队列,同时计算邻域内样本点的可达距离,按照可达距离升序将样本点依次放入有序队列;

3. 从有序队列中提取第一个样本,如果为core point, 则计算可达距离,将可达距离最小的点放入结果队列,如果不是core point, 则跳过该点,选取新的core point, 重复步骤2

4. 不断迭代第二步和第三步,直到所有样本点都处理完毕,然后输出结果队列中的样本点及其可达距离

处理完毕之后,根据样本的输出顺序和可达距离,可以绘制如下所示的柱状图,其中不同的峰谷对应不同不同的cluster, 红色表示噪声点

在scikit-learn中,使用OPTICS聚类的代码如下

>>> from sklearn.cluster import OPTICS
>>> import numpy as np
>>> X = np.array([[1, 2], [2, 5], [3, 6],[8, 7], [8, 8], [7, 3]])
>>> clustering = OPTICS(min_samples=2).fit(X)
>>> clustering.labels_
array([0, 0, 0, 1, 1, 1])

该算法继承了DBSCAN算法的优点,同时增强了其稳定性。

·end·

—如果喜欢,快分享给你的朋友们吧—

原创不易,欢迎收藏,点赞,转发!生信知识浩瀚如海,在生信学习的道路上,让我们一起并肩作战!

本公众号深耕耘生信领域多年,具有丰富的数据分析经验,致力于提供真正有价值的数据分析服务,擅长个性化分析,欢迎有需要的老师和同学前来咨询。

  更多精彩

  • KEGG数据库,除了pathway你还知道哪些

  • 全网最完整的circos中文教程

  • DNA甲基化数据分析专题

  • 突变检测数据分析专题

  • mRNA数据分析专题

  • lncRNA数据分析专题

  • circRNA数据分析专题

  • miRNA数据分析专题

  • 单细胞转录组数据分析专题

  • chip_seq数据分析专题

  • Hi-C数据分析专题

  • HLA数据分析专题

  • TCGA肿瘤数据分析专题

  • 基因组组装数据分析专题

  • CNV数据分析专题

  • GWAS数据分析专题

  • 2018年推文合集

  • 2019年推文合集

  • 2020推文合集

  写在最后

转发本文至朋友圈,后台私信截图即可加入生信交流群,和小伙伴一起学习交流。

扫描下方二维码,关注我们,解锁更多精彩内容!

一个只分享干货的

生信公众号


http://chatgpt.dhexx.cn/article/ApvKXaDv.shtml

相关文章

密度聚类:OPTICS算法简单易懂版

前几天写了一篇详解版,感觉可能太详细了阅读量不高,所以修改精简成这篇。 很多人不理解OPTICS算法绘出的图该怎么理解。为什么波谷就算一类,有个波峰又算另一类了,本篇在第三部分的第2、3节详细讲这个是什么判别分类的。 本篇会添…

optics算法

1 简介 随着数据爆发式增长,分析数据从而提取隐藏在数据中的信息变的越来越重要。聚类分析是数据分析的一个主要方法,聚类(clustering)是将数据对象进行分类的过程,使同一类中的对象之间具有很高的相似度,而不同类中的对象高度相…

OptiSystem应用:激光雷达系统设计

简介:激光探测和测距系统(LIDAR) 以下四个示例设计演示了如何使用OptiSystem模拟光检测和测距系统(LIDAR),具体如下: □ 激光脉冲飞行时间测量 □ 相移测距 □ 调频连续波(FMCW)直接检测测…

基于密度的DBSCAN聚类及其优化的OPTICS聚类(二)

1.OPTICS聚类算法 应用背景:如今整个数据集越来越复杂,都采用到了至少一个全局密度表征参数。如果对同一数据集中同时也存在这两种不同的全局密度表征参数的一个聚类簇或者是两个的嵌套簇,则所使用到的DBSCAN算法显然并没有做到高效地处理,因…

sklearn聚类算法OPTICS

本文的csdn链接:https://blog.csdn.net/Jinyindao243052/article/details/107544145 知乎链接:https://zhuanlan.zhihu.com/p/163218826 算法 The OPTICS (Ordering Points To Identify the Clustering Structure) algorithm shares many similarities…

Optics and Lasers in Engineering期刊误选,审查中的论文发表在SSRN,撤销方法,适用于所有爱思唯尔期刊

在投稿的时候,没太看懂选项,误以为是Proof阶段公开,没想到是审查的时候就公开在SSRN,在网上查阅资料的时候,大多数人是推荐在SSRN上删除论文,避免他人盗取创新点 首先我们登录SSRN界面 选择my paper 在P…

密度聚类:OPTICS算法详解

很多人不理解OPTICS算法绘出的图该怎么理解。为什么波谷就算一类,有个波峰又算另一类了,本篇在第三部分的第2、3节详细讲这个是什么判别分类的。 本篇会添加一些个人思考过程,可能有不严谨的地方,希望在评论区讨论指正。 另外&a…

Ocean Optics USB2000光谱仪无法在Win10系统运行

1、问题描述 USB2000型光谱仪,由于生产年代过于久远,虽然能被Win10系统识别,但是驱动程序安装完成后依然报错, 提示:该设备无法启动。(代码 10) 请求USB BOS 描述符失败。 运行SpectraSuite软件…

光学

1. 镜头规格 1.1 焦距 定义:指从透镜中心到光聚集之焦点的距离,也就是在模组中,从镜片中心到Sensor表面的成像平面的距离。 决定焦距的因素: 材料的折射率凸透镜的曲率半径光的波长 EFL:有效焦距(Effective Focal …

聚类算法OPTICS的理解及实现

前言 前面给大家介绍到了聚类算法中比较经典的 DBSCAN 算法,对于数据量小而且相对比较密集、密度相似的数据集来说,是比较合适的。那么接下来给大家介绍它的改进版 OPTICS (Ordering points to identify the clustering structure),针对 DBS…

(4)聚类算法之OPTICS算法

文章目录 1.引言2.相关定义2.1 DBSCAN相关定义2.2 OPTICS相关定义 3.算法思想3.1算法流程3.2算法伪代码 4.算法实现4.1使用numpy实现OPTICS算法 5.数据及代码下载地址 1.引言 OPTICS(Ordering points to identify the clustering structure)是一基于密度的聚类算法,…

基于密度的聚类算法(2)——OPTICS详解

基于密度的聚类算法(1)——DBSCAN详解 基于密度的聚类算法(2)——OPTICS详解 基于密度的聚类算法(3)——DPC详解 1. OPTICS简介   上一节介绍的DBSCAN算法中,较小的eps将建立更多的簇&#x…

【Python机器学习】密度聚类DBSCAN、OPTICS的讲解及实战演示(附源码 超详细)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 划分聚类、密度聚类和模型聚类是比较有代表性的三种聚类思路 1:划分聚类 划分(Partitioning)聚类是基于距离的,它的基本思想是使簇内的点距离尽量近、簇间的点距离尽量远。k…

OPTICS

OPTICS 就是一种基于密度的聚类算法,可以认为是dbscn的改进,改进之处主要是在不用每次调节eps和minpts都需要重新整个训练。其本质还是dbscan,只是能够在给定eps和minpts后,可以训练一次就可以在minpts值定对的情况下,…

聚类算法初探(六)OPTICS

第一章 引言 第二章 预备知识 第三章 直接聚类法 第四章 K-means 第五章 DBSCAN 第六章 OPTICS 第七章 聚类分析的效果评测 第八章 数据尺度化问题 作者: peghoty 出处: http://blog.csdn.net/itplus/article/details/10089323 欢迎转载/分享, 但请务必声明文章出处. 转…

OPTICS聚类(最清晰解释)

背景 想要理解该算法,你需要先了解: DBSCAN算法 OPTICS(用于识别聚类结构的排序点)算法与 DBSCAN 算法有许多相似之处,可视为 DBSCAN 的泛化,将 eps 要求从单个值放宽到一个范围 DBSCAN 和 OPTICS 之间的主…

机器学习笔记(十一)聚类算法OPTICS原理和实践

OPTICS聚类算法是基于密度的聚类算法,全称是Ordering points to identify the clustering structure。提到基于密度的聚类算法,应该很快会想到前面介绍的DBSCAN聚类算法,事实上,OPTICS也是为了优化DBSCAN而出现的。 一、原理 在…

sklearn聚类之OPTICS算法

文章目录 简介sklearn实现cluster_optics_dbscan 简介 OPTICS算法,全称是Ordering points to identify the clustering structure,是一种基于密度的聚类算法,是DBSCAN算法的一种改进。 众所周知,DBSCAN算法将数据点分为三类&…

聚类算法——OPTICS

网上很多关于OPTICS算法的资料,学习了很多博客之后总感觉不太合自己口味,因此整理了一篇博文供总结和复习,如能有幸帮助到其他人便是荣幸之至,如有错误,不吝指出。阅读此文需要了解“聚类”,“基于密度聚类…

JS获取url参数(简单、实用)

// js获取url传参参数function GetQueryString(name) {var reg new RegExp("(^|&)" name "([^&]*)(&|$)");// Location 对象是 Window 对象的一个部分,可通过 window.location 属性来访问。var r window.location.search.substr(…