• Archive by category "活动聚会"
  • (Page 3)

Blog Archives

百度轻应用hackathon比赛:猩猩理财

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/competition-hackathon-20140802/

hackathon

前言

第一次参加互联网的比赛,多了一种经历,更多地是一种思考。看到90后的同学们,朝气蓬勃,有理想、有抱负,不禁想法了当年自己也是这样。比起,年轻时的热情,现在更多是知识的积累和思考。

目录

  1. 参赛体验
  2. 参赛记录
  3. 作品展示

1. 参赛体验

参加百度轻应用hackathon比赛是偶然的,在WOT会议的嘉宾聚餐上,听到栾砚强老师介绍了几句,然后,一冲动就报名参加。

显然,我们不会打无准备的仗。在赛前的5天里,我们全面地分析了比赛,并做出商业计划,设计了功能需求,我花了3天时间完成了轻应用原型程序的开发,并好了演讲、展示、提问的各种准备工作。提前准备好,是非常明智的。到了真正比赛时,就没有特别紧张的压迫感,就像是团队几个成员聚聚会聊聊天,反而是给了其他团队各种压力。

当然,对于本次比赛我们有一个最大劣势,同时也是无缘获奖的最大原因,我们的项目主题是自定的 投资理财方向,而不是面向比赛的主题 餐饮行业方向、连锁商超服务方向、购物商户服务方向、保险、医疗服务方向、酒店、KTV等生活娱乐方向 等。

goal

所以,在了解到项目评审来自于商户,北京的商户仅包括 爱康国宾、平安车险、西单百货、王府井百货大楼、京客隆、海底捞,没有金融行业的券商或基金公司,那么这次比赛对我们来说其实就不用太关心结果了,做为磨合团队和项目预演了更为合适。

从最后获奖的组队来看,也确实都是符合主题的项目,分别是专注于在线导购、急救知识和在线医疗。当然获奖作品,对于作品本身和3分钟演示(如果有妹子介绍会额外瞩目!),也都是不错的。透过比赛,我也看到了90后的一批同学对创业的热情,对技术和创新的坚持。同学们,都是好样的!

2. 参赛记录

参赛主页:http://developer.baidu.com/marketsupport/hackathon

接下来,写个流水账,记录一下参赛的整个过程。

  • 2014-07-26,听说有一个比赛
  • 2014-07-27,提交报名表
  • 2014-07-28,团队会议,讨论参赛方案
  • 2014-07-29,项目原型设计及开发
  • 2014-07-31,团队会议,基于原型设计,明确功能。
  • 2014-08-01,完成主要功能,实现数据库连接和部署。
  • 2014-08-02,比赛开始,8点30分准时签到,比赛启动仪式。继续讨论项目细节问题,制作Logo,开机图片,解决项目BUG。原计划晚上是打算住在3W咖啡的,不过大部分工作都已经完成了,晚上19点30分,吃完晚餐就各回各家了。值得一提的是,“叫个鸭子”的考全鸭,味道真香啊!当然,晚上我还有几个小功能要实现,凌晨1点30分全部完成,上床睡觉。
  • 2014-08-03,比赛第二天,9点30分到场,吃了一个裹着大油条的煎饼(真是瓷实)。主办方又要求提交文件包括PPT(只有3分钟的演示时间,PPT应该是不会用来讲的)。然后,13点10分提交了项目。15点30分开始路演,3分钟一个队,一个接一个。全场就我们一个金融项目,3分钟光介绍金融的背景知识都不够的说。北京地区参赛一共报名54个队伍,参加路演42个队伍,我们排倒数第4个演示(位置很不利)。18点30分,全部演示完毕,评委打分。19点,公布获奖结果,比赛结束。

我们没有获奖,但对于金融如何与移动互联网结合,却我们想得更多了。如果没有这次比赛,我们真的不会考虑这到这些的。辛苦了2天,最后在中关村的蕉叶吃了顿大餐,都饿了,也忘了照相!!

比赛进行中的一些照片

team2

媒体拍的照片:

team

3. 作品展示

项目名称:猩猩理财

app1

