阿里的大数据赛题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容 #Wrapper { background-color: #e2e2e2; background-image: url("/static/img/shadow_light.png"), url("//cdn.v2ex.com/assets/bgs/circuit.png"); background-repeat: repeat-x, repeat-x; } #Wrapper.Night { background-color: #1f2e3d; background-image: url("/static/img/shadow.png"), url("//cdn.v2ex.com/assets/bgs/circuit_night.png"); background-repeat: repeat-x, repeat-x; background-size: 20px 20px, 162.5px 162.5px; }
buptlee
V2EX    程序员

阿里的大数据赛题

  •  
  •   buptlee
    Xiaoxin2009 2014-03-19 20:52:50 +08:00 6521 次点击
    这是一个创建于 4224 天前的主题,其中的信息可能已经有所发展或是发生改变。
    阿里最近搞了个大数据竞赛,赛题在这里:
    http://102.alibaba.com/competition/addDiscovery/gameTopic.htm
    阿里提供了4个月的用户数据,格式是这样的一个EXCEL表:
    11158000 5043 0 5月9日
    11158000 5043 0 7月22日
    11158000 5043 0 7月14日
    11158000 5043 0 5月11日
    11158000 5043 1 5月5日
    第一列是用户ID,第二列是商品品牌ID,第三列是用户行为(0,1,2,3分别代表点击,购买,收藏,购物车)。需要我们预测下个月的用户购买行为,评价标准是准确率和召回率以及两者的调和平均值。
    我试了几个方案,发现直接将收藏和购物车作为用户购买行为的依据却是最好的方法,简单粗暴,难道这就是所谓的奥卡姆剃刀?不过,也有可能是我另外的方案设计得不好。
    熟悉推荐算法的同学给点建议吧,最好要简单点,实现起来比较方便,代码量在几百行级别最好,毕竟只是个竞赛呢。谢过啦。
    23 条回复    1970-01-01 08:00:00 +08:00
    casparchen
        1
    casparchen  
       2014-03-19 21:16:10 +08:00
    我觉得还是综合几种建模方式的结果比较靠谱。比如
    建模1:针对每个品牌,该品牌的不同用户点击/收藏/购买肯定是有规律的
    建模2:针对每个用户,该用户对品牌的购买情况是有规律的。
    比如以上两种建模方式,1的效果我猜是大于2的,因此可以取{建模1结果:建模2结果}={2:1}
    webjin
        2
    webjin  
       2014-03-19 21:55:36 +08:00
    http://gtms02.alicdn.com/tps/i2/T11omZFu0XXXaTF0MH-435-146.png 知道这是什么编辑器吗?那中间的->线是什么弄出来的
    yelite
        3
    yelite  
       2014-03-19 22:12:21 +08:00   1
    @webjin 那个是制表符
    编辑器目测是notepad++
    ihacku
        4
    ihacku  
       2014-03-19 22:12:42 +08:00
    @webjin 这不是notepad++么
    ljcarsenal
        5
    ljcarsenal  
       2014-03-19 22:14:33 +08:00
    @webjin notepad++吧
    vbs
        6
    vbs  
       2014-03-19 22:31:12 +08:00
    这比赛挺好的,可惜只许在校生参加/div>
    run2
        7
    run2  
       2014-03-19 22:42:56 +08:00
    只有报名了才下载的到数据么?
    ericls
        8
    ericls  
       2014-03-19 22:47:17 +08:00
    数学建模上吧
    webjin
        9
    webjin  
       2014-03-19 23:58:13 +08:00
    @yelite 哦 我也感觉是notepad++ 但是那制表符是怎么弄出来的
    yangff
        10
    yangff  
       2014-03-20 00:17:33 +08:00
    看起来像马尔科夫链……假如上个月对品牌A做了操作B导致下个月对品牌C操作D的概率啥的。。
    66beta
        11
    66beta  
       2014-03-20 10:32:11 +08:00
    @webjin 觉得是gedit
    66beta
        12
    66beta  
       2014-03-20 10:33:05 +08:00
    delo
        13
    delo  
       2014-03-20 10:36:41 +08:00
    @webjin npp里有个显示所有字符的功能
    Lucius
        14
    Lucius  
       2014-03-20 10:56:53 +08:00
    @66beta notepad++无疑 而且是默认配色
    ericls
        15
    ericls  
       2014-03-20 20:52:33 +08:00 via Android
    这就是一个不折不扣的数学建模题啊
    armysheng
        16
    armysheng  
       2014-03-20 22:36:40 +08:00
    @buptlee 直接将收藏和购物车作为用户购买行为的依据却是最好么?
    如果用前三个月做测试,后1个月做校验,按照你说的直接选有收藏和购物车我算的结果是
    predict num is 2858
    hit num is 185
    total brand is 18537
    precision is 0.0647305808258
    call rate is 0.00998003992016
    F1 is 0.0172937602244
    F1才1.7%啊?
    buptlee
        17
    buptlee  
    OP
       2014-03-21 08:53:55 +08:00
    @armysheng 要不show me your code?
    armysheng
        18
    armysheng  
       2014-03-21 15:02:32 +08:00
    @buptlee 额,上面说的好像搞错了。上午改了一下,但是如果纯按是否有收藏和购物车来判的话,F1貌似还是不高啊
    predict num is 491
    hit num is 2
    total brand is 1377
    precision is 0.0040733197556
    call rate is 0.00145243282498
    F1 is 0.00214132762313
    判断条件的代码是这样的:
    if int(op3[2])|int(op3[3]) |int(op2[2])|int(op2[3])|int(op1[2])|int(op1[3]):
    predict_temp.write(uid +"," + bid + "\n")
    armysheng
        19
    armysheng  
       2014-03-22 10:01:25 +08:00
    @buptlee 方便私底下交流么,没人可以讨论真是尴尬
    lj
        20
    lj  
       2014-03-22 13:06:39 +08:00
    @armysheng 官方论坛里还是蛮多人在讨论的,看了一圈清晰了很多。P.S. 我也觉得2、3效果有限而且毕竟数据量太小,0和1的correlation比2、3的大多了。
    heliumhgy
        21
    heliumhgy  
       2014-03-24 09:52:18 +08:00 via Android
    协同过滤算法
    heliumhgy
        22
    heliumhgy  
       2014-03-24 10:02:11 +08:00 via Android
    据说效果不好
    buptlee
        23
    buptlee  
    OP
       2014-03-25 09:46:24 +08:00
    @heliumhgy 恩,我们就用简单的打分办法,效果却还可以,F1值有接近6%吧,打算调调参数,等到season2再上算法了,。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2723 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 08:36 PVG 16:36 LAX 01:36 JFK 04:36
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86