----------一个小的游戏体验,对于不太熟悉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. 求第i个小的元素 时间复杂度O(n)

    #include<iostream> //求第i个小的元素 时间复杂度O(n) #include<cstdlib> #include<ctime> using na ...

  2. Lua学习笔记9:多文件

    一 终端中运行多个文件:-l 增加在文件一中定义了一个变量,在还有一文件里输出这个变量.代码例如以下: --file1.lua num = 100 --file2.lua print(num) 终端输 ...

  3. 设备管理 USB ID

    发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintain ...

  4. 基于Servlet、JSP、JDBC、MySQL的一个简单的用户注冊模块(附完整源代码)

    近期看老罗视频,做了一个简单的用户注冊系统.用户通过网页(JSP)输入用户名.真名和password,Servlet接收后通过JDBC将信息保存到MySQL中.尽管是个简单的不能再简单的东西,但麻雀虽 ...

  5. Accord.Net中决策树

    Accord.Net中决策树 决策树介绍 决策树是一类机器学习算法,可以实现对数据集的分类.预测等.具体请阅读我另一篇博客(http://www.cnblogs.com/twocold/p/54245 ...

  6. char数组和String互转

    char ch[100];string str; 把char*(c类型的string)数组转换为string:str = ch; //即可str.assign(ch); //也可 把string类型转 ...

  7. ACdream 1114(莫比乌斯反演)

    传送门:Number theory 题意:给n个数,n 和 每个数的范围都是 1---222222,求n个数中互质的对数. 分析:处理出每个数倍数的个数cnt[i],然后进行莫比乌斯反演,只不过这里的 ...

  8. 【Ruby】Ruby的model学习——Active Record Associations

    在阅读的过程中有不论什么问题,欢迎一起交流 邮箱:1494713801@qq.com    QQ:1494713801 一.怎样定义关联 两个model之间经常会存在关联关系,为了解决这些关联引起的复 ...

  9. ServicePrvider实现揭秘

    ServicePrvider实现揭秘 到目前为止,我们定义的ServiceProvider已经实现了基本的服务提供和回收功能,但是依然漏掉了一些必需的细节特性.这些特性包括如何针对IServicePr ...

  10. PPP协议总结

    PPP协议总结 PPP协议是一种在点到点链路上传输.封装网络数据包的数据链路层协议,PPP支持同步/异步方式的链路上. 一. PPP支持的链路类型 1. 同步和异步专线 2. 同步拨号链路. 3. 异 ...