核心功能

  • 策略:展示上线的理财策略,并对策略进行排序和推荐。
  • 组合:选择N个策略纳入到投资组合。
  • 交易:选定投资组合,通过指定的券商进行实盘交易。
  • 消息:时时交易信号提醒,新闻事件提醒。

作品截图

策略 && 组合

app2

策略详情

app3

交易 && 绑定券商

app4

消息 && 更多

app5

应用价值

通过移动端App,投资者可以方便地查看猩猩理财的策略库,根据投资者风险偏好个性化构建投资组合,跟踪投资组合业绩,连接券商交易接口进行一键化交易。

后续规划

与更多投资策略平台合作,增加策略菜单可展现的策略数目。开发更多的组合优化方案,构建投资组合推荐系统。进一步加强与券商的合作,为投资者提供包括杠杆融资、跨品种一篮子交易等服务。

应用Demo的访问地址(请使用手机访问):http://ms.qutke.com

创业的心情依然涌动,继续坚持,直到成功!

转载请注明出处:
http://blog.fens.me/competition-hackathon-20140802/

打赏作者

2014全球软件技术峰会WOT:R语言金融数据分析

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/meeting-wot-20140726/

wot-r

前言

“高端、大气、上档次” 三个词用在本次会议,再适合不过了。不仅分享嘉宾的干货十足,大会主办方的会议组织工作也是非常到位。

参加过几次的大型分享会议,这是我第一次感觉到主办方对分享嘉宾的关怀!在会议前一天,组织嘉宾的晚宴,让大家提前认识。会议的第一天晚上,又组织嘉宾与听众的见面会,不仅拉近嘉宾的距离,还近了听众的距离。在我印象里,只有国外的主办方才想到做到的事情,WOT主办方51CTO也做到了,一流的组织团队。(我绝对不是托,有什么说什么,我的博客仅代表我的个人立场!)

我非常有幸作为分享嘉宾参加2014年的WOT全球软件技术峰会,分享R语言在金融领域中的使用。

目录

  1. 我的演讲主题:R语言金融数据分析 – 二条均线打天下
  2. 会议体验和照片分享

1. 我的演讲主题:R语言金融数据分析 – 二条均线打天下

R语言金融数据分析,PPT下载,主要内容来自我的一篇博文:二条均线打天下

全场只有我一个讲R的、讲数据分析的、讲金融的、讲跨学科的,总是觉得有些“另类”。不知道,听我分享的同学,有没有达到预期呢?欢迎留言!

我给大家的建议是:“每种技术深入地做到最后,就像在象牙塔里一样,路会越来越窄,同行的人也会越来越少。如果你在BAT这样的超大型的公司,你有机会成为象牙塔里的人,但如果你不是,就不要折磨自己一定进到象牙塔里。其实,你还有其他的选择,找到自己的兴趣方向,跨学科发展的,用已有知识造就只属于自己的技术,同样可以很出色!”

2. 会议体验和照片分享

会议主页:http://wot.51cto.com/2014/index.html

按照时间顺序,简单说明一下,我的参会体验。

2.1 会议邀请

主办方在会议前1个月邀请我 作为分享嘉宾参加WOT会议,介绍R语言相关的内容,分享内容让我自由发挥。当时大部分主题都确定了,基本都是来自国内一线互联网公司的技术解决方案,再看嘉宾名单,都网上经常出现名字的技术大牛,一下子被感压力。

想了2周才确定自己的主题,让我来讲点不一样的东西吧。既然其他嘉宾讲的都是”性能、并发、存储”,那么我来讲讲”金融、算法、赚钱”。其实,选定这个演讲主题,还是有风险的,可能没有受众,造成空场的情况。(事后发现,基本满场,额外还有一些对R和金融感兴趣的同学,私下聊了聊!)

2.2 会前晚宴

主办方在会议前一天,组织嘉宾参加晚宴,让大家相互了解,在会议之前消除陌生感,我觉得这是很有必要的。让嘉宾和组织者就变成一个团队,营造更友好的气氛,让大家在舒服的环境中分享自己的主题。

WOT的创始人熊总,与嘉宾的合照。

_var_mobile_Appl(07-27-13-59-49)

