使用 PyCaret 和 Gradio 为您的机器学习注入超能力
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
PyCaret 是一个开源、低代码的机器学习库和端到端模型管理工具,用 Python 构建,用于自动化机器学习工作流程。它因其易用性、简单性以及快速高效地构建和部署端到端 ML 原型的能力而广受欢迎。
PyCaret 是一个替代性的低代码库,只需几行代码就可以替代数百行代码。这使得实验周期呈指数级加快和高效。
PyCaret 简单且 易于使用。在 PyCaret 中执行的所有操作都按顺序存储在 Pipeline 中,完全自动化以用于**部署**。无论是填充缺失值、独热编码、转换分类数据、特征工程,甚至是超参数调优,PyCaret 都能自动完成。
Gradio 是一个开源的 Python 库,用于围绕你的机器学习模型创建可定制的用户界面组件。Gradio 让你可以在浏览器中轻松地通过拖放图片、粘贴文本、录制语音等方式“玩转”你的模型,并查看模型的输出。
Gradio 有助于:
为你训练好的 ML Pipeline 创建快速演示
获取模型性能的实时反馈
在开发过程中交互式地调试你的模型
安装 PyCaret 非常简单,只需几分钟。我们强烈建议使用虚拟环境,以避免与其他库发生潜在冲突。
你可以通过 pip 安装 gradio。
每当你在 PyCaret 中初始化 setup 函数时,它会分析数据集并推断所有输入特征的数据类型。在这种情况下,你可以看到所有四个特征(sepal_length, sepal_width, petal_length, and petal_width)都被正确识别为 Numeric 数据类型。你可以按 Enter 键继续。
这是我们在 PyCaret 中进行任何有监督实验工作流程中推荐的第一步。此函数使用默认超参数训练模型库中所有可用的模型,并使用交叉验证评估性能指标。
此函数的输出是一个表格,显示所有模型的平均交叉验证得分。折叠数可以使用 fold 参数定义(默认值 = 10 折叠)。表格按选择的指标排序(从高到低),该指标可以使用 sort 参数定义(默认值 = ‘Accuracy’)。
setup 函数中的 n_select 参数控制训练模型的返回数量。在这种情况下,我将其设置为 15,表示返回前 15 个模型作为列表。第二行中的 pull 函数将 compare_models 的输出存储为 pd.DataFrame 。
现在建模过程已经完成,让我们使用 Gradio 创建一个简单的用户界面来与我们的模型进行交互。我将分两部分进行:首先,我将创建一个函数,该函数将使用 PyCaret 的 predict_model 功能生成并返回预测结果;其次,我将把该函数输入到 Gradio 中,并设计一个简单的输入表单以实现交互性。
代码的前两行获取输入特征并将它们转换为 pandas DataFrame。第 7 行创建 compare_models 输出中显示的唯一模型名称列表(这将在 UI 中用作下拉菜单)。第 8 行根据列表的索引值(通过 UI 传入)选择最佳模型,第 9 行使用 PyCaret 的 predict_model 功能对数据集进行评分。
下面代码的第 3 行创建一个模型名称下拉菜单,第 4-7 行分别为每个输入特征创建一个滑块,我已将默认值设置为每个特征的平均值。第 9 行初始化用户界面(在 Notebook 中以及在你的本地主机上,因此你可以在浏览器中查看它)。
你可以在此处观看这段快速视频,了解如何轻松地与你的 Pipeline 交互并查询你的模型,而无需编写数百行代码或开发完整的 Web 前端。
我希望你会喜欢 PyCaret 和 Gradio 的易用性和简洁性。只需不到 25 行代码和几分钟的实验,我就使用 PyCaret 训练和评估了多个模型,并开发了一个轻量级用户界面,以便在 Notebook 中与模型交互。
使用这个轻量级的 Python 工作流程自动化库,你可以实现的功能没有限制。如果你觉得这很有用,请不要忘记在我们的 GitHub 仓库中给我们 ⭐️。
点击下方链接查看文档和可运行示例。
本教程逐步解释了如何集成和,这两个强大的 Python 开源库,并在几分钟内为你的机器学习实验注入超能力。
本教程是一个“hello world”示例,我使用了来自 UCI 的数据集,这是一个多分类问题,目标是预测鸢尾花的类别。此示例中提供的代码可以在任何其他数据集上复现,无需进行重大修改。
要了解更多关于 PyCaret 的信息,请查看其.
要了解更多关于 Gradio 的信息,请查看其.
PyCaret 的默认安装是 pycaret 的精简版本,只安装硬性依赖项,这些依赖项.
当你安装完整版本的 pycaret 时,所有可选依赖项也都已安装。
与 PyCaret 中所有模块一样,setup 函数是在 PyCaret 中开始任何机器学习实验的第一个也是唯一必需的步骤。除了默认执行一些基本处理任务外,PyCaret 还提供了广泛的预处理功能,例如, , ,以及几个关键的数据准备步骤,例如, , 等。要了解 PyCaret 中的所有预处理功能,你可以查看此.
下周我将撰写一篇关于使用的时间序列数据无监督异常检测教程。请在, ,和上关注我,获取更多更新。
要了解更多关于 PyCaret 的信息,请在和.
加入我们的 Slack 频道。邀请链接.