【阿里云MVP月度分享】基于PAI平台和Pokemon数据集判断精灵是否为极品精灵
2017-12-26 14:47
381 查看
原文链接:点击打开链接
摘要: Pokemon《精灵宝可梦》,也叫《口袋妖怪》、《宠物小精灵》、《神奇宝贝》,是世界上第二热销的系列电子游戏,仅次于任天堂的超级马里奥系列。本文采用kaggle上Pokemon数据集,基于阿里云PAI平台进行实验,利用数据集中提供的精灵能力值来判断精灵是否为极品精灵。
一、背景
Pokemon《精灵宝可梦》,也叫《口袋妖怪》、《宠物小精灵》、《神奇宝贝》,是由Game
Freak和Creatures株式会社开发,任天堂发行的系列游戏。精灵宝可梦系列是世界上第二热销的系列电子游戏,仅次于任天堂的超级马里奥系列。
本文采用kaggle上Pokemon数据集,基于阿里云PAI平台进行实验,利用数据集中提供的精灵能力值来判断精灵是否为极品精灵。
数据集包含No, Name, Type1, Type2, HP, Attack, Defense, Sp. Atk, Sp. Def, Speed, Generation, Legendary等信息。
二、数据集介绍
本数据集包含800个精灵的相关参数,每个参数字段含义如下:
三、实验过程
首先https://www.aliyun.com/?spm=a2c1h.8280630.0.0.3569458dQ5hXYc进入阿里云,选择右上角的控制台进入
从左侧栏中选择DataWorks,进入工作区
新建脚本文件,并导入数据。
执行完成后,点击右上角的“机器学习平台”
数据的具体结构如下:
首先,这个场景是希望利用精灵能力值来判断精灵是否为极品精灵。将legendary作为目标列时,因其取值为1或0两种,故此场景为一个二分类的监督学习。因数据质量很好,而不需要进行其他额外的处理。
实验流程如下,
(1)数据预处理:数据与处理主要通过"类型转换组件“将特征由bigint转化为double类型,以及用“归一化组件”对数据进行去量纲处理,把全部数值都归一化到0和1之间。
(2)模型训练:首先对数据集进行拆分,拆分比例为0.7,拆分原则按照随机采样的算法实现,70%的数据用来训练模型,30%的数据用来预测。
在模型选择的时候,为了对比不同模型之间的效果,故模型选取了PAI平台自带的四种模型:GBDT、PS-SMART、线性SVM和逻辑回归。
特征使用的是hp、attack、defense、atk、def、speed和generation,目标向量为legendary。
(3)预测。直接采用PAI平台自身的“预测组件”对数据进行预测。
(4)模型评估。因为本场景为二分类监督学习,故采用“二分类评估组件”对结果进行评估。
这个实验流程如下图所示:
四、实验结果
五、总结
目前仅为数据的初步实验,因精灵的属性相值等特征之间的关系处理比较复杂,故会在后期慢慢进行更为细致的分析。
因为最近看到大家都开始对吃鸡游戏进行数据分析,便引发了自己对比较喜欢的游戏进行分析的想法。刚好看到Kaggle上有pokemon的数据集,便拿来一试。
我们目前更多看到的是人工智能在娱乐、电商、工业等大的行业带来的变革,其实,人工智能就在我们的身边,只要有数据,就可以利用阿里云机器学习PAI平台,随时随地进行数据分析。比如Pokemon、LOL、王者、吃鸡等游戏,比如基金、股票等理财方式,再比如图像识别、推荐系统等等。
大数据时代,数据无处不在,算法平台信手拈来,只要你想得到,都可以拿来分析,让工作更轻松,让生活充满乐趣。
摘要: Pokemon《精灵宝可梦》,也叫《口袋妖怪》、《宠物小精灵》、《神奇宝贝》,是世界上第二热销的系列电子游戏,仅次于任天堂的超级马里奥系列。本文采用kaggle上Pokemon数据集,基于阿里云PAI平台进行实验,利用数据集中提供的精灵能力值来判断精灵是否为极品精灵。
一、背景
Pokemon《精灵宝可梦》,也叫《口袋妖怪》、《宠物小精灵》、《神奇宝贝》,是由Game
Freak和Creatures株式会社开发,任天堂发行的系列游戏。精灵宝可梦系列是世界上第二热销的系列电子游戏,仅次于任天堂的超级马里奥系列。
本文采用kaggle上Pokemon数据集,基于阿里云PAI平台进行实验,利用数据集中提供的精灵能力值来判断精灵是否为极品精灵。
数据集包含No, Name, Type1, Type2, HP, Attack, Defense, Sp. Atk, Sp. Def, Speed, Generation, Legendary等信息。
二、数据集介绍
本数据集包含800个精灵的相关参数,每个参数字段含义如下:
字段 | 含义 | 类型 |
no | 编号 | bigint |
name | 名称 | string |
type1 | 属性 | string |
type2 | 属性 | string |
hp | bigint | |
attack | 攻击 | bigint |
defense | 防御 | bigint |
atk | 特攻 | bigint |
def | 特防 | bigint |
speed | 速度 | bigint |
generation | 第几代 | bigint |
legendary | 是否为极品 | bigint |
首先https://www.aliyun.com/?spm=a2c1h.8280630.0.0.3569458dQ5hXYc进入阿里云,选择右上角的控制台进入
从左侧栏中选择DataWorks,进入工作区
新建脚本文件,并导入数据。
drop table if exists pokemon_data; create table pokemon_data( no bigint, name string, type1 string, type2 string, hp bigint, attack bigint, defense bigint, atk bigint, def bigint, speed bigint, generation bigint, legendary bigint )
执行完成后,点击右上角的“机器学习平台”
数据的具体结构如下:
首先,这个场景是希望利用精灵能力值来判断精灵是否为极品精灵。将legendary作为目标列时,因其取值为1或0两种,故此场景为一个二分类的监督学习。因数据质量很好,而不需要进行其他额外的处理。
实验流程如下,
(1)数据预处理:数据与处理主要通过"类型转换组件“将特征由bigint转化为double类型,以及用“归一化组件”对数据进行去量纲处理,把全部数值都归一化到0和1之间。
(2)模型训练:首先对数据集进行拆分,拆分比例为0.7,拆分原则按照随机采样的算法实现,70%的数据用来训练模型,30%的数据用来预测。
在模型选择的时候,为了对比不同模型之间的效果,故模型选取了PAI平台自带的四种模型:GBDT、PS-SMART、线性SVM和逻辑回归。
特征使用的是hp、attack、defense、atk、def、speed和generation,目标向量为legendary。
(3)预测。直接采用PAI平台自身的“预测组件”对数据进行预测。
(4)模型评估。因为本场景为二分类监督学习,故采用“二分类评估组件”对结果进行评估。
这个实验流程如下图所示:
四、实验结果
GBDT | PS-SMART | 线性SVM | 逻辑回归 | |
AUC | 0.5 | 0.8287 | 0.9857 | 0.9618 |
KS | 0 | 0.6549 | 0.9685 | 0.867 |
F1 Score | 0.0952 | 0.6316 | 0.85 | 0.6809 |
evaluate_tsmpl | 240 | 240 | 240 | 240 |
evaluate_psmpl | 12 | 25 | 18 | 22 |
evaluate_nsmpl | 228 | 215 | 222 | 218 |
目前仅为数据的初步实验,因精灵的属性相值等特征之间的关系处理比较复杂,故会在后期慢慢进行更为细致的分析。
因为最近看到大家都开始对吃鸡游戏进行数据分析,便引发了自己对比较喜欢的游戏进行分析的想法。刚好看到Kaggle上有pokemon的数据集,便拿来一试。
我们目前更多看到的是人工智能在娱乐、电商、工业等大的行业带来的变革,其实,人工智能就在我们的身边,只要有数据,就可以利用阿里云机器学习PAI平台,随时随地进行数据分析。比如Pokemon、LOL、王者、吃鸡等游戏,比如基金、股票等理财方式,再比如图像识别、推荐系统等等。
大数据时代,数据无处不在,算法平台信手拈来,只要你想得到,都可以拿来分析,让工作更轻松,让生活充满乐趣。
相关文章推荐
- 【阿里云MVP月度分享】如何基于MYSQL做实时计算?
- 【阿里云MVP月度分享】SaaS服务商如何通过数加平台统计业务流量
- 【阿里云MVP月度分享】SaaS服务商如何通过数加平台统计业务流量
- 【阿里云MVP月度分享】SaaS服务商如何通过数加平台统计业务流量
- 【阿里云MVP月度分享】SaaS服务商如何通过数加平台统计业务流量
- 【阿里云 MVP 月度分享】宋亚奇——应用MaxCompute实现电力设备监测数据的批量特征分析
- PHP实例分享判断客户端是否使用代理服务器及其匿名级别
- 判断用户输入的银行卡号是否正确的方法(基于Luhn算法的格式校验)
- Shell中判断字符串是否为数字的6种方法分享
- Shell中判断字符串是否为数字的6种方法分享
- android 第三方平台登录与分享(基于Share SDK)
- C#判断字符是否为汉字的三种方法分享
- php使用strtotime和date函数判断日期是否有效代码分享
- 阿里云机器学习平台——PAI平台
- AJax基于JavaScript实现注册时局部判断用户名是否已被使用
- 如何判断桌面云的显示图像错误是否是虚拟化平台导致的
- 【阿里云MVP Meetup 第四期】产业中的“图像识别”分享与探索,干货来袭!
- 【Dev Club分享】基于RxJava的一种MVP实现
- 软件测试——基于判断是否为闰年输入非法数据的改善
- 7月13日云栖精选夜读:什么才是这个时代最需要的BI人员? —— 阿里云MVP赵玮主题分享