之前参加的其他会议,到了时间,自己讲自己的主题,嘉宾之间近乎没有沟通,完全谁都不认识谁的样子,讲完就完了,完全没有归属感。

所以,51CTO的工作人员想到了做到了,细节决定档次。赞一个!

2.3 数据库技术与应用专场

第一天下午,我听了 “数据库技术与应用专场”,果然纯技术,干货颇多,听得都有点根不上了。

卢亿雷:Admaster高级技术总监
d_1

李志威:陌陌CTO
d_2

崔玉明:腾讯互动娱乐运营部DBA组组长
d_3

杨林:百度云系统部工程师
d_4

许飞飞(花名:顼阳):淘宝资深数据库工程师
d_5

2.4 第一天的社区之晚

富力万丽酒店四层R-LOUNGE酒吧,高档酒吧!参与的听众不多,又成变嘉宾聊天聚会聊天的好场所了。感觉大家都熟悉了!呵呵。

2.5 实时计算与数据分析专场

为了准备我的演讲内容,我听的并不全。只听了第一场Spark On YARN in Hulu 和 第五场基于Spark Graphx的高性能图计算平台,确实给力!

梁宇明:Hulu高级研发主管
d2_1

连城:Intel物联技术研究院研究员,Spark contributor
d2_2

赵修湘:EasyHadoop开源社区创始人之一
d2_3

张丹:粉丝日志博主(这个是我!)
d2_4

明风:淘宝技术部数据挖掘与计算团队负责人(最具艺术范!)
d2_5

图片来自:夏明武老师

最后,感谢51CTO工作人员的辛苦劳动,希望保持高水平会议越办越好!(可惜没有你们的照片!)

转载请注明出处:
http://blog.fens.me/meeting-wot-20140726/

打赏作者

R语言会议2014:R语言与金融大数据应用

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/meeting-r-20140525/

r-meeting

前言

R语言会议已经开完一周了,下面就是总结和吐槽的时间了。

随着R语言会议的知名度提高,场面和阵仗开始越来越大,参会人员和演讲嘉宾都比去年多了1倍,2天的会议还有3个分会场,向商业化会议发展,这是必须要肯定的!各路人马分分要求分享知识是好事,但有些嘉宾并没有精心准备,有些在内容上与本次会议也不相关,演讲质量良莠不齐。连续遇到不负责任务的演讲嘉宾,就会感觉浪费时间,会议的牌子也容易砸掉!

目录

  1. 会议现场
  2. 我的演讲主题:R语言与金融大数据应用
  3. 吐槽时间
  4. 会场照片

1. 会议现场

第七届R语言会议于2014年5月24日和25日,在中国人民大学举行,官方网站 http://china-r.org/2014/beijing/。第六届打响了R会议的知名度,得到了各方的认可,第七届的阵仗就更加豪华起来。
不仅参会人员爆棚,还出现了一票难求的情况。演讲嘉宾,也从学术界扩大到了工业界,特别是IT领域。而且还请到了R语言的领军人物 RStudio公司首席科学家 Hadley Wickham,花名“男神”(网友起的)。

主办方“统计之都”提前2个月就在网站上宣传,还单独为R语言会议申请了域名,并制作了网站,现场还有一份长达51页的小册子。看得出同学们的用心!

上午开幕式,会议主席 冷静 同学的致辞,让我震惊于大学生的气场,镇压全场,太棒了!给10个赞!

第一日最精彩的内容,Hadley Wickham,余凯,周明,王汉生,靳志辉,绝对不能错过;胡浩和光大证券,讲讲互联网和金融结合的思路;其他的赞助商就吹吹水,也没啥有用的内容了。

2. 我的主题:R语言与金融大数据应用

我是第二日量化投资场,最后一个演讲的人。我讲的主题为“R语言与金融大数据应用”,PPT下载,同时可以参考我之前的博客文章:用RHive从历史数据中提取逆回购信息

演讲主题来自于我的创业项目,把大数据的处理技术应用于金融领域。主要内容包括,基于Hadoop存储证券的日内交易数据,通过RHive连接R语言与Hive,建立相关性算法模型,在历史数据中回测,构建投资决策组合,并生成可视化结果用于展示。

