在 KNIME 中使用 PyCaret 进行机器学习
最后更新于
这有帮助吗?
最后更新于
这有帮助吗?
PyCaret 是一个备选的低代码库,可以用少量代码替代数百行代码。这使得实验周期呈指数级地快速且高效。
PyCaret 简单易用。**PyCaret 中执行的所有操作都按顺序存储在 Pipeline 中,该 Pipeline 完全自动化,可用于 **部署。**无论是缺失值填充、独热编码、分类数据转换、特征工程,甚至是超参数调优,PyCaret 都能自动化完成。要了解更多关于 PyCaret 的信息,请观看此 1 分钟视频。
KNIME Analytics Platform 是数据科学中最受欢迎的开源平台之一,用于自动化数据科学流程。KNIME 在节点仓库中有数千个节点,你可以将节点拖放到 KNIME 工作台。相互关联的节点集合创建一个工作流,该工作流可以在本地执行,部署到 KNIME 服务器后也可以在 KNIME web 门户中执行。
安装好 KNIME Analytics Platform 和 Python 后,你需要创建一个独立的 conda 环境,我们将在其中安装 PyCaret。打开 Anaconda 提示符并运行以下命令
现在打开 KNIME Analytics Platform,然后转到 File → Install KNIME Extensions → KNIME & Extensions → 选择 KNIME Python Extension 并安装它。
安装完成后,转到 File → Preferences → KNIME → Python 并选择你的 Python 3 环境。请注意,在我的例子中,环境名称是“powerbi”。如果你按照上述命令操作,环境名称是“knimeenv”。
点击“新建 KNIME 工作流”,将打开一个空白画布。
在左侧,有一些工具你可以拖放到画布上,并通过将每个组件相互连接来执行工作流。左侧仓库中的所有操作都称为 节点。
我将创建两个独立的工作流。第一个用于模型训练和选择,第二个用于使用训练好的管道对新数据进行评分。
首先,让我们从 CSV Reader 节点读取 CSV 文件,然后是一个 **Python Script。**在 Python 脚本中执行以下代码
此脚本从 pycaret 导入回归模块,然后初始化 setup 函数,该函数自动处理 train_test_split 和所有数据准备任务,如缺失值填充、缩放、特征工程等。compare_models 使用 kfold 交叉验证训练和评估所有估计器并返回最佳模型。pull 函数将模型性能指标作为 DataFrame 调用,然后将其保存为本地驱动器上的 results.csv。最后,save_model 将整个转换管道和模型保存为 pickle 文件。
当你成功执行此工作流时,将在定义的文件夹中生成 pipeline.pkl 和 results.csv 文件。
这是 results.csv 的内容
这些是所有模型的交叉验证指标。在这种情况下,最佳模型是 Gradient Boosting Regressor。
我们现在可以使用 pipeline.pkl 在新数据集上进行评分。由于我没有一个单独的‘insurance.csv’数据集,我将从同一个文件中删除目标列,仅用于演示。
我使用了 Column Filter 节点来移除目标列,即 charges。在 Python 脚本中执行以下代码
当你成功执行此工作流时,它将生成 predictions.csv 文件。
我希望你会欣赏 PyCaret 的易用性和简洁性。在像 KNIME 这样的分析平台中使用时,它可以为你节省大量编码时间以及在生产环境中维护代码的时间。用不到 10 行代码,我已经使用 PyCaret 训练和评估了多个模型,并在 KNIME 中部署了一个机器学习管道。
使用这个轻量级的 Python 工作流自动化库,你可以实现无限可能。如果你觉得这有用,请不要忘记在我们的 GitHub 仓库中给我们点亮 ⭐️。
点击以下链接查看文档和工作示例。
是一个开源、低代码的机器学习库,也是一个用 Python 构建的端到端模型管理工具,用于自动化机器学习工作流。它的易用性、简洁性以及快速高效地构建和部署端到端机器学习管道的能力将让你惊叹。
是用于创建数据科学的开源软件。KNIME 直观、开放并不断整合新的发展,使每个人都能理解数据、设计数据科学工作流和可重用组件。
对于本教程,你需要两样东西。第一是 KNIME Analytics Platform,这是一个桌面软件,你可以从这里下载:。第二,你需要 Python。
开始使用 Python 最简单的方法是下载 Anaconda Distribution。下载请:.
对于本教程,我将使用 PyCaret 仓库中的一个回归数据集,名为“insurance”。你可以从这里下载数据:.
下周我将深入探讨 PyCaret 的更高级功能,你可以在 KNIME 中使用这些功能来增强你的机器学习工作流。如果你想自动收到通知,可以关注我的, ,以及.
要了解更多关于 PyCaret 的信息,请关注我们:和.
加入我们的 Slack 频道。邀请链接:.