【最佳实践】使用Spark MLlib实现鸢尾花卉分类预测
【摘要】 通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类
IRIS也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
本示例介绍如何使用Spark MLlib引擎实现鸢尾花卉分类预测的应用。鸢尾花卉分类预测样例的操作流程如下所示。
- 准备数据:下载数据集、示例代码,然后上传至OBS桶中。
- 训练模型:编写基于Spark MLlib中ALS算法的模型训练脚本,新建训练作业进行模型训练。
- 部署模型:得到训练好的模型文件后,新建预测作业将模型部署为在线预测服务。
- 预测结果:发起预测请求获取预测结果。
准备数据
ModelArts提供了用于训练的数据集和示例代码,执行如下步骤,下载数据集和示例代码,并上传至OBS中。
- 在gitee的ModelArts-Lab工程中,单击“克隆/下载”,然后单击“下载ZIP”,下载工程。
- 下载完成后,解压缩“ModelArts-Lab-master.zip”文件,然后在“\ModelArts-Lab-master\official_examples\Using_Spark_MLlib_to_Create_a_Flower_Classification_Application”目录中获取到训练数据集“iris.csv” 和示例代码“trainmodelsp.py” 。
表1 文件说明 文件名称
说明
“iris.csv”
训练数据集。数据集的详情如表2 数据源的具体字段及意义 和 表3 数据集样本数据 所示。
“trainmodelsp.py”
训练脚本。示例代码是使用ALS算法编写的训练脚本。
- 进入OBS管理控制台,新建桶和文件夹,分别用于存储训练数据集和示例代码。例如新建“test-modelarts”桶,并在此桶下新建“iris/data”和“iris/code”文件夹。
- 将步骤2中获取的文件,上传至对应OBS路径下,即“iris/data”和“iris/code”文件夹。OBS上传文件的操作指导,请参见上传文件。
训练模型
- 在ModelArts管理控制台,进入“训练管理 > 训练作业”页面,单击左上角的“创建”。
- 如图2 创建训练作业-基本信息 和图2所示,参考图中示例,填写训练作业相关参数,然后单击“下一步”。
- 在规格确认页面,确认信息无误后,单击“提交”。
- 在“训练作业”管理页面,当训练作业变为“运行成功”时,即完成了模型训练过程。如有问题,可单击作业名称,进入作业详情界面查看训练作业日志信息。
训练作业需要花费一些时间,预计十几分钟。当训练时间超过一定时间(如1个小时),请及时手动停止,释放资源。否则会导致欠费,尤其对于使用GPU训练的模型项目。
预测结果
待部署模型运行完成后,可以验证发布的预测服务是否正常。
- 在“部署上线>在线服务”页面,单击服务名称进入详情页面
- 在“预测”页签,参考图6 测试服务所示样例,输入预测代码,然后单击“预测”。在右侧“返回结果”中,查看预测结果。
预测请求示例代码如下所示。
{ "data": { "req_data": [ { "sepal-length": 5.1, "sepal-width": 3.5, "petal-length": 1.4, "petal-width": 0.2 } ] } }
- 在“调用指南”页签,可以获取调用API接口,并使用Postman工具进行测试。
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)