实现AI的自动化:Oracle数据科学云服务

全文共1571字,预计学习时长7分钟

图源:unsplash

最近Oracle在云服务中添加了一项新服务:数据科学。该服务作为一个预安装了许多库的平台提供给用户。这个平台提供许多功能,例如原型开发,项目开发,模型管理以及生成生产模型,还增加了许多新功能。其中最有趣和实用的功能就是自动机器学习功能。

自动机器学习功能旨在实现开发机器学习/人工智能/数据科学项目过程中重要步骤的自动化。下图是机器学习/人工智能/数据科学项目开发步骤的可视化操作。

我们使用自动机器学习功能可以自动执行算法选择,特征选择,确定超参数算法。从而减少开发人员在这些部分上花费的时间。此外,自动机器学习基础架构还可以尽可能地帮助非专家级别的开发人员开发这些步骤。

扫描二维码关注公众号,回复: 11167802 查看本文章

图片引用

自动机器学习功能是由三个不同的模块组成的。

自动特征选择:

模型(算法)选择:

超参数优化:

除了实现自定义工作流程自动化外,自动机器学习基础架构还可以提高被生成模型的质量和性能,并且工作流程中所有步骤的运行和评估都是同时进行的。

处理分类和回归问题时,能成功实践自动机器学习基础架构。

以下示例是应用程序的基础架构,工作方式以及生成结果的过程。

首先,现在只能使用Oracle数据科学云服务的云基础架构,使用此基础架构,需要导入ADS(数据科学加速)包。该软件包只安装在OCI数据服务内部,没有在外部安装。ADS是Oracle云服务提供的软件包,其中还包括解决人工智能/机器学习/数据科学工作中产生的所有负载需求的方法。

图源:unsplash

笔者将以一个数据集作为示例。它是Sklearn中的鸢尾属植物数据集,首先,导入必要的数据库并加载该数据集。

from sklearn import datasets
import numpy as np
from ads.automl.driver import AutoML
from ads.automl.provider import OracleAutoMLProvider
from ads.dataset.factory import DatasetFactory
iris = datasets.load_iris()
df = pd.DataFrame(data= np.c_[iris['data'],iris['target']],columns= iris['feature_names'] + ['target'])

使用自动机器学习功能需要将pandas数据框转换为ADS数据框。整个过程非常快捷。

1
ml_engine = OracleAutoMLProvider()
train = DatasetFactory.open(df).set_target('target')

将数据框架转换为ADS数据框架后。接下来发送获得的数据集至自动机器学习方法。自动机器学习大致等待着我们的算法列表。该算法列表可以被视作以下列表中编写的算法的组合。

· AdaBoost分类器

· DecisionTree分类器

· ExtraTrees分类器

· KNeighbors分类器

· LGBM分类器

· 线性分类支持向量机

· 逻辑回归

· RandomForest分类器

· 支持向量机

· XGB分类器

automl= AutoML(training_data=train,provider=ml_engine)
model,baseline = automl.train(model_list=[
    'LogisticRegression',
    'XGBClassifier',
    'SVC'], time_budget=600)

在自动机器学习功能中确定的另一个参数是time_budget参数。此变量用于设定自动机器学习方法运行时间的上限。在上面的示例中,我们看到的是将600秒(10分钟)作为时间限制。该方法一般在600秒(10分钟)内将结果返回给我们。

图源:unsplash

切记!可以通过延长time_budget变量来尝试不同的组合。除了time_budget变量外,还可以在自动机器学习方法中给定min_features参数。有了此参数,就可以确定在要生成的模型中使用特征数量的最小值。此参数可以是数字int或float变量,也可以是要列出的属性名称列表。

看一下从自动机器学习功能返回的结果。

训练完成(4.11秒)

正如上图所示,最佳算法SVC(支持向量分类器),最佳功能集[sepal_length_(cm),sepal_width_(cm),petal_length_(cm),petal_width_(cm)]和最佳超参数('C'):1.0,“ gamma”:0.25,“ class_weight”:None}。可以看到,所获得的最佳模型的准确度为96.67%。

在人为指定的时间限制内,自动机器学习功能可以尝试更多组合。它可以在同一输出中显示其中的详细信息。

通过自动机器学习模型输出的结果也可以单独访问。

model.selected_model_params_
model.ranked_models_
automl.visualize_algorithm_selection_trials()

不论是对于非专家级还是专家,自动机器学习基础架构都是非常有用的基准机制。

留言 点赞 关注

我们一起分享AI学习与发展的干货
欢迎关注全平台AI垂类自媒体 “读芯术”

(添加小编微信:dxsxbb,加入读者圈,一起讨论最新鲜的人工智能科技哦~)

原创文章 1077 获赞 3061 访问量 72万+

猜你喜欢

转载自blog.csdn.net/duxinshuxiaobian/article/details/105750381