探索 AutoML:可用的顶级工具 [你需要知道的]
已发表: 2020-12-07机器学习生命周期是一系列过程,包括数据收集、数据清洗、特征工程、特征选择、模型构建、超参数调整、验证和模型部署。
虽然收集数据可以采用多种形式,例如手动调查、数据输入、网络抓取或实验期间生成的数据,但数据清理是将数据转换为可在生命周期的其他阶段使用的标准形式.
最近机器学习的热潮也让许多企业为其主流产品采用基于人工智能的解决方案,因此,AutoML 的新篇章已经进入市场。 它可以成为快速设置基于 AI 的解决方案的绝佳工具,但仍有一些相关因素需要解决。
目录
什么是 AutoML?
正是这套工具使机器学习的某些部分自动化,这本身就是一个生成预测和分类的自动化过程,从而产生可操作的结果。 尽管它只能自动化特征工程、模型构建,有时甚至是部署阶段,但大多数 AutoML 工具都支持多种机器学习算法和几乎同样多的评估指标。
当此类工具启动时,它会在所有算法上运行相同的数据集,测试与问题相关的各种指标,然后提供详细的报告卡。 让我们探索一些市场上可用并被广泛使用的著名工具。
H2O.ai
AutoML 的领先解决方案之一是 H2O.ai,它为从零开始编写代码的业务问题提供行业就绪的解决方案。 这允许来自任何领域的任何人从数据中提取有意义的见解,而无需具备机器学习方面的专业知识。

H2O 是一个开源软件,支持所有广泛使用的机器学习模型和统计方法。 它旨在提供超快速的解决方案,因为数据分布在集群中,然后以列格式存储在内存中,允许并行读取操作。
该项目的较新版本还具有 GPU 支持,这使其更加快速和高效。 让我们看看如何使用 Python 执行此操作(在 jupyter notebook 中运行代码以便更好地理解):
!pip install h2o # 如果你还没有安装它,运行它
进口水
h2o.init()
从 h2o.automl 导入 H2OAutoML
df = h2o.import_file() # 这里提供文件路径
y = '目标标签'
x = df.remove(y)
X_train, X_test, X_validate = df.split_frame(比率=[.7, .15])
model_obj = H2OAutoML(max_models = 10,种子 = 10,详细度 =“信息”,nfolds = 0)
model_obj.train(x = x,y = y,training_frame = X_train,validation_frame=X_validate)
结果 = model_obj.leaderboard
这将存储所有算法的结果,根据问题显示它们各自的指标。
阅读:机器学习工具
派卡瑞特
这是今年推出的一个相当新的库,只需几行代码即可支持广泛的 AutoML 功能。 无论是处理缺失值、将分类数据转换为模型可馈送格式、超参数调整,甚至是特征工程,当您可以更专注于数据操作策略时,PyCaret 都会在幕后自动化所有这些。

它更像是所有可用机器学习工具和库(如 NumPy、pandas、sklearn、XGBoost 等)的 Python 包装器。让我们了解如何使用 Pycaret 执行分类问题:
!pip install pycaret # 如果你还没有安装它,运行它
从 pycaret.datasets 导入 get_data
从 pycaret.classification 导入 *
df = get_data('糖尿病')
设置=设置(糖尿病,目标='类变量')
compare_models() # 这个函数只是简单的显示所有算法的比较!
selected_model = create_model() # 传递您要创建的算法的名称
predict_model(selected_model)
final_model = finalize_model(selected_model)
保存模型(最终模型,“文件名”)
已加载 = load_model('file_name')
就是这样,您刚刚创建了一个执行特征工程、训练模型并保存它的转换管道!
谷歌数据准备
我们已经研究了两个库,它们可以自动选择特征、模型构建并对其进行调整以获得最佳结果,但我们还没有讨论如何自动化数据清理。 这个过程可以肯定是自动化的,但它需要手动验证是否传递了正确的数据,或者这些值是否有意义。
更多数据是模型构建的一个加分点,但它应该是获得高质量结果的高质量数据。 Google DataPrep 是一种智能数据准备工具,作为平台即服务提供,它允许对数据进行可视化数据清理,这意味着您无需编写任何代码,只需选择选项即可更改数据。

它提供了一个交互式 GUI,这使得选择选项来执行您想要应用的功能变得非常容易。 这个工具最好的部分是它会按照执行顺序在侧面板中显示对数据集所做的所有更改,并且可以更改任何步骤。 它有助于跟踪更改。 系统将提示您提出建议,这些建议大多是正确的。
生成的文件可以导出到本地存储,或者由于 Google Cloud Platform 中提供了此服务,您可以直接将此文件带到任何 Google Storage 存储桶或 BigQuery 表中,您可以直接在查询编辑器中执行机器学习任务。 对此的主要挫折可能是其经常性成本,它不是一个开源项目,而是一个成熟的行业解决方案。
这可以取代数据科学家吗?
绝对不! AutoML 很棒,它可以帮助数据科学家加快特定的生命周期,但始终需要专家的建议。 例如,从运行所有算法的 AutoML 获得针对特定问题陈述的正确模型要比从专家那里获得最适合该问题的特定算法的专家要花费很多时间。
数据科学家将需要验证这些自动化类型的结果,然后为企业提供可行的解决方案。 领域专家会发现这种自动化非常有用,因为他们可能没有太多从数据中获得洞察力的经验,但这些工具将以最佳方式指导他们。
如果您想掌握机器学习并学习如何训练代理玩井字游戏、训练聊天机器人等,请查看 upGrad 的机器学习和人工智能 PG 文凭课程。
