- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
本篇文章以 history/2025-04-17_changes.md 这一份周度变更记录为主线,逐一解读该周“趋势上升(Trending Up)”与“趋势下降(Trending Down)”的 20 个机器学习 Python 开源项目,并深入剖析榜单背后的 project-quality score(项目质量评分)体系——包括分数来源、评分符号含义、数据采集配置与榜单生成方式。读完本文,你不仅能看懂这一周的榜单变化,还能掌握这个每周更新的精选榜单 README.md 是如何被自动化生成与维护的,以及如何用它作为选型参考。
一、这是一份什么文档:周度变更快照
history/目录下的*_changes.md文件是该仓库的“周报”产物:每更新一次榜单,就会同时生成一份projects.csv(完整项目数据)和一份changes.md(变化摘要)。2025-04-17 这一期的changes.md只包含两类清单:
- Trending Up(趋势上升):相比上一次更新,项目质量评分有所提升的项目,可能源于下载量或代码活跃度上升;
- Trending Down(趋势下降):相比上一次更新,项目质量评分有所下降的项目,可能源于下载量或代码活跃度下降。
与它配套的完整数据文件是 history/2025-04-17_projects.csv,其中包含每个项目的 star 数、fork 数、贡献者数、issue 数、PyPI/conda/Docker 包信息、最近发布版本、下载量等数十个字段,changes.md中的趋势判断正是从这些数据计算而来。
二、Trending Up:本期评分上升的 10 个项目
2025-04-17 这一周进入上升榜的 10 个项目,覆盖了 NLP、超参优化、梯度提升树、训练框架、AutoML、实验追踪、异常检测与数据可视化等多个方向,且大多属于高频更新或下载量增长的项目:
| 项目 | 质量评分(🥇🥈🥉) | 描述 | 许可证 |
|---|---|---|---|
| transformers | 🥇54 · ⭐ 140K | 面向 PyTorch、TensorFlow、JAX 的最先进机器学习模型库 | Apache-2.0 |
| sentence-transformers | 🥇44 · ⭐ 16K | 最新的文本嵌入(Text Embeddings)方案 | Apache-2.0 |
| Optuna | 🥇43 · ⭐ 12K | 超参数优化框架 | MIT |
| Catboost | 🥈42 · ⭐ 8.4K | 快速、可扩展、高性能的梯度提升树库 | Apache-2.0 |
| Ignite | 🥈37 · ⭐ 4.6K | 帮助灵活透明地训练与评估神经网络的高层 PyTorch 库 | BSD-3 |
| auto-sklearn | 🥈31 · ⭐ 7.8K | 基于 scikit-learn 的自动化机器学习 | BSD-3 |
| Neptune.ai | 🥈30 · ⭐ 610 | 面向基础模型训练的实验追踪器 | Apache-2.0 |
| rrcf | 🥉20 · ⭐ 510 | 流式异常检测的 Robust Random Cut Forest 算法实现 | MIT |
| solt | 🥉20 · ⭐ 260 | 轻量数据变换的流式处理 | MIT |
| pytorchviz | 🥉19 · ⭐ 3.3K | 创建 PyTorch 执行图可视化的小工具包 | MIT |
几个值得注意的点:
- transformers 保持榜首热度。它以 🥇54 的评分领跑整个上升榜,说明其 GitHub 活跃度与 PyPI 下载量(CSV 中该项目当月下载量约 5860 万)均处于高位;文档中带有 PyTorch 相关图标(
JLy1Q),与 README.md 中“PyTorch related project”标签一致。 - sentence-transformers 紧随其后,同属 Hugging Face 生态,且同样标注为 PyTorch 相关项目,反映了文本嵌入方向在本周的高活跃度。
- auto-sklearn 标有 💀 标记,按 README 的符号说明,这表示项目已超过 12 个月无活动(Dead project),但其评分仍因下载量等因素上升而进入榜单,说明评分不是只看代码活跃度这一项。
- solt、rrcf 等小项目也能上榜,它们评分仅为 🥉20 左右,说明趋势比较是“与自身上次评分对比”,而非绝对排名——无论体量大小,只要评分上涨就会进入该清单。
三、Trending Down:本期评分下降的 10 个项目
下降榜同样横跨多个领域,其中不乏重量级项目:
| 项目 | 质量评分(🥇🥈🥉) | 描述 | 许可证 |
|---|---|---|---|
| jax | 🥇45 · ⭐ 32K | 可组合变换的 Python+NumPy 程序库:微分、向量化、JIT 到 GPU/TPU | Apache-2.0 |
| MoviePy | 🥇41 · ⭐ 13K | 用 Python 做视频剪辑 | MIT |
| dgl | 🥇36 · ⭐ 14K | 基于现有深度学习框架的图深度学习库 | Apache-2.0 |
| ivy | 🥈35 · ⭐ 14K | 在不同机器学习框架之间转换代码 | Apache-2.0 |
| librosa | 🥈35 · ⭐ 7.6K | 音频与音乐分析库 | ISC |
| opencv-python | 🥈35 · ⭐ 4.8K | 自动化 CI 工具链,产出预编译的 opencv-python 等包 | MIT |
| NIPYPE | 🥈35 · ⭐ 780 | 神经影像包的流程与接口 | Apache-2.0 |
| Autograd | 🥈33 · ⭐ 7.2K | 高效计算 NumPy 代码的导数 | MIT |
| vecstack | 🥉20 · ⭐ 690 | 用于 stacking 的机器学习集成技术包 | MIT |
| mlens | 🥉19 · ⭐ 850 | 高性能集成学习库 | MIT |
解读要点:
- jax 虽然评分最高(🥇45),但进入了下降榜。这说明其评分的绝对水平依然很高,只是相比上一周有回落。CSV 数据显示该周期 jax 的 GitHub
trending字段即为负值(-1.0),与 changes 文档相互印证。 - vecstack 与 mlens 都带有 💀 标记,属于长期未维护(超过 12 个月无活动)的项目。它们在上一期(history/2025-04-10_changes.md)与本期反复出现在不同榜单中,反映了“评分计算窗口滚动变化”的特性——评分是多个指标的综合,某一指标的波动就会改变趋势方向。
- 下降并不意味着项目不可用,例如MoviePy、librosa、opencv-python仍是各自领域最常用的库;趋势标记只反映本周期与上一周期相比的评分变化方向。
四、读懂评分符号:榜单信息编码规则
要正确解读 changes 文档,必须先掌握 README 中 “Explanation”一节 定义的符号体系。以下是该仓库定义的完整规则:
| 符号 | 含义 |
|---|---|
| 🥇🥈🥉 | 综合项目质量评分(combined project-quality score) |
| ⭐ | GitHub star 数 |
| 🐣 | 新项目(创建不足 6 个月) |
| 💤 | 不活跃项目(6 个月无活动) |
| 💀 | 已停止维护项目(12 个月无活动) |
| 📈📉 | 项目评分处于上升或下降趋势 |
| ➕ | 最近新加入的项目 |
| ❗ | 警告(如许可证缺失或有风险) |
| 👨💻 | GitHub 贡献者数 |
| 🔀 | GitHub fork 数 |
| 📋 | GitHub issue 数 |
| ⏱ | 包管理器上最近更新时间戳 |
| 📥 | 包管理器下载量 |
| 📦 | 依赖此项目的下游项目数量 |
| 各框架小图标 | 项目所属框架标签(TensorFlow / scikit-learn / PyTorch / MXNet / Spark / Jupyter / PaddlePaddle / Pandas / JAX) |
以本期上升榜首条为例:
transformers (🥇54 · ⭐ 140K · 📈) - Transformers: State-of-the-art Machine Learning for.. Apache-2可以解析为:项目质量评分 54(对应 README 中每 5 分一个档次的 🥇🥈🥉 前缀)、GitHub star 数约 14 万、本周评分上升,采用 Apache-2.0 许可证,且是 PyTorch 与 TensorFlow 双框架相关项目。
五、评分从哪来:数据源、配置与生成机制
这套榜单并非人工打分,而是从 projects.yaml 的配置出发,自动从 GitHub 和各包管理器采集指标计算而来。仓库中的projects.yaml是榜单生成的唯一数据源,其顶部configuration段定义了核心规则:
configuration: min_stars: 300 require_github: True max_trending_projects: 10 allowed_licenses: ["Unlicense", "Apache-2.0", "MIT", "BSD-3-Clause", "BSD-2-Clause", "ISC", "MPL-2.0", "LGPL-2.1"] markdown_header_file: "config/header.md" markdown_footer_file: "config/footer.md" projects_history_folder: "history"关键参数含义:
- min_stars: 300:项目入围的最低 star 门槛,低于此值的项目不会进入榜单;
- max_trending_projects: 10:每期 changes 文档中 Trending Up / Trending Down 各最多收录 10 个项目,这就是为什么本期两份清单恰好各 10 条;
- allowed_licenses:仅收录许可证在白名单内的项目,白名单外的项目(如 GPL 系)会被标注 ❗ 或排除;
- markdown_header_file / markdown_footer_file:README 的头部与尾部由 config/header.md 与 config/footer.md 模板渲染;
- projects_history_folder: "history":每次更新产出的 CSV 与 changes 文件都归档到
history/目录,形成了可回溯的历史数据。
projects.yaml中还定义了 34 个分类(如ml-frameworks、nlp、hyperopt、nn-search等)和 9 个框架标签(tensorflow、sklearn、pytorch、mxnet、spark、jupyter、paddle、pandas、jax),每个项目通过category与labels字段归类。例如本期的 transformers 在 CSV 中对应github_id: huggingface/transformers,labels 为['pytorch', 'tensorflow'],与 changes 文档中展示的两个框架图标完全对应。
而 history/2025-04-17_projects.csv 则是本次评分的“明细账”,每个项目一行,包含projectrank(排名)、star_count、fork_count、contributor_count、open_issue_count、pypi_monthly_downloads、monthly_downloads、trending(趋势值,正值/负值对应上升/下降)等字段。本期进入下降榜的 jax、MoviePy、librosa、opencv-python、Autograd、vecstack 等在 CSV 中trending字段均为 -1.0,即评分较上期下降的量化依据。
六、如何利用这份周报做技术选型
对于机器学习工程师与研究者,这份榜单及配套历史数据有三层实用价值:
- 快速感知生态热度:每周的 changes 文档是“增量视图”,适合追热;而完整的 README.md 按 34 个分类展示全部 920 个项目的当前评分,适合做横向对比。本期上升榜提示文本嵌入(sentence-transformers)、超参优化(Optuna)与梯度提升(Catboost)在本周处于活跃状态。
- 评估项目健康度:结合符号规则,看到 💀 标记(如 auto-sklearn、vecstack、mlens)时要意识到项目已长期停止维护,生产环境选型需谨慎;看到 📈 且无维护性警告的项目(如 transformers)则相对活跃。
- 追踪历史趋势:
history/目录从 2020 年一直归档到 2025-10,例如将 history/2025-04-10_changes.md 与本期对比,可以看到 pytorchviz 从下降榜(上期 📉14)回升至上升榜(本期 📈19)、sentence-transformers 从下降榜转为上升榜等变化,帮助判断项目的长期活跃度曲线。
关于本仓库的说明:best-of-ml-python 是一个以 projects.yaml 为唯一数据源、通过自动化流水线生成 README 与历史快照的开源榜单仓库。你可以在本地克隆后查看全部项目数据与历史归档,也可以通过修改projects.yaml(参考 CONTRIBUTING.md 中的项目属性规范)提交 PR 来添加或更新项目,整个榜单约每周更新一次。本仓库只读,所有分析与数据均以仓库内文档、配置与 CSV 为准。
- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
相关推荐
best-of-ml-python 周报深度解读:2024-04-18 榜单趋势变动与项目质量评分机制
best of ml python 周报深度解读:2024 04 18 榜单趋势变动与项目质量评分机制 本篇指南以 history/2024 04 18_cha
文档知识库机器学习Arthas 容器诊断实战:Docker 与 Kubernetes 环境下的 JDK 配置、attach 与 sidecar 部署指南
Arthas 容器诊断实战:Docker 与 Kubernetes 环境下的 JDK 配置、attach 与 sidecar 部署指南 本篇技术指南聚焦 Ali
文档知识库机器学习best-of-ml-python 每周趋势报告解读:2024-01-04 升降榜与项目质量评分机制
best of ml python 每周趋势报告解读:2024 01 04 升降榜与项目质量评分机制 本篇以开源仓库 best of ml python 在 2
文档知识库机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考