考虑到投资有风险,特别是在公开场合不宜介绍风险比较大的金融产品。所以,以“逆回购”为案例设计了整套金融大数据应用系统。对于金融玩家来说,“逆回购”确实没有太多的兴趣点,不过重点在于如何运用IT的技术与金融应用相结合。如何写出能赚钱策略,还是私下聊比较稳妥。

本次会议有一个让我很兴奋的事,遇到了创业的同行,微量网。我们似乎在做同样的一件事,相似的创业故事,相似的产品定位。都是同路人,他们的产品已经上线了,而我还在路上,继续努力!坚持!

3. 吐槽时间

上面2段文字,都是非常正面地对会议的肯定,接下来就是吐槽的时间了,不吐不快啊!

吐槽一:可能是我的预期比较高,但本次会议并没有我期望的那么好。

第一日除了上文中提到嘉宾发言内容绝对高质量,从下午开始各种的无营养的发言,就让人觉得差距啊,完全在浪费听众的时间,1000多人的时间呢!

吐槽二:如果表达力有问题,作为嘉宾发言,自爆短处,何苦呢!

第二日,上午在量化投资会场,我是第三个发言,前面的2位演讲者,真是不敢恭维。

第一位,XX网,语言表达能力也太差了,话都说不利索。每句话都是2个字2个字的碰,听着着急。开始还以为是过度紧张,发言30分钟,一直都是这种状态,还要怎么解释呢? 自爆短处,何苦呢!同时,PPT也看不出是精心准备的,听了15分钟我就坐不住了,能不能直接下一个啊!

吐槽三:不懂金融和R语言又无关,怎么就当嘉宾了?

第二位,个人投资者,说自己开发了一套量化交易程序。演讲过程30分里,有25分钟讲得尽是些C语言、CPU、性能等的内容,最后5分钟说了几句用聚类分析股票的数据。这就算是量化投资了吗,太不靠谱了吧!

先不说他的计算机水平好坏,这位个人投资者,完全是不懂金融,只能说在金融领域打打酱油。如果用简单地聚类方法就能赚到钱,那么互联网的人早就去金融市场抢钱了。我相信他的模型,自己都不敢投钱玩。

另外,他提到收集了3T的交易数据,在单机上面计算,程序要优化,CPU要优化。在大数据时代,3T数据量不算什么,用分布式数据处理技术,可以简单地解决他所遇到的问题。不懂金融和R语言又无关,这样也能发言?!听了15分钟我又坐不住了,能不能直接下一个啊!

吐槽四:主办方为了扩大规模,选择嘉宾太不周全,经验不足。

我记得“统计之都”网站,在2个月以前发布R语言会议时,演讲嘉宾需要提前发PPT确认,我是4月23日报名演讲的,5月7日完成的PPT提交。那么既然主办方要求提交 “演讲PPT”,为什么不进行筛选呢? 找懂行的人,读一下PPT内容,就知道嘉宾是否用心,演讲内容是否和本次会议相关。

特别是量化投资场,前言2位嘉宾的发言,已经定下了“被吐槽的基调”,我已然躺着也中枪的感觉。同时由于我的演讲主题是“逆回购”,而前面2位演讲人的铺垫又不给力,会造成不懂金融的人以为金融就是这样的;而懂金融的人就觉得有些水….

各种因素放在一起,有些无奈。只有等到下次再好好表现,才能洗清这次的失误!

4. 会场照片

参会人员大合照

DSC_8337

主席 冷静。

lengjing

Hadley Wickham,男神。

DSC03169

会场照片,摘自统计之都, http://cos.name/2014/06/7th-china-r-beijing-summary/

######################################################
看文字不过瘾,作者视频讲解,请访问网站:http://onbook.me/video
######################################################

转载请注明出处:
http://blog.fens.me/meeting-r-20140525/

打赏作者

ChinaHadoop大会 2103: R语言为Hadoop注入统计血脉

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/hadoop-china-rhadoop-2013/

rhadoop-chinahadoop

前言

今天有幸在2013年ChinaHadoop大会发言,为R语言推广做出一点点贡献,自己感觉非常的激动。自学习R语言以来,跨学科的思维模式,每天都在扩充自己的视野!“唯有跳出IT的圈子,才能体会IT正在改变着世界”。

