📜  使用 H2o 的 AutoML(1)

📅  最后修改于: 2023-12-03 14:49:40.168000             🧑  作者: Mango

使用 H2O 的 AutoML

简介

H2O 是一个开源的,分布式的机器学习平台,可以被用来训练一些非常复杂的机器学习模型。H2O 也包括一个 AutoML 工具,可以自动处理一些常规的机器学习任务。

AutoML 可以自动选择数据预处理、特征工程和算法调参等机器学习过程,设计和优化复杂模型,提高模型校准能力,加速机器学习的实现过程,提高开发者和数据分析人员的生产力。

在此文中,我们将探讨如何使用 H2O 的 AutoML 来训练一个二分类问题模型。

安装 H2O

首先,需要安装 Java 和 Python,然后你可以执行下面的命令来安装 H2O。

!pip install h2o
加载数据

我们将使用 H2O 中的一个经典的数据集,可以用来预测一个人是否会违约。可以通过下面的代码来下载数据集。

import h2o

h2o.init()

url = "https://s3.amazonaws.com/h2o-public-test-data/smalldata/prostate/prostate.csv"
data = h2o.import_file(url)

这个经典的数据集包含 380 个样本和 8 个特征。

数据预处理

数据预处理是机器学习过程的重要一步。H2O 的 AutoML 工具可以自动选择和处理数据,也可以设置特定的数据预处理技术。我们可以使用下面的代码将数据集分为训练集和测试集。

train, test = data.split_frame(ratios=[.8])

注意:数据集通常应该以某种方式预处理,例如缺失值的插值、离群点的剔除或者异常值的筛选。为了简单起见,我们将不在此处展示这些步骤。

使用 AutoML

使用 H2O 的 AutoML 工具很容易。下面的代码展示了如何使用二分类问题模型(binomial)来训练一个 AutoML 模型。

from h2o.automl import H2OAutoML

automl = H2OAutoML(max_runtime_secs=30)
automl.train(y="CAPSULE", training_frame=train)

在这个例子中,我们让模型运行 30 秒钟(变量 max_runtime_secs),训练目标是 CAPSULE 这一列。

查看自动化结果

一旦训练完成,可以使用下面的代码来查看自动化结果。

print(automl.leaderboard)

这个命令会输出一个列表,包含每个已训练的模型及其性能指标。您可以使用此列表查看哪个模型效果最好。

将模型应用于新数据

模型训练完后,可以将其应用于新数据。使用下面的代码来评估训练好的模型在测试集上的性能表现:

perf = automl.leader.model_performance(test_data=test)

print(perf)

这个命令会产生一些性能指标,并显示模型在测试集上的性能表现。

保存和恢复模型

使用下面的代码可以保存模型,以便日后使用。

h2o.save_model(model=automl.leader, path="./automl_model")

使用下面的代码可以恢复模型:

loaded_model = h2o.load_model("./automl_model")
总结

使用 H2O 的 AutoML 工具可以自动处理实现机器学习的过程,提高了数据分析师和开发人员的生产力。这个工具对于初学者和专业人士都非常有用。可以使用上述步骤开始使用此工具,实现二分类问题的自动训练过程,快速找出最佳模型以及将其应用于新数据,提高机器学习的效率。