评论
作者:迪伦·谢里,EvalML 团队负责人
Alteryx 托管两个开源建模项目。
Featuretools 是一个执行自动特征工程的框架。它擅长将时间序列和关系数据集转换为机器学习的特征矩阵。
Compose 是一个用于自动化预测工程的工具。它允许你结构化预测问题并生成监督学习的标签。
我们看到 Featuretools 和 Compose 使用户能够轻松将多个表组合成转换和汇总的特征用于机器学习,并定义时间序列的监督学习用例。
我们接着问的问题是:接下来会发生什么?Featuretools 和 Compose 的用户如何以简单且灵活的方式构建机器学习模型?
我们很高兴宣布一个新的开源项目加入了 Alteryx 开源生态系统。EvalML 是一个用于自动化机器学习(AutoML)和模型理解的库,使用 Python 编写。
import evalml
# obtain features, a target and a problem type for that target
X, y = evalml.demos.load_breast_cancer()
problem_type = 'binary'
X_train, X_test, y_train, y_test = evalml.preprocessing.split_data(
X, y, problem_type=problem_type, test_size=.2)
# perform a search across multiple pipelines and hyperparameters
automl = AutoMLSearch(X=x, y=y, problem_type=problem_type)
automl.search()
# the best pipeline is already refitted on the entire training data
best_pipeline = automl.best_pipeline
best_pipeline.predict(X_test)
EvalML 的 AutoML 搜索实操
EvalML 提供了一个简单、统一的界面,用于构建机器学习模型,使用这些模型生成洞察并进行准确预测。EvalML 提供了一个统一 API 访问多个建模库。EvalML 支持各种监督学习问题类型,包括回归、二分类和多分类。自定义目标函数让用户能够直接按他们重视的标准来搜索模型。最重要的是,我们的目标是使 EvalML 稳定且高效,每个版本都有机器学习性能测试。
1. 简单统一的建模 API
EvalML 减少了获得准确模型所需的工作量,从而节省时间和复杂性。
EvalML 由 AutoML 生成的管道包括开箱即用的预处理和特征工程步骤。一旦用户确定了他们希望建模的数据的目标列,EvalML 的 AutoML 将运行搜索算法来训练和评分一组模型,使用户能够从中选择一个或多个模型,并使用这些模型进行洞察驱动的分析或生成预测。
EvalML 设计时考虑了与 Featuretools 的良好兼容性,Featuretools 能够集成来自多个表的数据并生成特征,从而提升 ML 模型的性能,还兼容 Compose,这是一个用于标签工程和时间序列聚合的工具。EvalML 用户可以轻松控制 EvalML 如何处理每个输入的特征,如数值特征、分类特征、文本、日期时间等。
你可以将 Compose 和 Featuretools 与 EvalML 一起使用来构建机器学习模型。
EvalML 模型通过管道数据结构表示,管道由组件图组成。AutoML 对数据应用的每个操作都记录在管道中。这使得从选择模型到部署模型变得简单。同时,定义自定义组件、管道和目标在 EvalML 中也很容易,无论是用于 AutoML 还是作为独立元素。
2. 特定领域的目标函数
EvalML 支持定义自定义目标函数,可以根据你的数据和领域进行调整。这使你能够明确模型在你的领域中有价值的标准,然后使用 AutoML 找到提供这些价值的模型。
自定义目标用于在 AutoML 排行榜上对模型进行排名,帮助引导 AutoML 搜索出影响最大的模型。自定义目标还将被 AutoML 用于调整二分类模型的分类阈值。
EvalML 文档提供了 自定义目标示例 及其有效使用方法。
3. 模型理解
EvalML 提供了多种模型和工具用于模型理解。目前支持的功能包括特征重要性和置换重要性、部分依赖、精确率-召回率、混淆矩阵、ROC 曲线、预测解释和二分类器阈值优化。
来自 EvalML 文档 的部分依赖示例
4. 数据检查
EvalML 的数据检查可以在建模之前捕捉到数据中的常见问题,防止它们导致模型质量问题或神秘的错误和堆栈跟踪。当前的数据检查包括检测 目标泄漏 的简单方法,其中模型在训练期间获得了在预测时不可用的信息,检测无效数据类型、高类别不平衡、高空值列、常量列以及可能是 ID 且对建模无用的列。
你可以通过访问 我们的文档页面来开始使用 EvalML,我们提供了 安装说明以及 教程,这些教程展示了如何使用 EvalML 的示例,还有 用户指南介绍 EvalML 的组件和核心概念, API 参考等。EvalML 代码库位于 github.com/alteryx/evalml
。如需与团队联系,请查看我们的 开源 Slack。我们正在积极维护代码库,并会对你提交的问题作出回应。
EvalML 有一个活跃的功能发展路线图,包括时间序列建模、AutoML 期间管道的并行评估、AutoML 算法的升级、新的模型类型和预处理步骤、模型调试和模型部署工具、异常检测支持等等。
想了解更多?如果你有兴趣在项目继续更新时获得通知,请花点时间关注这个博客,给 我们的 GitHub 仓库点个星,敬请期待更多即将发布的功能和内容!
个人简介: Dylan Sherry 是一名软件工程师,领导团队开发 EvalML AutoML 包。Dylan 在自动建模技术方面拥有十年的经验。
原文。经允许转载。
相关内容:
-
Uber 开源 Ludwig 的第三个版本,它是一个无代码机器学习平台
-
高级超参数优化/调整算法
-
使用 PyCaret 2.0 构建你自己的 AutoML
1. Google 网络安全证书 - 快速开启网络安全职业生涯。
2. Google 数据分析专业证书 - 提升你的数据分析技能
3. Google IT 支持专业证书 - 支持你的组织进行 IT 维护