以计算机技术和统计为工具,再结合行业知识,必将成为未来“数据掘金”的原动力!抓住时代的机会,是80后崛起的时候了!

目录

  1. 主题内容介绍
  2. 活动照片

1. 主题内容介绍

ChinaHadoop的大会主页:http://www.chinahadoop.com/

R语言为Hadoop注入统计血脉:PPT下载

  • 1). 主题:R语言为Hadoop注入统计血脉
  • 2). RHadoop基础程序
  • 3). 分步式协同过滤ItemCF算法介绍
  • 4). ItemCF算法:R本地程序实现
  • 5). ItemCF算法:RHadoop实现
  • 6). ItemCF算法:Java Hadoop MapReduce实现
  • 7). ItemCF算法:Mahout 实现
  • 8). 推荐结果,数据可视化

1). 主题:R语言为Hadoop注入统计血脉
主要内容:R语言为Hadoop注入统计血脉

2). RHadoop基础程序

主要内容:RHadoop实践系列之二:RHadoop安装与使用

源代码


#hdfs
library(rhdfs)
hdfs.init()
hdfs.ls("/user/")
hdfs.cat("/user/hdfs/o_t_account/part-m-00000")

#rmr
library(rmr2)
small.ints <- 1:10
sapply(small.ints, function(x) x^2)

small.ints <- to.dfs(keyval(1,1:10))
from.dfs(small.ints)

output<-mapreduce(input = small.ints, map = function(k, v) cbind(v, v^2))
from.dfs(output)

#rmr-wordcount
input<-"/user/hdfs/o_t_account/"
wordcount = function(input, output = NULL, pattern = ","){
  
  wc.map = function(., lines) {
    keyval(unlist( strsplit( x = lines,split = pattern)),1)
  }
  
  wc.reduce =function(word, counts ) {
    keyval(word, sum(counts))
  }         
  
  mapreduce(input = input ,output = output, input.format = "text",
            map = wc.map, reduce = wc.reduce,combine = TRUE)
}
output<-wordcount(input)
from.dfs(output)

3). 分步式协同过滤ItemCF算法介绍
主要内容:RHadoop实践系列之三 R实现MapReduce的协同过滤算法

aglorithm_2

4). ItemCF算法:R本地程序实现

主要内容:RHadoop实践系列之三 R实现MapReduce的协同过滤算法

源代码:


library(plyr)

#读取数据集
train<-read.csv(file="small.csv",header=FALSE)
names(train)<-c("user","item","pref") 

#计算用户列表
usersUnique<-function(){
  users<-unique(train$user)
  users[order(users)]
}

#计算商品列表方法
itemsUnique<-function(){
  items<-unique(train$item)
  items[order(items)]
}

# 用户列表
users<-usersUnique() 
users

# 商品列表
items<-itemsUnique() 
items

#建立商品列表索引
index<-function(x) which(items %in% x)
data<-ddply(train,.(user,item,pref),summarize,idx=index(item)) 
data

#同现矩阵
cooccurrence<-function(data){
  n<-length(items)
  co<-matrix(rep(0,n*n),nrow=n)
  for(u in users){
    idx<-index(data$item[which(data$user==u)])
    m<-merge(idx,idx)
    for(i in 1:nrow(m)){
      co[m$x[i],m$y[i]]=co[m$x[i],m$y[i]]+1
    }
  }
  return(co)
}


#推荐算法
recommend<-function(udata=udata,co=coMatrix,num=0){
  n<-length(items)
  
  # all of pref
  pref<-rep(0,n)
  pref[udata$idx]<-udata$pref
  
  # 用户评分矩阵
  userx<-matrix(pref,nrow=n)
  
  # 同现矩阵*评分矩阵
  r<-co %*% userx
  
  # 推荐结果排序
  r[udata$idx]<-0
  idx<-order(r,decreasing=TRUE)
  topn<-data.frame(user=rep(udata$user[1],length(idx)),item=items[idx],val=r[idx])
  topn<-topn[which(topn$val>0),]
  
  # 推荐结果取前num个
  if(num>0){
    topn<-head(topn,num)
  }
  
  #返回结果
  return(topn)
}

