基于密度的方法:DBSCAN

基于密度的方法:DBSCAN

  • DBSCAN=Density-Based Spatial Clustering of Applications with Noise
  • 本算法将有足够高密度的区域划分为簇,并可以发现任何形状的聚类

若干概念

r-邻域:给定点半径r内的区域

核心点:如果一个点的r-邻域至少包含最少数目M个点,则称该点为核心点

直接密度可达:如果点p在核心点q的r-邻域内,则称p是从q出发可以直接密度可达

如果存在点链是从关于r和M直接密度可达 ,则称点p是从q关于r和M密度可达

如果样本集D中存在点o,使得点p、q是从 o关于r和M密度可达的,那么点p、q是关于r和M密度相连

DBSCAN基本思想

  1. 指定合适的r和M
  2. 计算所有的样本点,如果点p的r邻域里有超过M个点,则创建一个以p为核心点的新簇
  3. 反复寻找这些核心点,直接密度可达(之后可能是密度可达)的点,将其加入到相应的簇,对于核心点发生”密度相连“状况的簇,给予合并
  4. 当没有新的点可以被添加到任何簇时,算法结束

DBSCAN算法描述

输入:包含n个对象的数据库,半径e,最少数目MinPts

输出:所有生成的簇,达到密度要求

(1) Repeat

(2) 从数据库中抽出一个未处理的点

(3) IF抽出的点是核心点THEN找出所有从该点密度可达的对象,形成一个簇

(4) ELSE抽出的点是边缘点(非核心对象),跳出本次循环,寻找下一个点

(5) UNTIL所有的点都被处理

DBSCAN对用户定义的参数很敏感,细微 的不同都可能导致差别很大的结果,而参数的选择无规律可循,只能靠经验确定

R与数据分析旧笔记(十六) 基于密度的方法:DBSCAN的更多相关文章

  1. R与数据分析旧笔记(六)多元线性分析 下

    逐步回归 向前引入法:从一元回归开始,逐步加快变量,使指标值达到最优为止 向后剔除法:从全变量回归方程开始,逐步删去某个变量,使指标值达到最优为止 逐步筛选法:综合上述两种方法 多元线性回归的核心问题 ...

  2. R与数据分析旧笔记(六)多元线性分析 上

    > x=iris[which(iris$Species=="setosa"),1:4] > plot(x) 首先是简单的肉眼观察数据之间相关性 多元回归相较于一元回归的 ...

  3. R与数据分析旧笔记(十五) 基于有代表性的点的技术:K中心聚类法

    基于有代表性的点的技术:K中心聚类法 基于有代表性的点的技术:K中心聚类法 算法步骤 随机选择k个点作为"中心点" 计算剩余的点到这个k中心点的距离,每个点被分配到最近的中心点组成 ...

  4. R与数据分析旧笔记(十八完结) 因子分析

    因子分析 因子分析 降维的一种方法,是主成分分析的推广和发展 是用于分析隐藏在表面现象背后的因子作用的统计模型.试图用最少的个数的不可测的公共因子的线性函数与特殊因子之和来描述原来观测的每一分量 因子 ...

  5. R与数据分析旧笔记(十四) 动态聚类:K-means

    动态聚类:K-means方法 动态聚类:K-means方法 算法 选择K个点作为初始质心 将每个点指派到最近的质心,形成K个簇(聚类) 重新计算每个簇的质心 重复2-3直至质心不发生变化 kmeans ...

  6. R与数据分析旧笔记(十二)分类 (支持向量机)

    支持向量机(SVM) 支持向量机(SVM) 问题的提出:最优分离平面(决策边界) 优化目标 决策边界边缘距离最远 数学模型 问题转化为凸优化 拉格朗日乘子法--未知数太多 KKT变换和对偶公式 问题的 ...

  7. R与数据分析旧笔记(十)非线性模型

    非线性模型 非线性模型 例子:销售额x与流通费率y > x=c(1.5,2.8,4.5,7.5,10.5,13.5,15.1,16.5,19.5,22.5,24.5,26.5)> y=c( ...

  8. R与数据分析旧笔记(⑦)回归诊断

    回归诊断 回归诊断 1.样本是否符合正态分布假设? 2.是否存在离群值导致模型发生较大误差? 3.线性模型是否合理? 4.误差是否满足独立性.等方差.正态分布等假设条件? 5.是否存在多重共线性 正态 ...

  9. R与数据分析旧笔记(八)多重共线性

    多重共线性(线性代数叫线性相关) 多重共线性(线性代数叫线性相关) 1.什么是多重共线性 2.多重共线性对回归模型的影响 3.利用计算特征根发现多重共线性 4.Kappa()函数 例题1 考虑一个有六 ...

随机推荐

  1. Linux下patch打补丁命令

    此命令用于为特定软件包打补丁,他使用diff命令对源文件进行操作. 基本命令语法: patch [-R] {-p(n)} [--dry-run] < patch_file_name p:为pat ...

  2. 在sql数据库变量中保存单引号的办法

    set @strWhere=' AccountName like '+'''%'+@Condition+'%''' 先用'+''''+要在单引号里的内容+''''. 就这样就行了. 主要就是用三个单引 ...

  3. iOS状态栏字体设置为白色

    info.plist 添加字段: view controller -base status bar appearence 设为NO [[UIApplication sharedApplication] ...

  4. JqMobi学习

    JqMobi+phonegap+html5 开发Android.ios应用

  5. 关于函数strtok和strtok_r的使用要点和实现原理(二)

    http://www.cnblogs.com/stemon/p/4013264.html已经介绍了使用strtok函数的一些注意事项,本篇将介绍strtok的一个应用并引出strtok_r函数. 1. ...

  6. windows迁移linux问题集锦[ZZ]

    http://blog.csdn.net/m_star_jy_sy/article/details/8482202 1)‘_wcsicmp’在此作用域中尚未声明 #ifdef WIN32#define ...

  7. chrome误删书签恢复。

    由于手残本来想添加网页到书签文件夹的,结果点了删除. 但是整个人就炸了,里面有我好多链接. 于是立马Google了一下,发现不少朋友和我一样,都是误删了书签或者书签文件夹. 但是chrome并没有书签 ...

  8. web前端-html学习笔记

    学习html最重要的是坚持.细心.多动手.慕课网<HTML+CSS基础课程>的笔记. 1.<h1>网站标题</h1> 如:<h1>腾讯网</h1& ...

  9. CSS3 transition 属性

    transition是css3中新添加的特性,在W3C标准中是这样描述的:“css的transition允许css的属性值在一定的时间内从一个状态平滑的过渡到另一个状态.这种状态可以在鼠标单击.获得焦 ...

  10. SingleNumber python实现

    Single Number Given an array of integers, every element appears twice except for one. Find that sing ...