在本文中,我将讨论 AutoML,这是 Oracle 云数据科学服务附带的功能之一,我希望在认识方面,这将是一篇有用的文章。
正如我之前的文章所提到的,Oracle 最近向云服务添加了一个名为”数据科学”的新服务。此服务已作为预安装许多库的平台提供给用户。该平台包含许多功能,如原型开发、项目开发、模型管理、生产模型的生产等,包含许多新功能。毫无疑问,最有趣和有用的功能之一是自动ML功能。
AutoML 旨在自动化我们在开发机器学习/人工智能/数据科学项目时采取的重要步骤。在下图中,机器学习/人工智能/数据科学项目的开发步骤被可视化。
使用 AutoML,我们可以自动选择算法、选择功能和确定算法的超参数。因此,我们可以减少开发人员在这些部分花费的时间。此外,AutoML 基础结构还可帮助不是专家的开发人员尽可能多地开发这些步骤。
自动ML由三个不同的模块组成。
自动特征选择
超参数优化
除了自动化定义的工作流外,AutoML 基础结构还允许生产模型的质量和性能提高,并使工作流的所有步骤能够并行运行和扩展。
我们可以在分类和回归问题中成功地使用 AutoML 基础结构。
让我们看一下基础结构的工作原理,以及它是如何通过示例应用程序生成结果的。
首先,我们目前只能在Oracle 云基础架构数据科学云服务上使用此基础结构。由于要使用此基础结构,我们需要导入ADS(加速数据科学)包。此软件包安装在 OCI 数据科学服务中,没有外部安装。ADS 是 Oracle 在云服务中提供的软件包,包含的方法使我们能够实现对 AI/ML/DS 工作负载的所有要求。
我将用作示例的数据集是 Sklearn 中引入的虹膜数据集,首先,我们将导入必要的库并加载数据集。
从sk学习导入数据集
导入数字为np
从广告。自动ml。驱动程序导入自动ML
自动ml。提供商导入 Oracle 自动ML 提供程序5从广告。数据集.工厂导入数据集工厂
67虹膜数据集。load_iris()
8dfpd.数据帧(数据np。c_[光圈]"数据"光圈="目标"*,列虹膜[feature_names'= "目标"*
要使用 AutoML,我们将熊猫数据框转换为 ADS 数据帧。这个过程非常简单和快速。
Python
xxxxxxx
11ml_engine甲骨文自动ML提供商()
2火车数据集工厂.打开(df).set_target("目标")
是的,我们将数据框转换为 ADS 数据帧。现在,我们将实现将获取的数据帧发送到 AutoML 方法的过程此算法列表可用作下面列表中编写的算法的组合。
- 阿达·升拉级
- 决策树分类器
- 外树分类器
- KNeighborsClassifier
- LGBMClassifier
- 线性SVC
- 逻辑回归
- 随机林分类器
- Svc
- XGB 分类器
Python
xxxxxxx
11automl自动ML(training_data=火车,供应商=ml_engine)
23火车(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] 是的,如所示,最佳算法 SVC(支持矢量分类器)、最佳功能集 [sepal_length_ (cm)、sepal_width_ (cm)、petal_length_ (cm)、petal_width_ (cm)] 和最佳超参数 ("C"): 1.0, "伽玛": 0.25," class_weight":无]我们看到,获得的最佳模型的准确率为96.67%。
在我们给出的时间限制下,AutoML 可以再尝试两个组合。它可以在同一输出中向我们显示这些的详细信息。
通过AutoML模型输出获得的结果也可以单独访问。
Python
xxxxxxx
1模型。selected_model_params_2模型。ranked_models_
3自动ml。visualize_algorithm_selection_trials()
这种基础结构不仅对非专家用户,而且对专家用户来说,都可能是一个非常有用的基准机制。
Comments are closed.