----------一个小的游戏体验,对于不太熟悉Xlab RF和GBRT同学们都叫参考,不喜勿喷,大神绕道,米姆达。

。。

。----------

6月初的时候LR 做到4.9后一直上不去,看群里火热的讨论RF。转而使用RF,几经折腾上手后。在当时的那批对LR来说非常好的特征处理下,结果F1仅仅有3.5左右。心灰意冷。。

。然后又看到火热讨论GBRT,再转gbrt,刚上手。效果和RF差点儿相同。看到别的同学直接从LR转到RF和GBRT都效果好非常多,那个急啊。然后又是考试周。就一直拖拉到6月下旬,最终下定决心又一次做一遍。由于gbrt训练时间比較长。且RF和GBRT对特征的效果相当,RF预測时间相对较短一些,便又一次做RF。慢慢的有效果了,停止了F1最终開始往上涨:4.9->5.16->5.66...近期開始再加入特征。相信还会有提升,以下把我们的RF和GBRT的训练和预測方法大概讲一下(主要以截图为主)

1、Xlab GBRT上手



1.1、训练特征表准备

训练的特征表gbrt_offline_section_one_24格式为:user_id,brand_id,feature1,feature2...Label
     

见下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">



1.2 、建立特征稀疏表。为训练做准备

特征稀疏表可直接在Xlab由原始特征表转换得到,截图例如以下



进入普通表转稀疏矩阵界面后。在选择列里填上: user_id相应的列号(表默认从0列開始)。brand_id相应的列号,以及想要使用的众多特征相应的列号(不须要填写标签相应的列号!。!

);然后在输出表里填上转换成的稀疏矩阵gbrt_offline_section_one_24_1;例如以下图



1.3 、GBRT训练

       利用训练的特征表gbrt_offline_section_one_24,进行GBRT训练,例如以下图所以



进入配置界面。勾选训练的标签,稀疏矩阵名处输入刚才转好的稀疏矩阵gbrt_offline_section_one_24_1。模型输出表处填写模型输出表名。參数配置处依据效果进行配置(最開始默认就能够的)。例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">



配置好仅仅好就能够进行训练了,等待训练好之后等到GBRT预測模型:gbrt_offline_section_one_25;



1.4、GBRT预測特征表准备

训练的特征表gbrt_offline_section_two_11格式与训练特征表格式一样,为:user_id, brand_id, feature1, feature2...Label      见下图:

1.5、建立预測稀疏矩阵表

特征稀疏表可直接在Xlab由原始特征表转换得到,方法和原来一样。直接截图例如以下:

须要注意的是,选择列必须和训练时候一样。。。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

1.6、GBRT预測

利用转好的预測稀疏矩阵表gbrt_offline_section_two_11_1进行预測,例如以下图所看到的

进入界面例如以下:model 处填写刚才训练好的GBRT模型表:gbrt_offline_section_one_25;输出表名处填写预測结果输出表 gbrt_offline_section_two_13,然后进行预測。例如以下图所看到的:

1.7、GBRT碎碎念

GBRT预測好之后。得到的结果为与原始预測表gbrt_offline_section_two_11一一相应的单列值y_var(搞不懂为什么不提供类似RF那样预測结果追加user_id,brand_id 列),例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

所以。还得进行追加ID列,进行zxs_gbrt_offline_section_two_13_1和zxs_gbrt_offline_section_two_11_1两张表的合并,得到类似user_id,brand_id,y_val的表,取阈值进行推荐就能够了。下图为xlab里提供的脚本,追加ID列代码。





另外:附上脚本实现的代码,方便測试:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMDY5MTg5OA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

-----------__-----------PS---------__----------

版权声明:本文博客原创文章。博客,未经同意,不得转载。

