基于密度的变密度聚类

hdbscan-with-cosine-distance的Python项目详细描述


HDBScan

基于层次密度的应用空间聚类 有噪音。在不同的epsilon值上执行dbscan并集成 找到一个聚类的结果,它比epsilon更稳定。 这使得hdbscan能够找到密度不同的集群(与dbscan不同)。 对参数选择更加稳健。

实际上,这意味着hdbscan直接返回一个好的集群 只需很少或根本没有参数调整,而主要参数, 最小群集大小,直观且易于选择。

HDBScan是探索性数据分析的理想选择;它是一种快速和健壮的 可以信任的算法返回有意义的集群(如果有 有)。

< DL>
基于论文:
r.campello、d.moulavi和j.sander, 基于密度的聚类 层次密度估计 在:知识发现和数据挖掘的进展,斯普林格,pp 160-172。 2013

阅读文档(包括教程)可在http://hdbscan.readthedocs.io/en/latest/" rel="nofollow">http://hdbscan.readthedocs.io/en/latest/上找到。

笔记本电脑将HDBScan与其他群集算法进行比较ks/how%20hdbscan%20works.ipynb" rel="nofollow">hdbscan如何工作和 将性能与其他python集群im进行比较提供实施

如何使用HDBScan

hdbscan包继承自sklearn类,因此可以方便地插入 与其他具有相同调用api的sklearn cluster相邻。同样地 支持多种格式的输入:数组(或pandas数据框,或 稀疏矩阵)形状 (num-samples x num-features) ;数组(或稀疏矩阵) 给出样本之间的距离矩阵。

importhdbscanclusterer=hdbscan.HDBSCAN(min_cluster_size=10)cluster_labels=clusterer.fit_predict(data)

性能

为了使hdbscan的实现速度与 可能的。它是一个HREF= ="http://nbVistor.juyter .org/Github/LMcNeN/HDBSnc/Bulb/Muth/BoothBoo/Python %20VS%20Java.IPyb"Re="NoFoLoLy">在爪哇中比参考实现更快的数量级, 并且目前比C和C++中高度优化的单链接实现更快。 0.7版性能可以在本笔记本中看到。 尤其是在低维度上的性能l数据优于sklearn的dbscan , 并通过支持joblib缓存,使用不同参数重新集群 几乎是免费的。

附加功能

hdbscan包配备了可视化工具来帮助您 了解聚类结果。在拟合数据之后,聚类器 对象具有以下属性:

  • 浓缩的群集层次结构
  • 健壮的单连杆机群层次结构
  • 可达距离最小生成树

所有这些都配备了绘图和转换的方法 给熊猫或网络作进一步分析。看上面的笔记本 hdbscan如何工作 有关示例和进一步的详细信息。

cluster对象还有一个提供集群成员身份的属性 强度,导致可选的软聚类(无需进一步计算 费用)。最后,每个集群还收到一个持久性得分 星系团在距离尺度范围内的稳定性 在数据中。这提供了集群相对强度的度量。

异常值检测

hdbscan集群对象也支持glosh离群点检测算法。 将聚类器拟合到数据后,可以通过 异常值得分属性。结果是一个分数向量,一个用于 每个合适的数据点。分数越高,表示的对象越离群。 通过上分位数选择离群值通常是一种很好的方法。

< DL>
基于论文:
R.J.G.B.坎佩罗、D.穆拉维、A.齐梅克和J.桑德 数据聚类、可视化和离群点检测的分层密度估计 , ACM反式《从数据中发现知识》,第10卷,第1期(2015年7月),第1-51页。

坚固的单连杆

hdbscan包还支持 健壮的单连杆 chaudhuri和dasgupta的聚类算法。和HDBScan一样 实现这是算法的高性能版本 优于scipy的标准单链接实现。这个 稳健的单连杆结构可用作 强大的单连杆组合器,同样具有绘图功能 或者导出层次结构,并在给定位置提取平面簇 切割电平和伽马值。

示例用法:

importhdbscanclusterer=hdbscan.RobustSingleLinkage(cut=0.125,k=7)cluster_labels=clusterer.fit_predict(data)hierarchy=clusterer.cluster_hierarchy_alt_labels=hierarchy.get_clusters(0.100,5)hierarchy.plot()
< DL>
基于论文:
K.Chaudhuri和S.Dasgupta。 "聚类树的收敛速度。" 神经信息处理系统进展,2010年。

安装

最简单的安装,如果你有蟒蛇(感谢康达锻造这是可怕的!)

conda install -c conda-forge hdbscan

pypi安装,假设您已经安装了sklearn及其所有要求:

pip install hdbscan

如果pip在提取依赖项时遇到困难,那么我们建议安装 使用anaconda手动创建依赖项,然后从pip中提取hdbscan:

conda install cython
conda install scikit-learn
pip install hdbscan

对于手动安装,请获取此软件包:

wget https://github.com/lmcinnes/hdbscan/archive/master.zip
unzip master.zip
rm master.zip
cd hdbscan-master

安装要求

sudo pip install -r requirements.txt

conda install scikit-learn cython

安装软件包

python setup.py install

许可

hdbscan包是3条bsd许可的。享受。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作