机器学习 Python库 乱记录

MLFlow---模型实验和跟踪

MLflow是一个平台,帮助你从头到尾管理你的机器学习实验,确保可追溯性和可重复性。它提供了一个集中的存储库,用于存储你的代码、数据和模型工件,以及一个跟踪系统,记录你所有的实验,包括超参数、指标和输出。

以下是MLflow如何帮助你避免单独使用Jupyter笔记本的陷阱:

  1. 集中存储库:MLflow保持你的代码、数据和模型工件组织有序且易于获取。你可以快速找到你需要的资源,而不会迷失在笔记本的迷宫中。
  2. 实验跟踪:MLflow记录每一次实验,包括使用的确切代码、数据和超参数。这使你能够轻松比较不同的实验,并识别导致最佳结果的原因。
  3. 可重复性:MLflow使你能以完全相同的代码、数据和环境重现你的最佳模型。这对于确保结果的一致性和可靠性至关重要。
    因此,如果你认真对待构建有效的机器学习模型,就抛弃Jupyter笔记本的混乱,拥抱MLflow的力量吧。

链接:https://mlflow.org/

Streamlit---快速且漂亮的网页应用程序

通过使用Streamlit,开发人员可以构建和分享吸引人的用户界面,并在不需要深入的前端经验或知识的情况下部署模型。该框架是免费的、全Python的、开源的,能够在短时间内创建可分享的网页应用程序。

链接:https://streamlit.io

FastAPI---轻便和快速部署你的模型(其他的还有FLask、bottle)

FastAPI是一个高性能的web框架,用于构建RESTful API。它以其简单性、易用性和速度而闻名。

  • 速度:FastAPI非常快。它使用现代异步编程模型,使其能够高效地同时处理多个请求。这对于需要处理大量数据的机器学习模型部署至关重要。
  • 简单性:FastAPI易于学习和使用。它具有清晰简洁的语法,使得编写干净且可维护的代码变得容易。对于不一定是经验丰富的web开发人员的机器学习工程师和数据科学家来说,这一点很重要。
  • 易用性:FastAPI提供了许多功能,使构建和部署API变得容易。例如,它内置了自动文档、数据验证和错误处理的支持。这节省了时间和精力,允许机器学习工程师专注于他们的核心工作------构建和部署模型。
  • 生产就绪:FastAPI是为生产环境设计的。它具有像支持多后端、安全性和部署工具等特性。这使得它成为部署关键机器学习模型的可靠选择。
    链接:https://fastapi.tiangolo.com

XGBoost---更快更好地预测表格数据

XGBoost是一种强大的机器学习算法,以其准确性、速度和可扩展性而闻名。它基于梯度提升框架,将多个弱学习器组合成一个强学习器。简单来说,你使用多个小模型(如随机森林),将它们组合成一个大模型,最终你会得到一个更快的模型(与例如神经网络相比),同时它是可扩展的,且不太容易过拟合。

  • 准确性:XGBoost是现有最准确的机器学习算法之一。它已经被用于赢得许多机器学习竞赛,并且在不同的任务中一直名列前茅。
  • 速度:XGBoost也非常快。它能够快速高效地在大型数据集上进行训练和预测。这使它成为速度重要应用的好选择,如实时欺诈检测或金融建模。
  • 可扩展性:XGBoost具有很高的可扩展性。它可以处理大型数据集和复杂模型,而不会牺牲准确性。这使它成为数据量或模型复杂度是一个关注点的应用的好选择。

如果你有一个表格数据的任务(如基于房间数量预测房价,或根据最后购买/账户数据计算客户购买产品的可能性),在转向使用Keras或PyTorch的神经网络之前,你应该始终首先尝试XGBoost。

ELI5---模型更具有解释性和透明性

在你训练了你的模型之后,你可以部署它并使用它。但此时,模型更像是一个"黑盒子"------你输入数据,你得到输出结果。它是如何工作的?没人知道。数字从这里进去,从那里出来,最后你得到了一个答案。

那么,如果你的客户/老板问你的模型是如何得出某个特定答案的呢?同样,你不知道。或者你可能想知道在训练过程中哪些参数最重要,以及哪些只是增加了噪声?

所有这些问题都可以通过ELI5来回答。这个库将帮助你使你的模型变得透明、可解释且更易于理解。但你可能会获得更多关于模型的信息,还有数据、训练过程、权重分布和输入参数。除此之外,你可以"调试"你的模型,获得更多关于哪种架构可能更有效,以及当前模型存在什么问题的见解。

ELI5已经支持了像Scikit-Learn、Keras、XGBoost等许多其他库。你可以针对图像、文本和表格数据的分类调试你的模型。

开源库:https://github.com/TeamHG-Memex/eli5

相关推荐
数据智能老司机5 小时前
精通 Python 设计模式——分布式系统模式
python·设计模式·架构
数据智能老司机6 小时前
精通 Python 设计模式——并发与异步模式
python·设计模式·编程语言
数据智能老司机6 小时前
精通 Python 设计模式——测试模式
python·设计模式·架构
数据智能老司机6 小时前
精通 Python 设计模式——性能模式
python·设计模式·架构
c8i7 小时前
drf初步梳理
python·django
每日AI新事件7 小时前
python的异步函数
python
这里有鱼汤8 小时前
miniQMT下载历史行情数据太慢怎么办?一招提速10倍!
前端·python
databook17 小时前
Manim实现脉冲闪烁特效
后端·python·动效
程序设计实验室17 小时前
2025年了,在 Django 之外,Python Web 框架还能怎么选?
python
倔强青铜三19 小时前
苦练Python第46天:文件写入与上下文管理器
人工智能·python·面试