co<-cooccurrence(data) 
co


#计算推荐结果
recommendation<-data.frame()
for(i in 1:length(users)){
  udata<-data[which(data$user==users[i]),]
  recommendation<-rbind(recommendation,recommend(udata,co,0)) 
} 

recommendation

5). ItemCF算法:RHadoop实现

主要内容:RHadoop实践系列之三 R实现MapReduce的协同过滤算法

源代码:


#加载rmr2包
library(rmr2)

#输入数据文件
train<-read.csv(file="small.csv",header=FALSE)
names(train)<-c("user","item","pref")

#把数据集存入HDFS
train.hdfs = to.dfs(keyval(train$user,train))
from.dfs(train.hdfs)

#STEP 1, 建立物品的同现矩阵
# 1) 按用户分组,得到所有物品出现的组合列表。
train.mr<-mapreduce(
  train.hdfs, 
  map = function(k, v) {
    keyval(k,v$item)
  }
  ,reduce=function(k,v){
    m<-merge(v,v)
    keyval(m$x,m$y)
  }
)
from.dfs(train.mr)

# 2) 对物品组合列表进行计数,建立物品的同现矩阵
step2.mr<-mapreduce(
  train.mr,
  map = function(k, v) {
    d<-data.frame(k,v)
    d2<-ddply(d,.(k,v),count)
    
    key<-d2$k
    val<-d2
    keyval(key,val)
  }
)
from.dfs(step2.mr)

# 2. 建立用户对物品的评分矩阵
train2.mr<-mapreduce(
  train.hdfs, 
  map = function(k, v) {
    df<-v
    key<-df$item
    val<-data.frame(item=df$item,user=df$user,pref=df$pref)
    keyval(key,val)
  }
)
from.dfs(train2.mr)

#3. 合并同现矩阵 和 评分矩阵
eq.hdfs<-equijoin(
  left.input=step2.mr, 
  right.input=train2.mr,
  map.left=function(k,v){
    keyval(k,v)
  },
  map.right=function(k,v){
    keyval(k,v)
  },
  outer = c("left")
)
from.dfs(eq.hdfs)


#4. 计算推荐结果列表
cal.mr<-mapreduce(
  input=eq.hdfs,
  map=function(k,v){
    val<-v
    na<-is.na(v$user.r)
    if(length(which(na))>0) val<-v[-which(is.na(v$user.r)),]
    keyval(val$k.l,val)
  }
  ,reduce=function(k,v){
    val<-ddply(v,.(k.l,v.l,user.r),summarize,v=freq.l*pref.r)
    keyval(val$k.l,val)
  }
)
from.dfs(cal.mr)


#5. 按输入格式得到推荐评分列表
result.mr<-mapreduce(
  input=cal.mr,
  map=function(k,v){
    keyval(v$user.r,v)
  }
  ,reduce=function(k,v){
    val<-ddply(v,.(user.r,v.l),summarize,v=sum(v))
    val2<-val[order(val$v,decreasing=TRUE),]
    names(val2)<-c("user","item","pref")
    keyval(val2$user,val2)
  }
)
from.dfs(result.mr)

6). ItemCF算法:Java Hadoop MapReduce实现

主要内容:用Hadoop构建电影推荐系统

源代码:https://github.com/bsspirit/maven_hadoop_template/releases/tag/recommend

7). ItemCF算法:Mahout 实现

主要内容:Mahout分步式程序开发 基于物品的协同过滤ItemCF

源代码: https://github.com/bsspirit/maven_mahout_template/tree/mahout-0.8

8). 推荐结果,数据可视化

数据集:small.csv


1,101,5.0
1,102,3.0
1,103,2.5
2,101,2.0
2,102,2.5
2,103,5.0
2,104,2.0
3,101,2.0
3,104,4.0
3,105,4.5
3,107,5.0
4,101,5.0
4,103,3.0
4,104,4.5
4,106,4.0
5,101,4.0
5,102,3.0
5,103,2.0
5,104,4.0
5,105,3.5
5,106,4.0

结果集: result.csv


