[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-scikit-learn-contrib--hdbscan":3,"tool-scikit-learn-contrib--hdbscan":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150037,2,"2026-04-10T23:33:47",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":72,"owner_avatar_url":73,"owner_bio":74,"owner_company":75,"owner_location":75,"owner_email":75,"owner_twitter":75,"owner_website":76,"owner_url":77,"languages":78,"stars":98,"forks":99,"last_commit_at":100,"license":101,"difficulty_score":102,"env_os":103,"env_gpu":104,"env_ram":104,"env_deps":105,"category_tags":113,"github_topics":115,"view_count":32,"oss_zip_url":75,"oss_zip_packed_at":75,"status":17,"created_at":122,"updated_at":123,"faqs":124,"releases":153},6537,"scikit-learn-contrib\u002Fhdbscan","hdbscan","A high performance implementation of HDBSCAN clustering.","HDBSCAN 是一款高性能的开源聚类算法库，全称为“基于层次密度的带噪声应用空间聚类”。它旨在解决传统聚类方法（如 DBSCAN）难以处理密度不均数据群以及对参数选择过于敏感的痛点。通过在不同密度阈值下自动探索并整合结果，HDBSCAN 能够精准识别出密度差异巨大的簇，同时有效区分噪声点，无需用户进行繁琐的参数调优即可得到稳定的聚类结果。\n\n该工具特别适合数据科学家、机器学习研究人员以及需要进行探索性数据分析的开发者使用。其独特的技术亮点在于将层次聚类与密度概念相结合，不仅继承了 scikit-learn 的简洁接口风格，支持数组、DataFrame 及稀疏矩阵等多种输入格式，还具备出色的计算效率。对于希望快速从复杂数据中发现有意义结构、且不愿陷入参数调整困境的用户而言，HDBSCAN 是一个既稳健又易用的理想选择。",".. image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fhdbscan.svg\n    :target: https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fhdbscan\u002F\n    :alt: PyPI Version\n.. image:: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\u002Fbadges\u002Fversion.svg\n    :target: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\n    :alt: Conda-forge Version\n.. image:: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\u002Fbadges\u002Fdownloads.svg\n    :target: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\n    :alt: Conda-forge downloads\n.. image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fhdbscan.svg\n    :target: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002FLICENSE\n    :alt: License\n.. image:: https:\u002F\u002Ftravis-ci.org\u002Fscikit-learn-contrib\u002Fhdbscan.svg\n    :target: https:\u002F\u002Ftravis-ci.org\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: Travis Build Status\n.. image:: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg\n  :target: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: Test Coverage\n.. image:: https:\u002F\u002Freadthedocs.org\u002Fprojects\u002Fhdbscan\u002Fbadge\u002F?version=latest\n    :target: https:\u002F\u002Fhdbscan.readthedocs.org\n    :alt: Docs\n.. image:: http:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205\u002Fstatus.svg\n    :target: http:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205\n    :alt: JOSS article\n.. image:: https:\u002F\u002Fmybinder.org\u002Fbadge.svg \n    :target: https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: Launch example notebooks in Binder\n\n\n=======\nHDBSCAN\n=======\n\nHDBSCAN - Hierarchical Density-Based Spatial Clustering of Applications\nwith Noise. Performs DBSCAN over varying epsilon values and integrates \nthe result to find a clustering that gives the best stability over epsilon.\nThis allows HDBSCAN to find clusters of varying densities (unlike DBSCAN),\nand be more robust to parameter selection.\n\nIn practice this means that HDBSCAN returns a good clustering straight\naway with little or no parameter tuning -- and the primary parameter,\nminimum cluster size, is intuitive and easy to select.\n\nHDBSCAN is ideal for exploratory data analysis; it's a fast and robust\nalgorithm that you can trust to return meaningful clusters (if there\nare any).\n\nBased on the papers:\n\n    McInnes L, Healy J. *Accelerated Hierarchical Density Based Clustering* \n    In: 2017 IEEE International Conference on Data Mining Workshops (ICDMW), IEEE, pp 33-42.\n    2017 `[pdf] \u003Chttp:\u002F\u002Fieeexplore.ieee.org\u002Fstamp\u002Fstamp.jsp?tp=&arnumber=8215642>`_\n\n    R. Campello, D. Moulavi, and J. Sander, *Density-Based Clustering Based on\n    Hierarchical Density Estimates*\n    In: Advances in Knowledge Discovery and Data Mining, Springer, pp 160-172.\n    2013\n    \nDocumentation, including tutorials, are available on ReadTheDocs at http:\u002F\u002Fhdbscan.readthedocs.io\u002Fen\u002Flatest\u002F .  \n    \nNotebooks `comparing HDBSCAN to other clustering algorithms \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FComparing%20Clustering%20Algorithms.ipynb>`_, explaining `how HDBSCAN works \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20HDBSCAN%20Works.ipynb>`_ and `comparing performance with other python clustering implementations \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations-v0.7.ipynb>`_ are available.\n\n------------------\nHow to use HDBSCAN\n------------------\n\nThe hdbscan package inherits from sklearn classes, and thus drops in neatly\nnext to other sklearn clusterers with an identical calling API. Similarly it\nsupports input in a variety of formats: an array (or pandas dataframe, or\nsparse matrix) of shape ``(num_samples x num_features)``; an array (or sparse matrix)\ngiving a distance matrix between samples.\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n    \n    data, _ = make_blobs(1000)\n    \n    clusterer = hdbscan.HDBSCAN(min_cluster_size=10)\n    cluster_labels = clusterer.fit_predict(data)\n\n-----------\nPerformance\n-----------\n\nSignificant effort has been put into making the hdbscan implementation as fast as \npossible. It is `orders of magnitude faster than the reference implementation \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FPython%20vs%20Java.ipynb>`_ in Java,\nand is currently faster than highly optimized single linkage implementations in C and C++.\n`version 0.7 performance can be seen in this notebook \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations-v0.7.ipynb>`_ .\nIn particular `performance on low dimensional data is better than sklearn's DBSCAN \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations%202D%20v0.7.ipynb>`_ ,\nand via support for caching with joblib, re-clustering with different parameters\ncan be almost free.\n\n------------------------\nAdditional functionality\n------------------------\n\nThe hdbscan package comes equipped with visualization tools to help you\nunderstand your clustering results. After fitting data the clusterer\nobject has attributes for:\n\n* The condensed cluster hierarchy\n* The robust single linkage cluster hierarchy\n* The reachability distance minimal spanning tree\n\nAll of which come equipped with methods for plotting and converting\nto Pandas or NetworkX for further analysis. See the notebook on\n`how HDBSCAN works \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20HDBSCAN%20Works.ipynb>`_ for examples and further details.\n\nThe clusterer objects also have an attribute providing cluster membership\nstrengths, resulting in optional soft clustering (and no further compute \nexpense). Finally each cluster also receives a persistence score giving\nthe stability of the cluster over the range of distance scales present\nin the data. This provides a measure of the relative strength of clusters.\n\n-----------------\nOutlier Detection\n-----------------\n\nThe HDBSCAN clusterer objects also support the GLOSH outlier detection algorithm. \nAfter fitting the clusterer to data the outlier scores can be accessed via the\n``outlier_scores_`` attribute. The result is a vector of score values, one for\neach data point that was fit. Higher scores represent more outlier like objects.\nSelecting outliers via upper quantiles is often a good approach.\n\nBased on the paper:\n    R.J.G.B. Campello, D. Moulavi, A. Zimek and J. Sander \n    *Hierarchical Density Estimates for Data Clustering, Visualization, and Outlier Detection*, \n    ACM Trans. on Knowledge Discovery from Data, Vol 10, 1 (July 2015), 1-51.\n\n---------------------\nRobust single linkage\n---------------------\n\nThe hdbscan package also provides support for the *robust single linkage*\nclustering algorithm of Chaudhuri and Dasgupta. As with the HDBSCAN \nimplementation this is a high performance version of the algorithm \noutperforming scipy's standard single linkage implementation. The\nrobust single linkage hierarchy is available as an attribute of\nthe robust single linkage clusterer, again with the ability to plot\nor export the hierarchy, and to extract flat clusterings at a given\ncut level and gamma value.\n\nExample usage:\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n    \n    data, _ = make_blobs(1000)\n    \n    clusterer = hdbscan.RobustSingleLinkage(cut=0.125, k=7)\n    cluster_labels = clusterer.fit_predict(data)\n    hierarchy = clusterer.cluster_hierarchy_\n    alt_labels = hierarchy.get_clusters(0.100, 5)\n    hierarchy.plot()\n\n\nBased on the paper:\n    K. Chaudhuri and S. Dasgupta.\n    *\"Rates of convergence for the cluster tree.\"*\n    In Advances in Neural Information Processing Systems, 2010.\n\n----------------\nBranch detection\n----------------\n\nThe hdbscan package supports a branch-detection post-processing step \nby `Bot et al. \u003Chttps:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792\u002F>`_. Cluster shapes,\nsuch as branching structures, can reveal interesting patterns \nthat are not expressed in density-based cluster hierarchies. The \nBranchDetector class mimics the HDBSCAN API and can be used to\ndetect branching hierarchies in clusters. It provides condensed \nbranch hierarchies, branch persistences, and branch memberships and \nsupports joblib's caching functionality. A notebook \n`demonstrating the BranchDetector is available \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20to%20detect%20branches.ipynb>`_.\n\nExample usage:\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n\n    data, _ = make_blobs(1000)\n\n    clusterer = hdbscan.HDBSCAN(branch_detection_data=True).fit(data)\n    branch_detector = hdbscan.BranchDetector().fit(clusterer)\n    branch_detector.cluster_approximation_graph_.plot(edge_width=0.1)\n\n\nBased on the paper:\n    D.M. Bot, J. Peeters, J. Liesenborgs and J. Aerts\n    *FLASC: a flare-sensitive clustering algorithm.*\n    PeerJ Computer Science, Vol 11, April 2025, e2792.\n    https:\u002F\u002Fdoi.org\u002F10.7717\u002Fpeerj-cs.2792.\n\n----------\nInstalling\n----------\n\nEasiest install, if you have Anaconda (thanks to conda-forge which is awesome!):\n\n.. code:: bash\n\n    conda install -c conda-forge hdbscan\n\nPyPI install, presuming you have an up to date pip:\n\n.. code:: bash\n\n    pip install hdbscan\n\nBinary wheels for a number of platforms are available thanks to the work of\nRyan Helinski \u003Crlhelinski@gmail.com>.\n\nIf pip is having difficulties pulling the dependencies then we'd suggest to first upgrade\npip to at least version 10 and try again:\n\n.. code:: bash\n\n    pip install --upgrade pip\n    pip install hdbscan\n\nOtherwise install the dependencies manually using anaconda followed by pulling hdbscan from pip:\n\n.. code:: bash\n\n    conda install cython\n    conda install numpy scipy\n    conda install scikit-learn\n    pip install hdbscan\n\n\nFor a manual install of the latest code directly from GitHub:\n\n.. code:: bash\n\n    pip install --upgrade git+https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan.git#egg=hdbscan\n\n\nAlternatively download the package, install requirements, and manually run the installer:\n\n\n.. code:: bash\n\n    wget https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Farchive\u002Fmaster.zip\n    unzip master.zip\n    rm master.zip\n    cd hdbscan-master\n    \n    pip install -r requirements.txt\n    \n    python setup.py install\n\n-----------------\nRunning the Tests\n-----------------\n\nThe package tests can be run after installation using the command:\n\n.. code:: bash\n\n    nosetests -s hdbscan\n\nor, if ``nose`` is installed but ``nosetests`` is not in your ``PATH`` variable:\n\n.. code:: bash\n\n    python -m nose -s hdbscan\n\nIf one or more of the tests fail, please report a bug at https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002Fnew\n\n--------------\nPython Version\n--------------\n\nThe hdbscan library supports both Python 2 and Python 3. However we recommend Python 3 as the better option if it is available to you.\n    \n----------------\nHelp and Support\n----------------\n\nFor simple issues you can consult the `FAQ \u003Chttps:\u002F\u002Fhdbscan.readthedocs.io\u002Fen\u002Flatest\u002Ffaq.html>`_ in the documentation.\nIf your issue is not suitably resolved there, please check the `issues \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues>`_ on github. Finally, if no solution is available there feel free to `open an issue \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002Fnew>`_ ; the authors will attempt to respond in a reasonably timely fashion.\n\n------------\nContributing\n------------\n\nWe welcome contributions in any form! Assistance with documentation, particularly expanding tutorials,\nis always welcome. To contribute please `fork the project \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues#fork-destination-box>`_ make your changes and submit a pull request. We will do our best to work through any issues with\nyou and get your code merged into the main branch.\n\n------\nCiting\n------\n\nIf you have used this codebase in a scientific publication and wish to cite it, please use the `Journal of Open Source Software article \u003Chttp:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205>`_.\n\n    L. McInnes, J. Healy, S. Astels, *hdbscan: Hierarchical density based clustering*\n    In: Journal of Open Source Software, The Open Journal, volume 2, number 11.\n    2017\n    \n.. code:: bibtex\n\n    @article{mcinnes2017hdbscan,\n      title={hdbscan: Hierarchical density based clustering},\n      author={McInnes, Leland and Healy, John and Astels, Steve},\n      journal={The Journal of Open Source Software},\n      volume={2},\n      number={11},\n      pages={205},\n      year={2017}\n    }\n    \nTo reference the high performance algorithm developed in this library please cite our paper in ICDMW 2017 proceedings.\n\n    McInnes L, Healy J. *Accelerated Hierarchical Density Based Clustering* \n    In: 2017 IEEE International Conference on Data Mining Workshops (ICDMW), IEEE, pp 33-42.\n    2017\n\n\n.. code:: bibtex\n\n    @inproceedings{mcinnes2017accelerated,\n      title={Accelerated Hierarchical Density Based Clustering},\n      author={McInnes, Leland and Healy, John},\n      booktitle={Data Mining Workshops (ICDMW), 2017 IEEE International Conference on},\n      pages={33--42},\n      year={2017},\n      organization={IEEE}\n    }\n\nIf you used the branch-detection functionality in this library please cite our `PeerJ paper \u003Chttps:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792\u002F>`_: \n\n    Bot DM, Peeters J, Liesenborgs J, Aerts J. \n    *FLASC: a flare-sensitive clustering algorithm.*\n    In: PeerJ Computer Science, Volume 11, e2792, 2025.\n    https:\u002F\u002Fdoi.org\u002F10.7717\u002Fpeerj-cs.2792 \n\n.. code:: bibtex\n\n    @article{bot2025flasc,\n        title   = {{FLASC: a flare-sensitive clustering algorithm}},\n        author  = {Bot, Dani{\\\"{e}}l M. and Peeters, Jannes and Liesenborgs, Jori and Aerts, Jan},\n        year    = {2025},\n        month   = {apr},\n        journal = {PeerJ Comput. Sci.},\n        volume  = {11},\n        pages   = {e2792},\n        issn    = {2376-5992},\n        doi     = {10.7717\u002Fpeerj-cs.2792},\n        url     = {https:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792},\n    }\n\n---------\nLicensing\n---------\n\nThe hdbscan package is 3-clause BSD licensed. Enjoy.\n",".. image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fv\u002Fhdbscan.svg\n    :target: https:\u002F\u002Fpypi.python.org\u002Fpypi\u002Fhdbscan\u002F\n    :alt: PyPI 版本\n.. image:: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\u002Fbadges\u002Fversion.svg\n    :target: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\n    :alt: Conda-forge 版本\n.. image:: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\u002Fbadges\u002Fdownloads.svg\n    :target: https:\u002F\u002Fanaconda.org\u002Fconda-forge\u002Fhdbscan\n    :alt: Conda-forge 下载量\n.. image:: https:\u002F\u002Fimg.shields.io\u002Fpypi\u002Fl\u002Fhdbscan.svg\n    :target: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002FLICENSE\n    :alt: 许可证\n.. image:: https:\u002F\u002Ftravis-ci.org\u002Fscikit-learn-contrib\u002Fhdbscan.svg\n    :target: https:\u002F\u002Ftravis-ci.org\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: Travis 构建状态\n.. image:: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fbranch\u002Fmaster\u002Fgraph\u002Fbadge.svg\n  :target: https:\u002F\u002Fcodecov.io\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: 测试覆盖率\n.. image:: https:\u002F\u002Freadthedocs.org\u002Fprojects\u002Fhdbscan\u002Fbadge\u002F?version=latest\n    :target: https:\u002F\u002Fhdbscan.readthedocs.org\n    :alt: 文档\n.. image:: http:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205\u002Fstatus.svg\n    :target: http:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205\n    :alt: JOSS 文章\n.. image:: https:\u002F\u002Fmybinder.org\u002Fbadge.svg \n    :target: https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fscikit-learn-contrib\u002Fhdbscan\n    :alt: 在 Binder 中启动示例笔记本\n\n\n=======\nHDBSCAN\n=======\n\nHDBSCAN - 噪声鲁棒的层次化密度聚类算法。该算法在不同的 ε 值上执行 DBSCAN，并整合结果以找到在不同 ε 值下具有最佳稳定性的聚类。这使得 HDBSCAN 能够发现不同密度的簇（与 DBSCAN 不同），并且对参数选择更加鲁棒。\n\n在实践中，这意味着 HDBSCAN 可以在几乎无需调整参数的情况下直接给出良好的聚类结果——而其主要参数“最小簇大小”直观易懂，易于选择。\n\nHDBSCAN 非常适合探索性数据分析；它是一种快速且鲁棒的算法，能够可靠地返回有意义的聚类（如果数据中确实存在聚类的话）。\n\n基于以下论文：\n\n    McInnes L, Healy J. *加速的层次化密度聚类* \n    在：2017 IEEE 国际数据挖掘研讨会 (ICDMW), IEEE, pp 33-42.\n    2017 `[pdf] \u003Chttp:\u002F\u002Fieeexplore.ieee.org\u002Fstamp\u002Fstamp.jsp?tp=&arnumber=8215642>`_\n\n    R. Campello, D. Moulavi, 和 J. Sander, *基于层次化密度估计的密度聚类*\n    在：知识发现与数据挖掘进展, Springer, pp 160-172.\n    2013\n    \n文档，包括教程，可在 ReadTheDocs 上找到：http:\u002F\u002Fhdbscan.readthedocs.io\u002Fen\u002Flatest\u002F 。  \n    \n`比较 HDBSCAN 与其他聚类算法的笔记本 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FComparing%20Clustering%20Algorithms.ipynb>`_、解释 `HDBSCAN 工作原理的笔记本 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20HDBSCAN%20Works.ipynb>`_ 以及 `比较与其他 Python 聚类实现性能的笔记本 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations-v0.7.ipynb>`_ 均可获取。\n\n------------------\n如何使用 HDBSCAN\n------------------\n\nhdbscan 包继承自 sklearn 的类，因此可以无缝地与其他 sklearn 聚类器一起使用，调用接口完全一致。同样，它支持多种输入格式：形状为 ``(num_samples x num_features)`` 的数组（或 pandas 数据框、稀疏矩阵）；或者提供样本间距离矩阵的数组（或稀疏矩阵）。\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n    \n    data, _ = make_blobs(1000)\n    \n    clusterer = hdbscan.HDBSCAN(min_cluster_size=10)\n    cluster_labels = clusterer.fit_predict(data)\n\n-----------\n性能\n-----------\n\n为了使 hdbscan 实现尽可能高效，开发团队付出了巨大努力。与 Java 中的参考实现相比，它的速度要快 `几个数量级 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FPython%20vs%20Java.ipynb>`_ ，并且目前比 C 和 C++ 中高度优化的单链接实现还要快。`版本 0.7 的性能可以在这个笔记本中查看 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations-v0.7.ipynb>`_ 。\n特别是，在低维数据上的性能优于 sklearn 的 DBSCAN \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FBenchmarking%20scalability%20of%20clustering%20implementations%202D%20v0.7.ipynb>`_ ，并且通过 joblib 的缓存支持，使用不同参数重新聚类几乎是免费的。\n\n------------------------\n附加功能\n------------------------\n\nhdbscan 包附带了可视化工具，可以帮助您理解聚类结果。拟合数据后，聚类器对象具有以下属性：\n\n* 紧凑的聚类层次结构\n* 鲁棒的单链接聚类层次结构\n* 可达性距离最小生成树\n\n所有这些都配备了绘图方法，并且可以转换为 Pandas 或 NetworkX 格式以便进一步分析。有关示例和详细信息，请参阅关于 `HDBSCAN 工作原理的笔记本 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20HDBSCAN%20Works.ipynb>`_ 。\n\n聚类器对象还包含一个提供簇成员隶属度的属性，从而实现可选的软聚类（且无需额外计算成本）。最后，每个簇还会获得一个持久性分数，用于衡量该簇在数据中存在的不同距离尺度范围内的稳定性。这为簇的相对强度提供了一个度量标准。\n\n-----------------\n异常值检测\n-----------------\n\nHDBSCAN 聚类器对象还支持 GLOSH 异常值检测算法。在将聚类器拟合到数据后，可以通过 ``outlier_scores_`` 属性访问异常值得分。结果是一个得分向量，其中每个数据点对应一个得分值。得分越高，表示该点越可能是异常值。通常，通过选取高分位数来筛选异常值是一个不错的方法。\n\n基于以下论文：\n    R.J.G.B. Campello, D. Moulavi, A. Zimek 和 J. Sander \n    *用于数据聚类、可视化和异常值检测的层次化密度估计*, \n    ACM 数据知识发现汇刊, 第 10 卷, 第 1 期 (2015 年 7 月), 1-51.\n\n---------------------\n鲁棒单链接\n---------------------\n\nhdbscan 包还支持 Chaudhuri 和 Dasgupta 提出的 *鲁棒单链接* 聚类算法。与 HDBSCAN 的实现类似，这也是该算法的一个高性能版本，性能优于 scipy 标准的单链接实现。鲁棒单链接层次结构作为鲁棒单链接聚类器的一个属性提供，同样具备绘制或导出层次结构、以及在给定切割水平和 gamma 值下提取扁平聚类的功能。\n\n示例用法：\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n    \n    data, _ = make_blobs(1000)\n    \n    clusterer = hdbscan.RobustSingleLinkage(cut=0.125, k=7)\n    cluster_labels = clusterer.fit_predict(data)\n    hierarchy = clusterer.cluster_hierarchy_\n    alt_labels = hierarchy.get_clusters(0.100, 5)\n    hierarchy.plot()\n\n\n基于论文：\n    K. Chaudhuri 和 S. Dasgupta.\n    *\"聚类树的收敛速度。\"*\n    神经信息处理系统进展, 2010年.\n\n----------------\n分支检测\n----------------\n\nhdbscan 包支持由 Bot 等人提出的分支检测后处理步骤 \u003Chttps:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792\u002F>`_。聚类形状，例如分支结构，可以揭示密度基聚类层次结构中无法表达的有趣模式。BranchDetector 类模仿了 HDBSCAN 的 API，可用于检测聚类中的分支层次结构。它提供压缩后的分支层次结构、分支持久性以及分支成员关系，并支持 joblib 的缓存功能。一个演示 BranchDetector 的笔记本 `可在此处找到 \u003Chttp:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fblob\u002Fmaster\u002Fnotebooks\u002FHow%20to%20detect%20branches.ipynb>`_。\n\n示例用法：\n\n.. code:: python\n\n    import hdbscan\n    from sklearn.datasets import make_blobs\n\n    data, _ = make_blobs(1000)\n\n    clusterer = hdbscan.HDBSCAN(branch_detection_data=True).fit(data)\n    branch_detector = hdbscan.BranchDetector().fit(clusterer)\n    branch_detector.cluster_approximation_graph_.plot(edge_width=0.1)\n\n\n基于论文：\n    D.M. Bot, J. Peeters, J. Liesenborgs 和 J. Aerts\n    *FLASC：一种对“flare”敏感的聚类算法。*\n    PeerJ 计算机科学，第11卷，2025年4月，e2792。\n    https:\u002F\u002Fdoi.org\u002F10.7717\u002Fpeerj-cs.2792。\n\n----------\n安装\n----------\n\n最简单的安装方式，如果你有 Anaconda（感谢 conda-forge 这个超棒的平台！）：\n\n.. code:: bash\n\n    conda install -c conda-forge hdbscan\n\n通过 PyPI 安装，假设你已经更新了 pip：\n\n.. code:: bash\n\n    pip install hdbscan\n\n得益于 Ryan Helinski \u003Crlhelinski@gmail.com> 的工作，多个平台的二进制 wheel 文件现已可用。\n\n如果 pip 在拉取依赖项时遇到困难，我们建议先将 pip 升级到至少 10 版本，然后再试一次：\n\n.. code:: bash\n\n    pip install --upgrade pip\n    pip install hdbscan\n\n否则，可以先使用 anaconda 手动安装依赖项，再从 pip 拉取 hdbscan：\n\n.. code:: bash\n\n    conda install cython\n    conda install numpy scipy\n    conda install scikit-learn\n    pip install hdbscan\n\n\n若要直接从 GitHub 手动安装最新代码：\n\n.. code:: bash\n\n    pip install --upgrade git+https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan.git#egg=hdbscan\n\n\n或者，下载包、安装所需依赖项，然后手动运行安装程序：\n\n\n.. code:: bash\n\n    wget https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Farchive\u002Fmaster.zip\n    unzip master.zip\n    rm master.zip\n    cd hdbscan-master\n    \n    pip install -r requirements.txt\n    \n    python setup.py install\n\n-----------------\n运行测试\n-----------------\n\n安装完成后，可以使用以下命令运行包的测试：\n\n.. code:: bash\n\n    nosetests -s hdbscan\n\n或者，如果已安装 ``nose`` 但 ``nosetests`` 并未添加到你的 ``PATH`` 变量中：\n\n.. code:: bash\n\n    python -m nose -s hdbscan\n\n如果有一个或多个测试失败，请在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002Fnew 上提交 bug 报告。\n\n--------------\nPython 版本\n--------------\n\nhdbscan 库同时支持 Python 2 和 Python 3。不过，如果条件允许，我们推荐使用 Python 3，因为它是一个更好的选择。\n\n----------------\n帮助与支持\n----------------\n\n对于简单问题，你可以查阅文档中的 `常见问题解答 \u003Chttps:\u002F\u002Fhdbscan.readthedocs.io\u002Fen\u002Flatest\u002Ffaq.html>`_。如果在那里未能解决问题，请查看 github 上的 `问题页面 \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues>`_。最后，如果那里也没有解决方案，欢迎 `提交一个问题 \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002Fnew>`_；作者会尽量及时回复。\n\n------------\n贡献\n------------\n\n我们欢迎任何形式的贡献！尤其欢迎协助扩展教程等文档工作。如需贡献，请 `fork 该项目 \u003Chttps:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues#fork-destination-box>`_，做出修改并提交 pull request。我们会尽力与你一起解决任何问题，并将你的代码合并到主分支。\n\n------\n引用\n------\n\n如果你在科学出版物中使用过此代码库并希望引用它，请使用 `开源软件期刊的文章 \u003Chttp:\u002F\u002Fjoss.theoj.org\u002Fpapers\u002F10.21105\u002Fjoss.00205>`_。\n\n    L. McInnes, J. Healy, S. Astels, *hdbscan：基于密度的层次聚类*\n    收录于：开源软件期刊，开放期刊，第2卷，第11期。\n    2017年\n    \n.. code:: bibtex\n\n    @article{mcinnes2017hdbscan,\n      title={hdbscan: Hierarchical density based clustering},\n      author={McInnes, Leland and Healy, John and Astels, Steve},\n      journal={The Journal of Open Source Software},\n      volume={2},\n      number={11},\n      pages={205},\n      year={2017}\n    }\n    \n若要引用本库中开发的高性能算法，请参考我们在 ICDMW 2017 会议论文集中的论文。\n\n    McInnes L, Healy J. *加速的基于密度的层次聚类* \n    收录于：2017 IEEE 国际数据挖掘研讨会 (ICDMW), IEEE, 第33–42页。\n    2017年\n\n\n.. code:: bibtex\n\n    @inproceedings{mcinnes2017accelerated,\n      title={Accelerated Hierarchical Density Based Clustering},\n      author={McInnes, Leland and Healy, John},\n      booktitle={Data Mining Workshops (ICDMW), 2017 IEEE International Conference on},\n      pages={33--42},\n      year={2017},\n      organization={IEEE}\n    }\n\n如果你使用了本库中的分支检测功能，请引用我们的 `PeerJ 论文 \u003Chttps:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792\u002F>`_：\n\n    Bot DM, Peeters J, Liesenborgs J, Aerts J. \n    *FLASC：一种对“flare”敏感的聚类算法。*\n    收录于：PeerJ 计算机科学，第11卷，e2792，2025年。\n    https:\u002F\u002Fdoi.org\u002F10.7717\u002Fpeerj-cs.2792 \n\n.. code:: bibtex\n\n@article{bot2025flasc,\n        title   = {{FLASC：一种对耀斑敏感的聚类算法}},\n        author  = {博特，丹尼尔·M. 和 彼特斯，扬内斯 和 利森博格斯，约里 和 阿尔茨，扬},\n        year    = {2025},\n        month   = {4月},\n        journal = {PeerJ 计算科学},\n        volume  = {11},\n        pages   = {e2792},\n        issn    = {2376-5992},\n        doi     = {10.7717\u002Fpeerj-cs.2792},\n        url     = {https:\u002F\u002Fpeerj.com\u002Farticles\u002Fcs-2792},\n    }\n\n---------\n许可协议\n---------\n\nhdbscan 软件包采用三条款 BSD 许可证。请尽情使用吧。","# HDBSCAN 快速上手指南\n\nHDBSCAN（Hierarchical Density-Based Spatial Clustering of Applications with Noise）是一种基于密度的层次聚类算法。相比传统的 DBSCAN，它能自动处理不同密度的簇，对参数选择更鲁棒，且无需预先指定簇的数量，非常适合探索性数据分析。\n\n## 环境准备\n\n*   **操作系统**：支持 Windows、macOS 和 Linux。\n*   **Python 版本**：支持 Python 2.7 及 Python 3.x（推荐使用 Python 3）。\n*   **核心依赖**：\n    *   `numpy`\n    *   `scipy`\n    *   `scikit-learn`\n    *   `cython` (编译时需要)\n\n> **提示**：由于该库包含 C\u002FC++ 扩展，直接通过 `pip` 安装可能需要编译环境（如 Windows 下的 Visual C++ Build Tools 或 Linux 下的 build-essential）。使用 Conda 可避免大部分编译问题。\n\n## 安装步骤\n\n### 方案一：使用 Conda 安装（推荐）\n如果你已安装 Anaconda 或 Miniconda，这是最稳定且无需编译的安装方式。国内用户可使用清华或中科大镜像加速。\n\n```bash\n# 配置清华镜像源（可选，提升下载速度）\nconda config --add channels https:\u002F\u002Fmirrors.tuna.tsinghua.edu.cn\u002Fanaconda\u002Fcloud\u002Fconda-forge\u002F\nconda config --set show_channel_urls yes\n\n# 安装 hdbscan\nconda install -c conda-forge hdbscan\n```\n\n### 方案二：使用 Pip 安装\n确保你的 `pip` 版本较新（建议 >= 10），以便自动获取预编译的二进制轮子（wheels），避免本地编译失败。\n\n```bash\n# 升级 pip\npip install --upgrade pip\n\n# 安装 hdbscan\npip install hdbscan\n```\n\n*如果 pip 安装因缺少依赖报错，请先手动安装依赖：*\n```bash\npip install cython numpy scipy scikit-learn\npip install hdbscan\n```\n\n### 方案三：从 GitHub 源码安装（最新开发版）\n```bash\npip install --upgrade git+https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan.git#egg=hdbscan\n```\n\n## 基本使用\n\nHDBSCAN 的 API 设计与 `scikit-learn` 完全兼容，可以无缝替换其他聚类器。\n\n### 最简单的使用示例\n\n以下示例演示如何生成模拟数据并进行聚类：\n\n```python\nimport hdbscan\nfrom sklearn.datasets import make_blobs\n\n# 1. 准备数据 (生成 1000 个样本的模拟数据)\ndata, _ = make_blobs(1000)\n\n# 2. 初始化模型\n# min_cluster_size: 最小簇大小，是主要调节参数，默认为 5\nclusterer = hdbscan.HDBSCAN(min_cluster_size=10)\n\n# 3. 拟合并预测\n# cluster_labels: 聚类结果标签，噪声点标记为 -1\ncluster_labels = clusterer.fit_predict(data)\n\n# 4. 查看结果概览\nprint(f\"找到的簇数量: {len(set(cluster_labels)) - (1 if -1 in cluster_labels else 0)}\")\nprint(f\"噪声点数量: {list(cluster_labels).count(-1)}\")\n```\n\n### 进阶功能简述\n*   **软聚类（成员概率）**：通过 `clusterer.probabilities_` 获取每个样本属于其簇的概率。\n*   **异常值检测**：拟合后通过 `clusterer.outlier_scores_` 获取每个点的异常得分，分数越高越可能是异常值。\n*   **可视化支持**：内置方法可将聚类层级树转换为 Pandas DataFrame 或 NetworkX 图对象进行进一步分析。","某电商数据团队正在对百万级用户的行为日志进行细分，旨在识别具有独特消费模式的潜在高价值群体，以制定精准的营销策略。\n\n### 没有 hdbscan 时\n- **难以适应密度差异**：传统算法（如 K-Means 或 DBSCAN）假设簇密度均匀，导致稀疏的“高端小众群体”被错误合并到密集的大众群体中，或被视为噪声丢弃。\n- **参数调优成本高昂**：DBSCAN 对距离阈值（epsilon）极度敏感，面对海量未知分布的数据，工程师需反复试错才能找到勉强可用的参数，耗时费力。\n- **噪声处理粗糙**：算法往往强制将所有点归入某个簇，无法有效区分真正的异常值（如刷单黑产）和边缘用户，污染了分析结果。\n- **缺乏聚类稳定性**：微小的数据波动或参数调整会导致聚类结果剧烈变化，业务方难以信任分析结论的可靠性。\n\n### 使用 hdbscan 后\n- **自动识别变密度簇**：hdbscan 基于层次密度估算，能同时精准捕捉高密度大众群体和低密度的长尾特色群体，无需预设簇数量。\n- **极简参数配置**：仅需设定直观的“最小簇大小”，hdbscan 即可自动在不同密度尺度下搜索最优解，大幅降低调参门槛，实现开箱即用。\n- **智能噪声过滤**：算法天然支持将不符合任何密度特征的点标记为噪声（标签 -1），帮助团队快速剔除异常数据，聚焦真实用户画像。\n- **结果稳健可信**：通过整合不同密度下的聚类稳定性，hdbscan 输出的分组结构更加鲁棒，即使数据略有波动，核心群体划分依然保持一致。\n\nhdbscan 通过自适应密度聚类和强大的抗噪能力，让数据团队在零先验知识下也能从复杂噪声中快速挖掘出具有商业价值的真实用户群。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fscikit-learn-contrib_hdbscan_404c397b.png","scikit-learn-contrib","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fscikit-learn-contrib_518cb1b9.png","scikit-learn compatible projects",null,"https:\u002F\u002Fcontrib.scikit-learn.org","https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib",[79,83,87,91,95],{"name":80,"color":81,"percentage":82},"Jupyter Notebook","#DA5B0B",93.9,{"name":84,"color":85,"percentage":86},"Python","#3572A5",4.1,{"name":88,"color":89,"percentage":90},"Cython","#fedf5b",1.9,{"name":92,"color":93,"percentage":94},"TeX","#3D6117",0,{"name":96,"color":97,"percentage":94},"Shell","#89e051",3096,531,"2026-04-10T16:10:35","BSD-3-Clause",1,"Linux, macOS, Windows","未说明",{"notes":106,"python":107,"dependencies":108},"该工具支持通过 conda-forge 或 pip 安装。官方提供了多个平台的二进制 wheel 包。若 pip 安装依赖失败，建议先将 pip 升级至 10 以上版本，或先使用 conda 手动安装 numpy、scipy、scikit-learn 和 cython 后再通过 pip 安装 hdbscan。该算法针对低维数据进行了优化，速度优于 sklearn 的 DBSCAN，并支持 joblib 缓存以加速不同参数的重复聚类。","2.x, 3.x (推荐 Python 3)",[109,110,111,112],"numpy","scipy","scikit-learn","cython",[14,114],"其他",[116,117,118,119,120,121],"machine-learning","machine-learning-algorithms","clustering","clustering-algorithm","cluster-analysis","clustering-evaluation","2026-03-27T02:49:30.150509","2026-04-11T15:13:27.241918",[125,130,135,140,145,149],{"id":126,"question_zh":127,"answer_zh":128,"source_url":129},29560,"安装 hdbscan 时遇到 'AttributeError: type object ... has no attribute __reduce_cython__' 错误怎么办？","该错误通常是因为源码中只提供了 .pyx 文件而未编译成二进制文件。解决方法是进入 hdbscan 文件夹，运行命令 `easycython *.pyx` 生成对应的 .pyd 文件，然后即可正常运行示例代码。","https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002F258",{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},29561,"使用 pip 安装 hdbscan 时出现 'ERROR: Could not build wheels ... which use PEP 517' 错误如何解决？","有多种解决方案：\n1. Linux 用户尝试安装开发包：`sudo apt-get install python3.x-dev`（将 x 替换为你的 Python 版本）。\n2. 如果使用 Anaconda\u002FMiniconda，推荐使用命令：`conda install -c conda-forge hdbscan`。\n3. Windows 用户可以直接下载预编译的 wheel 文件进行安装，下载地址：https:\u002F\u002Fwww.lfd.uci.edu\u002F~gohlke\u002Fpythonlibs\u002F","https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002F293",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},29562,"绘制凝聚树（condensed tree）时报错 'ValueError: zero-size array to reduction operation minimum' 怎么办？","这个问题通常发生在没有叶子节点时。维护者建议检查代码逻辑，将判断条件从基于 numpy 数组的操作改为使用 `len()` 函数，例如将判断改为 `if len(cluster_tree) == 0`。该问题可能在主分支（master）中已修复，建议更新到最新版本或手动修改 plots.py 中的相关逻辑。","https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002F151",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},29563,"如何使用 hdbscan 处理图像数据？遇到 MemoryError 怎么办？","直接将图像像素展开作为输入会导致内存溢出（MemoryError），因为像素点数量巨大。虽然 Issue 中未给出最终完美方案，但通常建议先对图像进行降采样（downsampling）或使用超像素（superpixels）技术减少数据点数量，然后再传入 HDBSCAN 进行聚类，避免直接处理所有像素点。","https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fissues\u002F3",{"id":146,"question_zh":147,"answer_zh":148,"source_url":129},29564,"编译 hdbscan 时出现大量关于 'deprecated NumPy API' 的警告如何处理？","这些警告是由于使用了已弃用的 NumPy API。可以在编译前通过定义宏来禁用这些警告，即在代码或编译配置中添加 `#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION`。这不会不影响功能，只是消除编译时的警告信息。",{"id":150,"question_zh":151,"answer_zh":152,"source_url":134},29565,"在 Docker 容器中如何安装 hdbscan？","在 Docker 容器中推荐直接使用 conda 安装，以避免编译依赖问题。首先确保容器中安装了 conda，然后运行命令：`conda install -c conda-forge hdbscan`。这种方法比使用 pip 从源码构建更稳定且快速。",[154,159,164,169,174,179,184,188,193,198,203,208,213,218,223,228,233,237,242,246],{"id":155,"version":156,"summary_zh":157,"released_at":158},206057,"release-0.8.42","## 变更内容\n* 由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F697 中修复了异常值分数问题。\n* 由 @timmooren 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F698 中修复了文档字符串中的无效转义序列问题。\n* CI：为 CPython 3.10–3.13 构建 Windows 轮子（GitHub Actions），由 @andrijajovanovic98 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F699 中完成。\n* 由 @bentoviml 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F703 中修复了 robust_single_linkage 文档字符串中的无效转义序列警告。\n* 由 @gclendenning 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F701 中使用 manylinux_2_8 在 Linux 上构建轮子。\n\n## 新贡献者\n* @timmooren 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F698 中完成了首次贡献。\n* @andrijajovanovic98 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F699 中完成了首次贡献。\n* @bentoviml 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F703 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.41...release-0.8.42","2026-03-27T18:59:09",{"id":160,"version":161,"summary_zh":162,"released_at":163},206058,"release-0.8.41","## 变更内容\n* 分支检测更新，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F667 中完成\n* 修复 fast_hdbscan 压缩树的绘图问题，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F666 中完成\n* 屏蔽分支检测代码中的除零警告，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F669 中完成\n* 更新软件包元数据中的 Python 版本，由 @gclendenning 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F671 中完成\n* 添加分支检测相关论文引用，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F674 中完成\n* simplify_hierarchy 和 CondensedTree._select_clusters 的优化，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F677 中完成\n* 修复 Linux 系统下 Python 3.12 的构建轮子问题，由 @Antobiotics 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F663 中完成\n* DevOps 更新：移除对 Python 3.9 的支持，添加对 Python 3.13 的支持，移除 Coveralls，上传至测试 PyPI，由 @gclendenning 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F690 中完成\n* 修复 README 中损坏的 DOI 链接（10.7717\u002Fpeerj-cs.2792），由 @R0SEWT 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F692 中完成\n* 移除 hdbscan_.py 中已弃用的参数名称，由 @joaquindas 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F673 中完成\n\n## 新贡献者\n* @Antobiotics 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F663 中完成了首次贡献\n* @R0SEWT 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F692 中完成了首次贡献\n* @joaquindas 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F673 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.40...release-0.8.41","2025-12-11T21:04:03",{"id":165,"version":166,"summary_zh":167,"released_at":168},206059,"release-0.8.40","## 变更内容\n* 在 setup.py 中的 extensions 里添加了 cythonize() 调用，由 @axiak 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F658 中完成\n* 新增用于限制最大 epsilon 值的参数，由 @prodrigues-tdx 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F529 中完成\n\n## 新贡献者\n* @axiak 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F658 中完成了首次贡献\n* @prodrigues-tdx 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F529 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.39...release-0.8.40","2024-11-18T15:47:23",{"id":170,"version":171,"summary_zh":172,"released_at":173},206060,"release-0.8.39","## 变更内容\n* 由 @divyegala 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F657 中为类 `HDBSCAN` 添加了属性 setter\n\n## 新贡献者\n* @divyegala 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F657 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.38-2...release-0.8.39","2024-10-12T01:52:14",{"id":175,"version":176,"summary_zh":177,"released_at":178},206061,"release-0.8.38.post2","## 变更内容\n* 修复拼写错误，并在分支检测代码中避免使用 NumPy 的内部 API。由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F654 中完成。\n* 构建支持 Python 3.12，弃用 Python 3.7。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.38-1...release-0.8.38.post2","2024-10-08T01:50:20",{"id":180,"version":181,"summary_zh":182,"released_at":183},206062,"release-0.8.38-2","## 变更内容\n* 修复拼写错误，并在分支检测代码中避免使用 NumPy 的内部 API。由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F654 中完成。\n* 更新构建脚本，以生成适用于 Python 3.12 的 wheel 包。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.38-1...release-0.8.38-2","2024-10-08T01:21:40",{"id":185,"version":186,"summary_zh":75,"released_at":187},206063,"release-0.8.38-1","2024-08-05T22:10:29",{"id":189,"version":190,"summary_zh":191,"released_at":192},206064,"release-0.8.38","这里的主要变化是增加了 Jelmer Bot 的分支检测功能，该功能可以将长的分支或延伸部分分离成独立的聚类。这是一项相当重要的改进，应该会对许多重要的应用场景有所帮助。\n\n## 变更内容\n* MAINT：支持 NumPy 2 并构建 Python 3.12 的轮子包，由 @seberg 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F644 中完成。\n* 从安装依赖中移除 Cython，由 @trxcllnt 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F624 中完成。\n* 修改 ``min_samples`` 的描述，由 @chenxinye 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F620 中完成。\n* 添加分支检测功能，由 @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F648 中完成。\n* 更新 _hdbscan_tree.pyx 文件，由 @lmcinnes 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F649 中完成。\n\n## 新贡献者\n* @seberg 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F644 中完成了首次贡献。\n* @trxcllnt 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F624 中完成了首次贡献。\n* @JelmerBot 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F648 中完成了首次贡献。\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.37...release-0.8.38","2024-08-05T21:09:07",{"id":194,"version":195,"summary_zh":196,"released_at":197},206065,"release-0.8.37","目前先锁定 numpy 版本低于 2，因为当前版本会导致构建失败。","2024-06-17T19:32:13",{"id":199,"version":200,"summary_zh":201,"released_at":202},206066,"release-0.8.36","**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.35...release-0.8.36","2024-05-24T16:21:00",{"id":204,"version":205,"summary_zh":206,"released_at":207},206067,"release-0.8.35","## 变更内容\n* 更新代码，使其能够与 NumPy 2.0 一起编译（希望如此）\n* @Daniel-Mietchen 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F632 中修复了 docs\u002Fparameter_selection.rst 文件中的拼写错误\n* @cearlefraym 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F635 中修正了变量声明中的拼写错误\n\n## 新贡献者\n* @Daniel-Mietchen 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F632 中完成了首次贡献\n* @cearlefraym 在 https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F635 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002Frelease-0.8.34-rc1...release-0.8.35","2024-05-23T23:54:39",{"id":209,"version":210,"summary_zh":211,"released_at":212},206068,"release-0.8.34-rc1","## What's Changed\r\n* Update validity.py by @armenbod in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F580\r\n* Wheel publish github action by @Rhaedonius in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F604\r\n* Build platform dependent wheel files by @gclendenning in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F606\r\n* Fixed DeprecationWarning in hdbscan\u002Fhdbscan_.py by @gerald-ftk in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F612\r\n* Add .readthedocs.yaml to fix failing docs build issue. by @chenxinye in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F619\r\n\r\n## New Contributors\r\n* @armenbod made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F580\r\n* @gerald-ftk made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F612\r\n* @chenxinye made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F619\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002F0.8.33...release-0.8.34-rc1","2023-11-20T19:04:39",{"id":214,"version":215,"summary_zh":216,"released_at":217},206069,"0.8.33","Hopefully the last round of patches to work around recent issues introduced by a newer release of Cython","2023-07-18T17:50:51",{"id":219,"version":220,"summary_zh":221,"released_at":222},206070,"0.8.32","Cython 3 introduces a number of issues; prevent using Cython 3 for compilation until we've worked through all the changes required.","2023-07-17T18:59:43",{"id":224,"version":225,"summary_zh":226,"released_at":227},206071,"0.8.31","Resolve recent build issues with full module name resolution\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002F0.8.30...0.8.31","2023-07-17T18:38:16",{"id":229,"version":230,"summary_zh":231,"released_at":232},206072,"0.8.30","## What's Changed\r\n* Changes to support scikit-learn 1.3\r\n* Fix typo in docstring by @yoavram in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F573\r\n* Set seed for generating noisy data by @gclendenning in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F594\r\n\r\n## New Contributors\r\n* @yoavram made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F573\r\n* @gclendenning made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F594\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002F0.8.29...0.8.30","2023-07-05T00:04:50",{"id":234,"version":235,"summary_zh":75,"released_at":236},206073,"0.8.29-1","2022-10-31T20:21:51",{"id":238,"version":239,"summary_zh":240,"released_at":241},206074,"0.8.29","## What's Changed\r\n* Fix malformed list in docs by @dmlls in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F535\r\n* Incorrect initialization in BallTreeBoruvka dual_tree_traversal by @GregDemand in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F508\r\n* hdbscan: add support to other types of input integers by @jcfaracco in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F540\r\n* Add parameter to DBCV which toggles the usage of mutual reachability distances by @luis261 in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F552\r\n* Fixed: validity index no longer returning nan by @tadorfer in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F558\r\n* Use a positional argument for the cachedir\u002Flocation by @lmcinnes in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F563\r\n\r\n## New Contributors\r\n* @dmlls made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F535\r\n* @jcfaracco made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F540\r\n* @luis261 made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F552\r\n* @tadorfer made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F558\r\n* @lmcinnes made their first contribution in https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fpull\u002F563\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fscikit-learn-contrib\u002Fhdbscan\u002Fcompare\u002F0.8.28...0.8.29","2022-10-31T17:23:07",{"id":243,"version":244,"summary_zh":75,"released_at":245},206075,"0.8.28.wheels","2022-02-08T17:15:41",{"id":247,"version":248,"summary_zh":249,"released_at":250},206076,"0.8.28","Resync release tags with PyPI","2022-02-08T15:44:47"]