ML 框架与库精华指南
来源:josephmisiti/awesome-machine-learning (72.1k⭐)
筛选标准:Stars>1k 或行业标准工具 | 最后更新<3 年 | 去重压缩率>60%
⭐⭐⭐ 必用框架(行业标准)
1. scikit-learn (55.8k⭐)
- 用途: 经典机器学习算法库(分类/回归/聚类/降维)
- 语言: Python
- 特点: API 统一、文档完善、生产环境首选
- 适用场景: 结构化数据、快速原型、生产部署
- 链接: https://scikit-learn.org
2. TensorFlow (173k⭐)
- 用途: 深度学习框架(Google 出品)
- 语言: Python/C++
- 特点: 生产部署成熟、TFX 生态完整、支持移动端
- 适用场景: 大规模生产系统、移动端部署、分布式训练
- 链接: https://tensorflow.org
3. PyTorch (82.3k⭐)
- 用途: 深度学习框架(Facebook 出品)
- 语言: Python/C++
- 特点: 动态图、研究友好、HuggingFace 生态
- 适用场景: 学术研究、快速迭代、NLP/CV 前沿
- 链接: https://pytorch.org
4. Keras (61.2k⭐)
- 用途: 高级神经网络 API(现集成于 TensorFlow)
- 语言: Python
- 特点: 极简 API、快速上手、教学首选
- 适用场景: 入门学习、快速原型、教学演示
- 链接: https://keras.io
5. XGBoost (26.5k⭐)
- 用途: 梯度提升树库
- 语言: Python/C++/R/Java
- 特点: 性能卓越、Kaggle 竞赛标配
- 适用场景: 表格数据竞赛、生产级预测模型
- 链接: https://xgboost.ai
6. LightGBM (16.8k⭐)
- 用途: 梯度提升框架(微软出品)
- 语言: Python/C++
- 特点: 训练速度快、内存占用低
- 适用场景: 大规模表格数据、实时预测
- 链接: https://lightgbm.readthedocs.io
7. Hugging Face Transformers (142k⭐)
- 用途: NLP 预训练模型库
- 语言: Python
- 特点: 3000+ 预训练模型、一键加载 BERT/GPT
- 适用场景: NLP 任务、文本生成、情感分析
- 链接: https://huggingface.co
⭐⭐ 推荐框架(特定场景)
8. JAX (28.1k⭐)
- 用途: 高性能数值计算(Google 出品)
- 语言: Python
- 特点: 自动微分、XLA 编译、函数式编程
- 适用场景: 科研计算、自定义模型、TPU 训练
9. FastAI (25.3k⭐)
- 用途: 深度学习高级库(基于 PyTorch)
- 语言: Python
- 特点: 最佳实践封装、少代码高效果
- 适用场景: 快速实现 SOTA、教学、原型开发
10. MXNet (10.2k⭐)
- 用途: 深度学习框架(Apache 孵化)
- 语言: Python/R/Scala/Julia
- 特点: 多语言支持、AWS 首选
- 适用场景: AWS 部署、多语言项目
11. PaddlePaddle (21.5k⭐)
- 用途: 深度学习框架(百度出品)
- 语言: Python
- 特点: 中文文档完善、产业应用丰富
- 适用场景: 中文 NLP、国内产业部署
12. CatBoost (7.8k⭐)
- 用途: 类别特征梯度提升(Yandex 出品)
- 语言: Python/C++/R
- 特点: 自动处理类别特征、无需预处理
- 适用场景: 含类别特征的表格数据
⭐ 可选框架(探索使用)
| 框架 | Stars | 用途 | 备注 |
|---|---|---|---|
| Theano | 12.5k | 早期深度学习库 | ⚠️ 已停止维护 (2017) |
| Caffe | 33.2k | CV 深度学习 | ⚠️ 更新缓慢,建议用 PyTorch |
| DL4J | 3.2k | Java 深度学习 | 适合 Java 生态 |
| Elasticsearch ML | 6.1k | 搜索+ML | 适合日志分析场景 |
| Vowpal Wabbit | 9.8k | 在线学习 | 适合流式数据 |
📊 框架选型决策树
任务类型?
├─ 结构化数据(表格)
│ ├─ 快速原型 → scikit-learn
│ ├─ 竞赛/高性能 → XGBoost/LightGBM
│ └─ 含类别特征 → CatBoost
│
├─ 非结构化数据(图像/文本/音频)
│ ├─ 研究/快速迭代 → PyTorch
│ ├─ 生产部署 → TensorFlow
│ └─ NLP 任务 → HuggingFace Transformers
│
├─ 入门学习
│ └─ Keras/FastAI
│
└─ 特殊需求
├─ TPU 训练 → JAX/TensorFlow
├─ 移动端 → TensorFlow Lite
└─ Java 生态 → DL4J🔗 相关资源
最后更新: 2026-04-05
维护者: nanobot
审查周期: 季度审查(检查 Stars 变化/更新状态)