阿里游戏大数据sesson2_RF&GBRT(上)的更多相关文章

  1. InfoQ —— 腾讯游戏大数据服务场景与应用

    简介 周东祥,本人从2010年毕业进入腾讯互动娱乐部门工作,一直致力在腾讯游戏运营开发工作.先后负责SAP业务受理系统,盗号自助系统,元数据系统以及近2年在腾讯游戏大数据运营开发中积累大量的大数据开发 ...

  2. 为什么Java大数据能带你走上人生巅峰

    国内大多数大型互联网公司的程序员被称作研发工程师,但实际上国内几乎没有研发项目,只能叫做开发. 开发程序员的工作大多是重复性劳动,容易产生疲惫感,薪资在工作2-5年内就达到了一个峰值,再要提升就比较困 ...

  3. 【解析 . PPT版】干货:阿里全息大数据构建与应用(包括:互联网金融、互联网+、精准营销...)

    作者:毛波,阿里巴巴资深数据专家,阿里数据管理平台(DMP)产品负责人. 摘要: 回顾传统数据仓库.商业智能到大型分布式数据平台的进化历程,深入阐述阿里的数据发展历史和数据观,以阿里DMP平台为例深入 ...

  4. DataPipeline | PayPal庞姬桦:大数据在小微企业贷款上的运用

    庞姬桦女士毕业于北京大学和美国哥伦比亚大学,目前担任PayPal公司消费者风险管理总监,负责通过大数据实现对互联网金融风险的侦测.跟踪.管控和防范.在加入PayPal之前,曾任职于渣打银行(中国)和美 ...

  5. 大数据之Kafka史上最详细原理总结

    Kafka Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实 ...

  6. 【阿里云-大数据】阿里云DataWorks学习视频汇总

    阿里云DataWorks学习视频汇总 注意:本文档中引用的视频均来自阿里云官方的帮助文档,本文档仅仅是汇总整理,方便学习. 阿里云DataWorks帮助文档链接:https://help.aliyun ...

  7. 【Cocos2d-X开发学习笔记】第29期:游戏中数据的存储(上)

    本系列学习教程使用的是cocos2d-x-2.1.4(最新版为3.0alpha0-pre) ,PC开发环境Windows7,C++开发环境VS2010 一般游戏中都需要记录玩家数据,便于玩家下次登录时 ...

  8. 【大数据系列】hadoop上传文件报错_COPYING_ could only be replicated to 0 nodes

    使用hadoop上传文件 hdfs dfs -put  XXX 17/12/08 17:00:39 WARN hdfs.DFSClient: DataStreamer Exception org.ap ...

  9. 大数据学习——服务器定期上传nginx日志到hdfs

    需求:按照所学知识完成如下: 服务器定期上传nginx日志到hdfs 提示: Hdfs的创建文件夹命令: Hadoop fs -mkdir /文件夹名称 Hdfs的上传命令: Hadoop fs -p ...

随机推荐

  1. 关于使用commons-email包测试发送邮件遇到的问题

    项目中有个需求是这样的:客户办理某一项业务,当用户成功提交业务办理信息后,系统生成一个业务随机码给用户,以此作为以后的业务办理结果查询依据.鉴于随机码较长,方便用户记录,在生成随机码的同时,提供用户发 ...

  2. <Win32_17>集音频和视频播放功能于一身的简易播放器

    前段时间,在学习中科院杨老师的教学视频时,他说了一句话: "我很反对百八十行的教学程序,要来就来一个完整的程序" 对此,我很是赞同.所谓真刀真枪的做了,你才会发现其中的奥秘——然而 ...

  3. Android开发技术周报

    Android开发技术周报 原文  http://androidweekly.cn/android-dev-weekly-issue48/ 教程 深入理解Android之Gradle Gradle是当 ...

  4. ASA基本配置

    拓扑如下: ASA5520# show running-config : Saved:ASA Version 8.0(2) !hostname ASA5520enable password 2KFQn ...

  5. hdu1824(two-sat)

    传送门:Let's go home 题意:有n个队伍要回家,但是每队必须留下一人,而且m个限制,a留下,b必须回家,问能否在限制条件下每队留下一人. 分析:将每个队的队长和两个队员当成i和i':然后对 ...

  6. 什么是Spring?Spring是什么?

    Spring概述: Spring是一个开源框架,是为了解决企业应用程序开发复杂性而开发的. 从简单性.可測试性和松耦合的角度而言,不论什么java应用都能够从Spring中受益. 简而言之,Sprin ...

  7. 如何解决This system is not registered with RHN.

    今天我必须写下这篇文章,由于在我刚刚接触到Linux下安装oracle时碰到了Linux中少xscreensaver.rpm包自己弄了非常久.最后还是被一个大哥帮我攻克了:仅仅能说非常的感谢你! 我试 ...

  8. Linq 数据操作,两个数组求差、交集、并集

    int[] a = { 1, 2, 3, 4, 5, 6, 7 }; int[] b = { 4, 5, 6, 7, 8, 9, 10 }; int[] c = { 1, 2, 3, 3, 4, 1, ...

  9. Redis集群明细文档(转)

    相信很多用过Redis的同学都知道,Redis目前版本是没有提供集群功能的,只能单打独斗.如果要实现多台Redis同时提供服务只能通过客户端自身去实现.目前根据文档已经看到Redis正在开发集群功能, ...

  10. oracle的to_char中的fm

    SQL> select '|'||to_char(5,'999')||'|' from dual;  结果为:|   5| SQL> select '|'||to_char(5,'000' ...