在本文中,我将讨论 AutoML,这是 Oracle 云数据科学服务附带的功能之一,我希望在认识方面,这将是一篇有用的文章。

Keras

正如我之前的文章所提到的,Oracle 最近向云服务添加了一个名为”数据科学”的新服务。此服务已作为预安装许多库的平台提供给用户。该平台包含许多功能,如原型开发、项目开发、模型管理、生产模型的生产等,包含许多新功能。毫无疑问,最有趣和有用的功能之一是自动ML功能。

AutoML 旨在自动化我们在开发机器学习/人工智能/数据科学项目时采取的重要步骤。在下图中,机器学习/人工智能/数据科学项目的开发步骤被可视化。

使用 AutoML,我们可以自动选择算法、选择功能和确定算法的超参数。因此,我们可以减少开发人员在这些部分花费的时间。此外,AutoML 基础结构还可帮助不是专家的开发人员尽可能多地开发这些步骤。

dataset

图像参考

自动ML由三个不同的模块组成。

自动特征选择

Automated Feature Selection

图像参考

超参数优化

Hyperparameters Optimization

图像参考

除了自动化定义的工作流外,AutoML 基础结构还允许生产模型的质量和性能提高,并使工作流的所有步骤能够并行运行和扩展。

我们可以在分类和回归问题中成功地使用 AutoML 基础结构。

让我们看一下基础结构的工作原理,以及它是如何通过示例应用程序生成结果的。

首先,我们目前只能在Oracle 云基础架构数据科学云服务上使用此基础结构。由于要使用此基础结构,我们需要导入ADS(加速数据科学)包。此软件包安装在 OCI 数据科学服务中,没有外部安装。ADS 是 Oracle 在云服务中提供的软件包,包含的方法使我们能够实现对 AI/ML/DS 工作负载的所有要求。

我将用作示例的数据集是 Sklearn 中引入的虹膜数据集,首先,我们将导入必要的库并加载数据集。

Python

 

 
1
sk学习导入数据集
2
导入数字np
3
广告自动ml驱动程序导入自动ML
4
自动ml提供商导入 Oracle 自动ML 提供程序

5
广告数据集.工厂导入数据集工厂
6

7
虹膜数据集load_iris()
8
dfpd.数据帧数据npc_[光圈]"数据"光圈="目标"*,虹膜[feature_names'= "目标"*

要使用 AutoML,我们将熊猫数据框转换为 ADS 数据帧。这个过程非常简单和快速。

Python

 

xxxxxxx
1
 
1
ml_engine甲骨文自动ML提供商()
2
火车数据集工厂.打开df).set_target"目标"

是的,我们将数据框转换为 ADS 数据帧。现在,我们将实现将获取的数据帧发送到 AutoML 方法的过程此算法列表可用作下面列表中编写的算法的组合。

  • 阿达·升拉级
  • 决策树分类器
  • 外树分类器
  • KNeighborsClassifier
  • LGBMClassifier
  • 线性SVC
  • 逻辑回归
  • 随机林分类器
  • Svc
  • XGB 分类器
Python

 

xxxxxxx
1
 
1
automl自动ML(training_data=火车供应商=ml_engine)
2

3
火车model_list|

4
"逻辑回归"
5
"XGB Classifif"
6
"SVC"time_budget=600

我们可以在 AutoML 中确定的另一个参数是time_budget参数。此变量为 AutoML 方法的运行时间设置上限。在上面的示例中,我们看到 600 秒(10 分钟)被作为时间限制。该方法将尝试在 600 秒(10 分钟)内将结果返回给我们。

应该记住,通过延长time_budget变量,可以尝试不同的组合。除了time_budget变量外,min_features参数也可以在 AutoML 方法中给出。使用此参数,可以确定要生成的模型中使用的要素数的最小值。此参数可以是数字 int 或浮动变量,也可以是要列出的属性名称的列表。

让我们来看看从自动ML返回的结果。

训练完成(610.42 秒)

训练数据集大小 (150, 4)
验证数据集大小 没有
简历 5
目标变量 目标
优化指标 recall_macro
功能的初始数量 4
所选要素数 4
所选功能 [sepal_length_厘米、sepal_width_(厘米)、petal_length_(厘米)、petal_width_(厘米)]
所选算法 Svc
端到端运行时间(秒) 610

0, "伽玛": 0.25," class_weight" : 无]

平均验证分数 0.9667 自动MLn_jobs 4 自动ML版本 0.3.1 Python 版本 3.6.9 |阿纳康达公司*(默认,2019年7月30日,19:07:31)[n]GCC 7.3.0]

training complete

是的,如所示,最佳算法 SVC(支持矢量分类器)、最佳功能集 [sepal_length_ (cm)、sepal_width_ (cm)、petal_length_ (cm)、petal_width_ (cm)] 和最佳超参数 ("C"): 1.0, "伽玛": 0.25," class_weight":无]我们看到,获得的最佳模型的准确率为96.67%。

在我们给出的时间限制下,AutoML 可以再尝试两个组合。它可以在同一输出中向我们显示这些的详细信息。

Rank based on Performance

通过AutoML模型输出获得的结果也可以单独访问。

Python

 

xxxxxxx
1
模型。selected_model_params_

2
模型ranked_models_
3
自动mlvisualize_algorithm_selection_trials()

Algorithm selection tools这种基础结构不仅对非专家用户,而且对专家用户来说,都可能是一个非常有用的基准机制。

Comments are closed.