没有合适的资源?快使用搜索试试~ 我知道了~
Genieclust软件:快速强大的层次聚类方法
+软件X 15(2021)100722原始软件出版物genieclust:快速而强大的层次聚类马雷克·加戈列夫斯基迪肯大学,信息技术学院,吉朗,VIC 3220,澳大利亚华沙理工大学数学与信息科学学院,ul。Koszykowa 75,00-662华沙,波兰ar t i cl e i nf o文章历史记录:收到2020年收到修订版,2021年4月23日接受,2021年关键词:层次聚类鲁棒方法噪声点PythonRa b st ra ctgenieclust是一个开源的Python和R包,它实现了名为Genie的分层聚类算法。这种方法在聚类质量和速度方面经常优于其他最先进的方法,支持密集,稀疏和字符串数据域上的各种距离作为独立于领域的软件,它可用于解决所有数据驱动的研究和开发活动中出现的问题,包括环境,健康,生物,物理,决策和社会科学以及技术和工程。Python版本提供了一个符合scikit-learn的API,而R变体则与经典的hacklist()兼容。在https://genieclust.gagolewski.com/上可以找到许多教程、用例、重要示例、文档、安装说明、基准测试结果和计时。©2021作者由爱思唯尔公司出版这是一个在CC BY-NC-ND许可下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)中找到。代码元数据当前代码版本1.0.0此代码版本使用的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-20-00039法律代码许可证GNU AGPL v3使用git的代码版本控制系统使用C++11、Python、R的软件代码语言、工具和服务编译要求,操作环境&依赖性Python 3.7 withcython,numpy, scipy, matplotlib, nmslib,scikit-learn或R withRcpp链接到开发人员文档/手册https://genieclust.gagolewski.com/功能请求和错误跟踪器https://github.com/gagolews/genieclust/issues1. 介绍Genie是文[1]提出的一种多用途层次聚类算法,它基于以下直观思想。首先,使每个单独的点成为其自己的集群的唯一成员。然后,一个接一个地寻找并合并最接近的聚类对,应用单一链接标准,除非聚类大小分布的基尼在这种情况下,为了防止形成退化和不平衡的集群,将最小尺寸的点群与其最近的邻居相匹配。Genie与所有其他基于距离的层次聚类算法(如单个,平均,联系人:迪肯大学信息技术学院,吉朗,VIC 3220,澳大利亚。电子邮件地址:m. deakin.edu.au。https://doi.org/10.1016/j.softx.2021.100722Ward链接)。它只需要一对观测值之间的一些相似性度量。使用genieclust,可以对密集,稀疏和字符串数据以及各种度量进行分区,包括欧几里得,曼哈顿,余弦和Levenshtein。它还允许提取任意数量的聚类。Genie吸引人的简单性与它的实用性密切相关:它在某些方面往往优于其他方法速度和聚类质量。表1和表2中的数据证明了这一点,我们提供了一些收集的时间在中端笔记本电脑和表3中,我们量化了73个基准数据集的参考和预测聚类之间的一致性(关于未转换数据的欧几里得度量,除非另有说明,否则使用默认算法2352-7110/©2021作者。由Elsevier B. V.发布。这是CC BY-NC-ND许可证下的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表SoftwareX期刊主页:www.elsevier.com/locate/softx马雷克·加戈列夫斯基软件X 15(2021)1007222+++++−√表1为n个随机生成的点(2个高斯斑点,i.i.d.坐标)在R100; genieclust与确切和近似(基于快速最近邻搜索使用nmslib)版本的精灵(6线程)。方法n= 10,000 50,000 100,000 500,000 1000000精灵1.0026.07132.474408.0716 021.80美元精灵(精确=假)0.48 4.6012.60113.37266.64表2时间(以秒为单位,6个线程,除了单线程的fastcluster)聚类Fashion-MNIST数据集(https://github.com/zalandoresearch/fashion-mnist; R 784中的70 , 000 个 点 ) ; 对 于 所 有 分 层 方 法 , 提 取 任 何 k- 分 区 都 需 要 类 似 的 时 间 ;genieclust特别适合解决极端聚类任务(大型数据集,许多聚类,参见[2])。方法k =101001000k-means(scikit-learn)通过nmslib [ 7 ]提供的近邻搜索例程来近似MST(精确=假)的选项,nmslib [ 7 ]也支持稀疏和字符串数据。对于更多细节,读者请参考位于www.example.com的以用户为中心的项目网站https://genieclust.gagolewski。com/.它包含了大量的教程、用例、重要的示例、软件包API的详细文档3. 附加特征如果预期底层集群结构是不平衡的(例如,具有许多小集群和 很 少 的 大 集 群) 。 论 文 [1] 建 议 将 阈 值 设 为0.3 , 这 是genieclust的默认值,但0.1和0.5也经常值得检查。该包还允许关于相互的3Ward可达距离,dM,从HDBSCAN* 算法已知-2. Genieclust套餐[ 1 ]中介绍的算法的参考(基本)实现以仅R包精灵的形式提供。它的替代者genieclust包(目前版本为1.0.0)已经从头开始重写。它带来了许多新功能,并针对速度进行了优化。可以通过pip安装的genieclust的Python 3.7版本1具有直观的scikit-learn-compatible [3]界面:进口genieclustX=...#输入(例如,数字矩阵)g= genieclust.Genie(n_clusters=2)#在此提供方法参数labels_pred =g.fit_predict(X)#生成标签向量R变体2可以通过调用install.packages(“genieclust”)获得。使用内置hashout()函数的用户会发现下面的内容非常熟悉:library(“genieclust”)X<...#一些数据h-gmap(X)#不需要使用dist(X)cutree(h,k=2)预先计算距离矩阵#提取分区;或者:调用genie(X,k=2)plot(h)#绘制聚类树状图核心算法是以一个只有头的C库的形式编写的,并依赖于可移植的输入和输出格式(准C和Fortran连续数组)。因此,将来可以容易地添加新的绑定,例如,朱莉娅或马特拉b. Genie的新实现现在在摊销O(n n)时间内运行,并且需要O(n)内存,前提是它被馈送了表示n个输入点的图的生成森林。默认情况下,genieclust软件包基于Prim算法的并行版本(参见[ 4 ])计算欧几里得最小生成树,或者如果mlpack [ 5 ]可用,则基于一个双树BornovkaRithm [16].平滑因子M控制了点往往被分类为噪声。然而,与Python [17]的hdbscan包中的HDBSCAN* 的优秀实现相反,它也依赖于关于dM的最小生成树,我们仍然在这里有健壮的分层Genie算法这意味着我们总是可以准确地获取所需数量的集群,并且更细粒度的分区正确地嵌套在更粗的分区中;通过探索确定的层次结构,我们可以快速轻松地洞察每个数据集的底层结构。尽管如此,HDBScan可能比genieclust是一个更自动化的分区发现,需要基数genieclust包还包括许多分区相似性分数的实现,其可以用作外部聚类有效性度量,例如,调整的Rand指数,混淆矩阵的转换版本(这使得它们可以很好地解释),参见[19]。4. 结论genieclust是一个开源项目,欢迎每个人为之做出贡献。它是在自由的、copyleft的GNU AGPL v3许可证的条款下发布的 。 它 的 https://github.com/gagolews/genieclust 开 发 页 面www.example.com包括一个用git管理的代码库,一个bug和功能请求跟踪器,以及其他用户参与项目的许多选项(例如,有些任务被标记为“良好的第一个问题”)。持续集成(CI)相关的钩子已经建立,以确保高质量的源代码(自动化单元测试,代码覆盖率估计,linting等)。和广泛的可移植性(构建可在各种Windows,Linux和macOS上运行该软件包即将推出的版本将支持更多的距离指标和输入数据类型、连接矩阵,维度空间该包的Python版本还提供了3形式上,对于M>1,相互可达距离由dM(i, j)=1 Python版本的genieclust是用Cython构建的,依赖于numpy、scipy、scikit-learn、matplotlib和nmslib。Linux、Windows和macOS的平台无关源代码和二进制轮子可从PyPI下载,请参阅https://pypi.org/project/genieclust/。2 genieclust的R版本绑定到我们的仅头部的C图书馆RCPP的方法。可从CRAN下载Windows和macOS的独立于平台的源代码和二进制版本,请参阅https://cran.r-project.org/web/packages/genieclust/。max(d(i,j),c M(i),c M(j)),其中d(i,j)是“ 原 始 " ( 例 如 ,欧氏距离在第i个和第j个输入之间,正如[16]中所讨论的,这使得在genieclust中,在聚类过程中,关于dM 的最小生成树的所有叶子不参加聚类过程。 它们可能在后处理过程中与最近的聚类合并,或者被标记为“噪声”观测。有关更多详细信息,请参阅文献.精灵445.81445.86446.32精灵(精确=假)38.0224.9038.03225.0438.031745.88马雷克·加戈列夫斯基软件X 15(2021)1007223====表3来自聚类算法基准套件[8]的73个数据集的调整后Rand分数的分布,该套件聚合了来自各种来源的数据,包括[9我们应用了一些经典的凝聚分层方法(在fastcluster包中实现;[13]),k均值,高斯混合的期望最大化(EM),Birch,Spectral(在scikit-learn中实现; [ 14 ]),ITM(itm包; [ 15 ])和Genie,它超越了所有以前的方法。有关实验设置、详细结果和讨论的更多信息,请参见https://genieclust.gagolewski.com/Genie(gini_threshold0. 第五章)0.68 0.27 0 0.53 0.69 0.99 1高斯混合(n_init100)0.65 0.37 0 0.40 0.82 0.98 1光谱(亲和力RBF)0.63 0.37 0 0.33 0.73 0.99 1Birch(阈值0. 01)0.54 0.35 0 0.19 0.54 0.90 1k-平均值0.54 0.35 0 0.20 0.51 0.89 1沃德平均联系0.50 0.38 0 0.11 0.50 0.92 1完全连接单连杆0.44 0.45 0 0 0.32 1新的算法,以robustify生成的聚类,甚至进一步。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作确认作者要感谢Anna Cena和Maciej Bar- toszuk的评论、讨论和评论 。 这 项 研 究 得 到 了 澳 大 利 亚 研 究 委 员 会 发 现 项 目 ARC DP210100227的部分支持。引用[1] 杨伟华,王伟华,王伟华. Genie:一种新的、快速的、抗离群的层次聚类算法.Inform Sci 2016;363:8-23. 网址://dx.doi.org/10.1016/j.ins.2016.05.003网站。[2] Kobren A,Monath N,Krishnamurthy A,McCallum A.极端聚类的层次算法.In:Proc.23rdACMSIGKDD'17.2017,p.255-64.http://dx.doi.org/10.1145/3097983.3098079网站。[3] Buitinck L等人,机器学习软件的API设计:scikit-learn项目的经验。在:ECML PKDD研讨会:数据挖掘和机器学习语言。2013年,第108比22[4] 奥尔森足球俱乐部层次聚类的并行算法。并行计算1995;21:1313-25. http://dx.doi.org/10.1016/0167-8191(95)00017-I.[5] 李文辉,李文辉. Mlpack 3:快速、灵活的机器学习库。J Open Source Softw2018;3(26):726. http://dx.doi.org/10.21105/joss.00726网站。[6] March WB,Ram P,Gray AG.快速欧几里德最小生成树:算法,分析和应用 。 In : Proc.16thACMSIGKDD'10.2010 年 , 第 603-12 页 。http://dx.doi.org/10.1145/1835804.1835882网站。[7][10]杨晓,杨晓,杨晓,杨晓.非公制空间库(NM- SLIB)手册,版本2.0。2019年,URLhttps://github.com/nmslib/nmslib/blob/master/manual/latex/manual.pdf。[8] GagolewskiM , etal. 集 群 算 法 的 基 准 测 试 套 件 2020 ,http://dx.doi.org/10.5281/zenodo.3815066,URLhttps://github.com/gagolews/clustering_benchmarks_v1。[9]Dua D , Graff C. UCI 机 器 学 习 库 。 2019 , URL http : //archive.ics.uci.edu/ml网站。[10] Fränti P,Sieranoja S.六个聚类基准数据集上的K均值属性。Appl Intell2018;48(12):4743-59. http://dx.doi.org/10.1007/s10489-018-1238-7.[11]乌尔奇河使用SOM聚类:U*c。在:自组织地图研讨会。2005年,p. 75比82[12] 作者:Graves D,Pedrycz W.基于核的模糊聚类和模糊聚类:一个比较实验研究。模糊集与系统2010;161:522-43。http://dx.doi.org/10.1016/j.fss.2009.10.021网站。[13] 米 尔纳 湾Fastcluster: 用于 R和 Python的 快速 层次 化、 聚 合聚 类 J StatSoftw 2013;53(9):1-18. http://dx.doi.org/10.18637/jss.v053.i09.[14]Pedregosa F,et al. Scikit-learn:Machine learning in Python. J Mach LearnRes 2011;12(85):2825 http://jmlr.org/papers/v12/pedregosa11a. HTML.[15] Müller AC,Nowozin S,Lampert CH,使用最小生成树的信息理论聚类。在:Proc.德国模式识别会议。2012年,URLhttps://github.com/amueller/information-theoretic-mst.[16]Campello RJGB,Moulavi D,Zimek A,Sander J. Hierarchical density esti-mates for data clustering,visualization,and outlier detection. ACM跨知识发现数据2015;10(1):5:1-51。http://dx.doi.org/10.1145/2733381网站。[17]McInnes L,Healy J,Astels S. HDBScan:基于层次密度的聚类。J OpenSource Softw 2017;2 ( 11 ) : 205. http://dx.doi.org/10.21105/joss 的 网 站 。00205。[18]Vinh NX,Epps J,Bailey J.用于聚类比较的信息理论措施:变体,属性,归一 化 和 机 会 校 正 。J MachLearnRes 2010;11 ( 95 ) :2837http://jmlr.org/papers/v11/[19]Rezaei M,Fränti P.设置外部集群有效性的匹配措施。IEEE Trans KnowlDataEng2016;28(8):2173-86.http://dx.doi.org/10.1109/TKDE.2016.2551240.方法AR=是说st.dev.Min百分之二十五百分之五十百分之七十五Maxgini_threshold= 0。第三章0.770.760.280.31000.590.560.920.881111
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功