之前接触EasyDL-零门槛AI开发平台 (baidu.com),是因为它提供了一些无需代码的深度学习应用接口。然而这些接口大多应用于图像上,用了一段时间之后就放弃了。最近随意浏览网页,发现EasyDL提供了表格数据的建模分析,非常好奇,就尝试了一下。
目前这个还是面向工业化的使用,对科研并不是特别友好。如果您做科研,下面的内容看了也不会对您有价值,不看也不会对您有损失。慎看。
1 选择表格数据预测接口
进入EasyDL界面,如下图所示,点击立即使用。
出现如下的界面,选择表格数据预测。
2 上传影像组学数据
上一步打开之后,在新的界面最左侧边栏里面选择数据总览,
点击创建数据集,
根据内容进行填写,主要是给数据集一个名称,这里我们叫做demo2,点击完成。
在新的界面,可以看到我们的数据集,然后点击红色箭头所指的导入。
在新的页面下,导入方式选择上传csv文件,然后点击上传。这里需要注意,建议把
Label
列放置在最后一列。不然在后续的模型训练中会报错, 另外数据不能超过1000列。上传完成后,点击确认并返回。数据上传完毕,这里也是建议只上传训练的数据集。3 模型训练
数据上传完成后,可以进行模型训练,从下面的界面中,选择创建模型。
在弹出的窗口,输入相关信息。
创建完成后,可以看到我们创建的模型,这时点击训练。
在新的窗口,选择数据集,选择目标列,指定二分类,然后点击开始训练。
训练完成后,我们能够获取模型的一些效能参数,可以从我的模型进去,选择完整评估结果,会的看到如下所示的结果图:
4 模型部署
很遗憾,虽然EasyDL提供了校验模型的功能,但是不能用来大批量的对验证的数据集进行验证。因此需要先对模型进行部署,才能访问。如下所示,选择模型,选择发布,即可。
5 如何调用模型
本人比较熟悉R语言,介绍一下如何从R中调用模型,并进行验证:
5.1 获取访问模型的参数
-
接口地址: 从我的模型, 找到服务详情,点击在弹出的窗口找到接口地址。
-
access_token: 从百度智能云,控制台创建应用。创建完成后,会得到一个API Key和Secret Key,通过这两个Key,可以获取部署模型的访问access_token。
采用如下的命令,用自己模型的API Key和Secret Key来替换下面的[]
。content(r)
命令,会显示access_token。
library(httr)
r <- GET("https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=[API Key]&client_secret=[Secret Key]")
content(r)
5.2 模型验证
采用如下的命令导入数据,并获取结果:
library(tidyverse)
library(jsonlite)
dt.test<- read_csv('test.csv')
dt.test<-dt.test[, -ncol(dt.test)] # 把最后一列Label删除,只保留特征
res<- POST(url = 'https://aip.baidubce.com/rpc/2.0/ai_custom/v1/table_infer/radiomics_test?access_token=[access_token]',
body = toJSON(list(include_req = F, data = dt.test[1, ])),
encode = 'raw')
content(res)$batch_result[[1]]$Label #显示预测的Label
小结
整个流程在训练和部署阶段相对简单,但是后续的的验证还是需要代码的介入,好在很多语言都提供了web api访问的接口。