机器学习 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

相关推荐
hsling松子2 小时前
使用PaddleHub智能生成,献上浓情国庆福
人工智能·算法·机器学习·语言模型·paddlepaddle
belldeep2 小时前
python:reportlab 将多个图片合并成一个PDF文件
python·pdf·reportlab
正在走向自律2 小时前
机器学习框架
人工智能·机器学习
好吃番茄3 小时前
U mamba配置问题;‘KeyError: ‘file_ending‘
人工智能·机器学习
FreakStudio5 小时前
全网最适合入门的面向对象编程教程:56 Python字符串与序列化-正则表达式和re模块应用
python·单片机·嵌入式·面向对象·电子diy
slomay5 小时前
关于对比学习(简单整理
经验分享·深度学习·学习·机器学习
丶21365 小时前
【CUDA】【PyTorch】安装 PyTorch 与 CUDA 11.7 的详细步骤
人工智能·pytorch·python
_.Switch6 小时前
Python Web 应用中的 API 网关集成与优化
开发语言·前端·后端·python·架构·log4j
一个闪现必杀技6 小时前
Python入门--函数
开发语言·python·青少年编程·pycharm
AI完全体6 小时前
【AI知识点】偏差-方差权衡(Bias-Variance Tradeoff)
人工智能·深度学习·神经网络·机器学习·过拟合·模型复杂度·偏差-方差