- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
本篇技术指南以开源仓库 best-of-ml-python 的周度变化报告 history/2021-07-15_changes.md 为核心样本,系统讲解这份「项目质量评分趋势周报」的格式、评分体系、数据来源与正确读法,并结合 projects.yaml 配置与 history/2021-07-15_projects.csv 数据快照,对当周 20 个上升/下降项目逐一展开溯源分析。读完本文,你将掌握如何从该仓库的周报与 CSV 快照中提取可信的技术选型与生态活跃度信号。
一、周度趋势报告是什么:它在仓库中的定位
best-of-ml-python 是一份「每周更新」的机器学习 Python 库排名清单,其核心思想是用**项目质量评分(project-quality score)**取代单纯的 Star 排序——评分由 GitHub 与各包管理器自动采集的多维指标综合计算而来(该机制在 README.md 首段有明确说明)。
仓库把历史轨迹完整保留在history/目录下:
*_changes.md:每次更新的「变化摘要」,即本文核心文档 history/2021-07-15_changes.md,只记录与上一次更新相比评分发生变化的项目;*_projects.csv:与_changes.md同日期生成的全量数据快照,如 history/2021-07-15_projects.csv,包含每个项目的 GitHub 指标、发行版本、PyPI/Conda/Docker 下载量等数十个字段;latest-changes.md:仓库根目录下的滚动「最新一期」变化摘要,格式与历史_changes.md完全一致。
也就是说,_changes.md是「增量视角」,_projects.csv是「全量快照」,两者结合才能完整还原一次周更新的内容。2021-07-15 这一期报告结构非常典型:包含10 个评分上升项目(📈 Trending Up)与10 个评分下降项目(📉 Trending Down),正好是配置中max_trending_projects: 10的上限(见 projects.yaml 第 6 行)。
二、报告格式与评分体系解读
2.1 单条目的字段拆解
以报告第一行为例:
- <b>onnx</b> (🥇35 · ⭐ 11K · 📈) - Open standard for machine learning interoperability. <code>Apache-2</code>🥇35:🥇 是评分档位徽章,35 是综合质量评分。README 的 Explanation 一节说明 🥇🥈🥉 代表「Combined project-quality score」的档位划分,分数越高档位越高;⭐ 11K:GitHub Star 数量(取整显示);📈:趋势标记——📈 表示相比上次更新评分上升,📉 表示下降;此外 🐣 表示新项目(创建不足 6 个月),💤 表示不活跃(6 个月无活动),💀 表示已死项目(12 个月无活动);Apache-2:许可证,带❗️前缀(如 advertorch 的❗️GPL-3.0)表示警示(许可证缺失或存在风险);- 行尾框架图标/标签:如 TensorFlow 图标、PyTorch 图标、sklearn 图标或
jax文本,标明该项目所属生态(与 projects.yaml 中labels一节一一对应)。
2.2 升降判断依据
报告两个板块的斜体说明给出了官方口径(直接继承原文语义):
- 📈 Trending Up:「与上次更新相比质量评分更高的项目,可能由下载量或代码活跃度上升等原因导致」;
- 📉 Trending Down:「与上次更新相比质量评分更低的项目,可能由下载量或代码活跃度下降等原因导致」。
注意:评分升降是相对变化而非绝对评价,一个高 Star 项目评分下降(如 Face Recognition)不代表它"变差了",只是快照期的多维指标组合发生了回落。这也是阅读周报时最需要留意的语义边界。
2.3 生成配置:为什么是这 10 个名额
从 projects.yaml 顶部的configuration段可以看到:
| 配置项 | 值 | 含义 |
|---|---|---|
min_stars | 300 | 入库门槛:Star 数不足 300 的项目不收录 |
require_github | True | 必须存在 GitHub 仓库 |
max_trending_projects | 10 | 每期趋势板块最多展示 10 个名额 |
allowed_licenses | Unlicense / Apache-2.0 / MIT / BSD-3-Clause / BSD-2-Clause / ISC / MPL-2.0 / LGPL-2.1 | 许可证白名单,名单之外(如 GPL-3.0)会被打上 ❗️ 警示 |
这解释了报告中的两个现象:Trending 每板块恰好各 10 条;advertorch 虽为 GPL-3.0 仍出现在榜单中,但被标记❗️警示(许可证不在白名单内)。
三、📈 Trending Up:2021-07-15 上升项目逐项解析
以下数据均取自同日期快照 history/2021-07-15_projects.csv(字段如category、star_count、latest_stable_release_number、pypi_monthly_downloads等),与 history/2021-07-15_changes.md 中展示的取整 Star 数(⭐ 11K 等)互相印证。
| 项目 | 评分 | Star(取整/精确) | 分类 | 当周快照中的最新稳定版 | PyPI 月下载量 |
|---|---|---|---|---|---|
| onnx | 🥇35 | 11K / 10,957 | model-serialisation | 1.9.0 | 1,752,340 |
| Airflow | 🥇33 | 23K / 22,659 | data-pipelines | 2.1.2 | 2,958,551 |
| tensor2tensor | 🥇33 | 11K / 11,406 | tensorflow-utils | 1.15.7 | 672,393 |
| geopy | 🥇33 | 3.4K / 3,360 | geospatial-data | 2.2.0 | 5,110,009 |
| tensorflow-hub | 🥇33 | 2.9K / 2,877 | tensorflow-utils | 0.12.0 | 3,587,742 |
| DeepSpeech | 🥇30 | 18K / 17,698 | audio | 0.9.3 | 9,710 |
| mtcnn | 🥈26 | 1.6K / 1,569 | image | 0.1.1 | 21,201 |
| MONAI | 🥈24 | 2.1K / 2,119 | medical-data | 0.6.0 | 9,568 |
| EfficientNets | 🥈23 | 1.4K / 1,355 | pytorch-utils | 1.0.2 | 5,594 |
| AugLy | 🥉19 | 3.6K / 3,571 | others | 0.1.5 | 3,012 |
逐项要点(均以快照数据可观察到的信号为准,不作归因断言):
- onnx:机器学习互操作开放标准,评级 🥇35 为全榜单最高分档,Apache-2.0。分类为模型序列化(
model-serialisation),其跨框架模型交换定位决定它天然处于高频下载与依赖生态的中心; - Airflow:以代码方式编排、调度与监控工作流的平台,分类
data-pipelines。快照中最新稳定版 2.1.2 发布于 2021-07-14(即报告前一日),PyPI 月下载量约 296 万,属于数据流水线领域的头部项目; - tensor2tensor:深度模型与数据集库,带 TensorFlow 生态标签,分类
tensorflow-utils; - geopy:Python 地理编码库,MIT 许可,分类
geospatial-data,PyPI 月下载量约 511 万,是榜单中下载量最高的上升项目之一; - tensorflow-hub:通过复用模型片段做迁移学习的库,分类
tensorflow-utils,0.12.0 版本对应 TensorFlow 2.x 生态; - DeepSpeech:Mozilla 出品的嵌入式离线语音转文本引擎,MPL-2.0 许可,分类
audio,带 TensorFlow 标签; - mtcnn:基于 TensorFlow 的 MTCNN 人脸检测实现,以 PIP 包形式分发,分类
image; - MONAI:医疗影像 AI 工具包,带 PyTorch 标签,分类
medical-data; - EfficientNets(仓库 ID 为
rwightman/gen-efficientnet-pytorch):预训练 EfficientNet / EfficientNet-Lite / MixNet 等模型的 PyTorch 实现,分类pytorch-utils; - AugLy:音频、图像、文本、视频四模态的数据增强库,🐣 新项目标记(创建不足 6 个月,创建于 2021-06 初),MIT 许可,分类
others。
四、📉 Trending Down:2021-07-15 下降项目逐项解析
| 项目 | 评分 | Star(取整/精确) | 分类 | 当周快照中的最新稳定版 | PyPI 月下载量 |
|---|---|---|---|---|---|
| Face Recognition | 🥈29 | 41K / 40,713 | image | 1.2.3 | 59,625 |
| Datasette | 🥇28 | 5.2K / 5,229 | others | 0.58 | 115,885 |
| Flax | 🥉27 | 1.9K / 1,942 | ml-frameworks | 0.3.4 | 490,447 |
| snakemake | 🥈26 | 1K / 1,022 | ml-experiments | 6.5.3 | 27,088 |
| Great Expectations | 🥉24 | 4.7K / 4,684 | data-pipelines | —(快照无稳定版号) | 944,965 |
| yellowbrick | 🥈24 | 3.3K / 3,293 | interpretability | 1.3.post1 | 237,115 |
| TensorTrade | 🥉23 | 3.3K / 3,326 | financial-data | 1.0.3 | 1,055 |
| jiant | 🥉21 | 1.3K / 1,288 | nlp | 2.2.0 | 141 |
| advertorch | 🥉19 | 890 | adversarial | 0.2.3 | 900 |
| Caer | 🥉19 | 520 | image | 1.9.8 | 7,352 |
逐项要点:
- Face Recognition:号称"全球最简单的面部识别 API",Star 高达 40,713(本期下降列表中最高的),MIT 许可,分类
image。其快照中最新稳定版停留在 2018-08 发布的 1.2.3,属于典型的"高关注度但版本迭代放缓"样本——这恰好说明周报反映的是多维指标组合的变化,而不是 Star 排名; - Datasette:数据探索与发布的多功能开源工具,Apache-2.0,分类
others; - Flax:JAX 生态的神经网络库(条目行尾以
jax文本标签标明),分类ml-frameworks,Apache-2.0; - snakemake:工作流管理系统,MIT 许可,分类
ml-experiments,最新稳定版 6.5.3; - Great Expectations:数据质量期望管理库("Always know what to expect from your data"),Apache-2.0,分类
data-pipelines,PyPI 月下载量约 94 万,是下降列表里下载量最高的项目; - yellowbrick:可视化诊断工具,辅助机器学习模型选择,带 sklearn 标签,分类
interpretability; - TensorTrade:面向量化交易的开源强化学习框架,分类
financial-data; - jiant:NLP 工具包,MIT 许可,分类
nlp; - advertorch:对抗鲁棒性研究工具箱,带 PyTorch 标签,💀 死项目标记(12 个月无活动),许可证 GPL-3.0 不在 projects.yaml 白名单内,故显示
❗️GPL-3.0警示; - Caer:轻量计算机视觉库,MIT 许可,分类
image。
五、数据链路:从 projects.yaml 到 CSV 再到 Markdown
要真正读透周报,需要理解它的数据生产链路,仓库本身提供了完整的证据链:
- 数据源声明:projects.yaml 既是项目清单也是生成配置——顶部
configuration定义收录门槛与名额,categories定义 30 余个分类(如ml-frameworks、data-pipelines、interpretability、nn-search等)及其在 README 中的章节标题与副标题,labels定义 TensorFlow/sklearn/PyTorch/MXNet/Spark/Jupyter/PaddlePaddle/Pandas/Jax 生态标签,projects段则逐条记录项目及其包管理器 ID(如pypi_id、conda_id、dockerhub_id); - 快照沉淀:每次更新将全量指标落盘为
history/YYYY-MM-DD_projects.csv。以 history/2021-07-15_projects.csv 为例,其表头字段超过 80 列,除基础元数据(name、github_id、category、license)外,还包括star_count、fork_count、open_issue_count、commit_count、contributor_count、latest_stable_release_number、pypi_monthly_downloads、conda_total_downloads、dockerhub_pulls等——本文第三、四节表格的数据正是取自这些列; - 增量提取:
_changes.md由生成器比对两期快照,挑出评分上升/下降的前 N 名(N 由max_trending_projects控制),渲染为 Markdown 列表;历史版本归档于history/,最新一期同时镜像到根目录 latest-changes.md; - 渲染模板:README 的头部与尾部由 config/header.md 与 config/footer.md 注入(含
{project_count}、{stars_count}、{category_count}占位符),配置图片目录 config/images/ 中存放各框架的图标素材;完整 README 榜单的条目则由 README.md 直接承载。
若想为仓库添加或更新项目,CONTRIBUTING.md 说明了规范流程:只改 projects.yaml,使用 YAML 格式与既定属性(name、github_id、pypi_id、conda_id、category、labels等),README 由生成器产出,切勿手工修改。
六、如何利用这份周报做技术选型与生态跟踪
结合本期样本,给出四条可操作的使用方法:
- 把「评分」当复合指标,把「Star」当参考线:评分综合了 GitHub 活跃度、版本发布节奏、包管理器下载量等(详见 README.md 评分说明),比单一 Star 更能反映项目的"持续生命力";阅读时以
_changes.md的升降列表为信号,再回 README.md 对应分类章节看完整榜单; - 趋势与状态标记交叉使用:🐣(新项目)提示值得早期关注,💀/💤 提示慎用于新项目选型,❗️(许可证警示)提示法律合规风险。本期中 AugLy(🐣)与 advertorch(💀+❗️GPL-3.0)就是正反两面的典型样本;
- 用 CSV 快照做横向深挖:当周报只给结论时,直接到同日期 history/2021-07-15_projects.csv 按
name检索该行,即可拿到精确 Star、最近发版时间、PyPI/Conda/Docker 下载量等证据,支撑你的选型对比; - 按时间轴观察长期趋势:
history/目录保留了从 2020-11 至今的连续周报(如 history/2021-07-08_changes.md、history/2021-07-01_changes.md),把同一项目在连续多期的升降记录串起来,可以还原其活跃度曲线——这是单期周报无法提供的时间维度。
延伸阅读
- README.md:完整榜单、评分说明与全部符号释义
- projects.yaml:收录门槛、分类体系、标签定义与项目清单
- history/2021-07-15_changes.md:本期周报原文
- history/2021-07-15_projects.csv:本期全量数据快照
- latest-changes.md:滚动最新一期变化摘要
- CONTRIBUTING.md:项目增补与元数据维护规范
- 文档
- 知识库
- 机器学习
【免费下载链接】best-of-ml-python
🏆 A ranked list of awesome machine learning Python libraries. Updated weekly.
相关推荐
best-of-ml-python 周度趋势报告解读:从 2021-04-29 changes 看懂 ML Python 库的质量评分与趋势机制
best of ml python 周度趋势报告解读:从 2021 04 29 changes 看懂 ML Python 库的质量评分与趋势机制 本篇以 his
文档知识库机器学习解读 best-of-ml-python 周更榜单:2021-03-04 项目质量分趋势报告实战指南
解读 best of ml python 周更榜单:2021 03 04 项目质量分趋势报告实战指南 本篇技术指南以 best of ml python htt
文档知识库机器学习LangChain Go 顺序链实战:用 Sequential Chain 串联多个 LLM 完成"编剧 + 剧评"流水线
LangChain Go 顺序链实战:用 Sequential Chain 串联多个 LLM 完成"编剧 + 剧评"流水线 导读 本篇文章围绕 langchai
文档知识库机器学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考