学习 PYCARET 📖 博客PyCaret 2.3.6 发布了!了解新特性? PyCaret 2.3.6 发布了!了解新特性?从 EDA 到部署再到 AI 公平性 — 迄今为止 PyCaret 最重磅的版本
🚀 介绍
PyCaret 是一个开源、低代码的 Python 机器学习库,可自动化机器学习工作流程。它是一个端到端的机器学习和模型管理工具,能够极大地加速实验周期,提高你的工作效率。
迄今为止,PyCaret 2.3.6 是在新增特性和功能方面最重磅的版本。本文将演示最近发布的 PyCaret 版本中添加的新功能的使用方法。PyCaret 2.3.6 .
💻 安装
安装非常简单,只需几分钟。通过 pip 进行的 PyCaret 默认安装仅安装在requirements.txt 文件中列出的硬依赖项。
要安装完整版本
复制 pip install pycaret[full]
📈 仪表盘
此函数将为训练好的模型生成交互式仪表盘。该仪表盘是使用ExplainerDashboard .
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setupfrom pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# generate dashboard
dashboard(lr)
视频演示
📊 探索性数据分析 (EDA)
此函数将使用AutoViz 集成生成自动化 EDA。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# generate EDA
eda()
视频演示
🚊 转换模型
此函数将训练好的机器学习模型转译成不同编程语言(Python, C, Java, Go, JavaScript, Visual Basic, C#, PowerShell, R, PHP, Dart, Haskell, Ruby, F#)的原生推理脚本。如果你想将模型部署到无法安装常规 Python 环境以支持模型推理的环境中,此功能将非常有用。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# convert model
lr_java = convert_model(lr, language = 'java')
print(lr_java)
视频演示
☑️ 检查公平性
对公平性有很多概念化的方法。这个新函数遵循被称为群体公平性 的方法,该方法询问:哪些个体群体面临遭受损害的风险。此函数提供不同群体(也称为子群体)之间的公平性相关指标。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('income')
# init setup
from pycaret.classification import *
s = setup(data, target = 'income >50K', session_id = 123)
# train model
lr = create_model('lr')
# check fairness
check_fairness(lr, sensitive_features = ['race'])
视频演示
📩 创建 Web API
此函数将使用FastAPI 框架为机器学习管道创建用于推理的 POST API。它只创建 API,不会自动运行。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# create API
create_api(lr, 'my_first_api')
# Run the API
!python my_first_api.py
视频演示
🚢 创建 Docker
此函数将为你的 API 端点创建一个 Dockerfile
和 requirements
文件。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# create API
create_api(lr, 'my_first_api')
# create Docker
create_docker('my_first_api')
视频演示
💻 创建 Web 应用
此函数创建一个基本的Gradio Web 应用用于推理。之后将扩展支持其他应用类型,例如 Streamlit。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
视频演示
🎰 监控机器学习模型的漂移
predict_model
函数中添加了一个名为 drift_report
的新参数,该参数使用Evidently AI 框架生成漂移报告。目前此功能处于实验模式,仅适用于测试数据。之后将扩展用于生产环境。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# generate report
preds = predict_model(lr, drift_report = True)
视频演示
🔨 Plot Model 现在更具可配置性
plot_model
函数现在更具可配置性。例如,以前如果你想在混淆矩阵中看到百分比而不是绝对数字,或者想更改可视化图的颜色映射,是不可能的。现在,通过 plot_model
函数中的新参数 plot_kwargs
,这些都成为可能。请参阅示例
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('iris')
# init setup
from pycaret.classification import *
s = setup(data, target = 'species', session_id = 123)
# train model
lr = create_model('lr')
# plot model (without plot kwargs)
plot_model(lr, plot = 'confusion_matrix')
# plot model (with plot kwargs)
plot_model(lr, plot = 'confusion_matrix', plot_kwargs = {'percent' : True})
🏆优化阈值
这不是一个新函数,但在 2.3.6 版本中得到了彻底改造。此函数用于优化二元分类问题的概率阈值。以前你必须在此函数中将成本函数作为 true_positive
、false_positive
、true_negative
、false_negative
传入,而现在它会自动从你当前的实验运行中获取所有指标,包括自定义指标。
复制 # load dataset
from pycaret.datasets import get_data
data = get_data('blood')
# init setup
from pycaret.classification import *
s = setup(data, target = 'Class', session_id = 123)
# train model
lr = create_model('lr')
# optimize threshold
optimize_threshold(lr)
📚 新文档
最重要、最困难的部分是全新的文档。这是关于 PyCaret 所有内容的单一事实来源,包括官方教程、发行说明、API 参考以及社区贡献。观看视频导览
最后,如果你想了解 2.3.6 版本中添加的所有新功能,请观看这个 10 分钟的视频
要了解 PyCaret 2.3.6 中的所有其他更改、bug 修复和次要更新,请查看详细的发行说明 .
感谢你的阅读。
🔗 重要链接
📚官方文档 PyCaret 的宝典。所有内容都在这里。
⭐教程 刚开始使用 PyCaret?查看我们的官方 Notebook!