1,104,33.5
1,106,18
1,105,15.5
1,107,5
2,106,20.5
2,105,15.5
2,107,4
3,103,24.5
3,102,18.5
3,106,16.5
4,102,37
4,105,26
4,107,9.5
5,107,11.5

R语言Socail Graph可视化


library(igraph)

train<-read.csv(file="small.csv",header=FALSE)

drawGraph<-function(data){
  names(data)<-c("from","to","f") 
  g <- graph.data.frame(data, directed=TRUE)
  V(g)$label <- V(g)$name
  V(g)$size <- 25
  V(g)$color <- c(rep("green",5),rep("red",7))
  V(g)$shape <- c(rep("rectangle",5),rep("circle",7))
  E(g)$color <- grey(0.5)
  E(g)$weight<-data$f
  E(g)$width<-scale(E(g)$weight,scale=TRUE)+2
  g2 <- simplify(g)
  plot(g2,edge.label=E(g)$weight,edge.width=E(g)$width,layout=layout.circle)
}

#small
drawGraph(train)

src_graph


#recommandation
recommendation<-read.csv(file="result.csv",header=FALSE)
drawGraph(recommendation)

recommand_graph

2. 活动照片

chinahadoop-1

chinahadoop-2

chinaHadoop2013

转载请注明出处:
http://blog.fens.me/hadoop-china-rhadoop-2013/

打赏作者

COS沙龙第九期:RHadoop分享会来袭 圆满成功

跨界知识聚会系列文章,“知识是用来分享和传承的”,各种会议、论坛、沙龙都是分享知识的绝佳场所。我也有幸作为演讲嘉宾参加了一些国内的大型会议,向大家展示我所做的一些成果。从听众到演讲感觉是不一样的,把知识分享出来,你才能收获更多。

关于作者

  • 张丹(Conan), 程序员Java,R,PHP,Javascript
  • weibo:@Conan_Z
  • blog: http://blog.fens.me
  • email: bsspirit@gmail.com

转载请注明出处:
http://blog.fens.me/cos-beijing-meeting-20130623/

cos-rhadoop

RHadoop分享会来袭!嘉宾现场指导操作、安装。

Hadoop主要用来存储海量数据,R语言完成MapReduce 算法,用来替代Java的MapReduce实现。有了RHadoop可以让广大的R语言爱好者,有更强大的工具处理大数据1G, 10G, 100G, TB, PB。 由于大数据所带来的单机性能问题,可能会一去不复返了。

沙龙嘉宾:张丹

PPT下载:RHadoop实践

沙龙照片:

photo-cos1-small

rhadoop-cos4

沙龙视频:

视频属性:

  • 讲师:张丹
  • 发布日期:2013-06-22
  • 片长:94分钟
  • 难度:中级

购买视频  5分钟试看

沙龙时间:

6月23日 (周日) 15:00-17:00

沙龙地点(具体地点短信或邮件通知):
中国人民大学

沙龙流程:
1. 自我介绍(30分钟):每位来宾1-3分钟自我介绍:个人背景、对本期主题的心得感悟、以及任何想要与大家分享内容(自我介绍是大家相互认识的第一步,请提前准备)
2. 嘉宾分享(60-90分钟):嘉宾围绕沙龙主题分享经验,解答互动,引导讨论
3. 晚宴畅聊 (不限时,自愿参加):沙龙参与者深度交流、结识各界好友

本次沙龙提醒:
1、建议预先阅读张丹嘉宾的《RHadoop实践系列》,可以先尝试下搭环境,如果有问题,可现场咨询嘉宾。

沙龙费用:
沙龙:免费。
晚餐:AA制,预计人均50元

沙龙人数:
25人

沙龙报名:
1. 请点击本页上方“报名”,填写并提交报名表格
2. 报名截止时间:6月21日 17:00
3. 我们会根据报名者职业相关程度和行业相关经验确定来宾名单。并通过短信进行确认。
4. 报名请准时参加,因会按报名人数预留座位及订餐;
如有事,请于活动开始前至少5小时提前说明

问题咨询:
salon@cos.name

######################################################
看文字不过瘾,作者视频讲解,请访问网站:http://onbook.me/video
######################################################

转载请注明出处:
http://blog.fens.me/cos-beijing-meeting-20130623/

打赏作者