from: 七月在线

电商推荐与销量预测相关案例

一、预测用户对哪个事件感兴趣(感兴趣不一定去参加)

用户历史参加事件、社交信息、浏览信息(app)、要预测的事件

recall:召回率

准确率:

协同过滤不考虑卖/买的东西是什么,只关心历史数据中哪两个用户的兴趣度一样。(1-2)

(2,3 -> 3)(视作分类模型:LR/SVM/GBDT/DNN/RF,除了预测感兴趣与不感兴趣,还想知道感兴趣的程度--概率)svm也会输出概率,但是用的不多。

二、代码

1. import pickle (py3)内存不足的时候,可以保持原来的数据结构,Load到本地,是二进制的。Load很快,如果原来是字典,load内存后仍然是字典;如果原来是数组,load内存后仍然是数组。  (py2 import cPickle)

2. 处理关联数据:只处理有共同行为的关联信息

1)计算关联用户:

历史信息:计算cosine相似度

注册时的个人信息:计算cosine相似度

相似度可使用属性:位置、时区、注册时间(可能是小伙伴邀请注册)、国家id、性别等(在数据处理时全部转换成数值)用户维度处理信息

2)用户社交关系挖掘

朋友数量,朋友中每个朋友参加活动的频次

3)构造event和event相似度数据

4)活跃度/event热度 数据

处理上述特征的时候,归一化处理

5)组合上述数据,训练

mmwrite/mmread 处理时先存到本地,然后训练时,读取到内存。可以节省内存

协同过滤:ABCD有相似度,根据BCD的喜欢的东西,对A推荐东西,并给出推荐度。

便利店销量预测

1. 希望做的事情,提前六周知道未来的销量。但是每个国家的节日不同,销量不同。

2. 修改xgboost的loss函数(因为该竞赛的loss不是常用的loss,xgboost里没有该loss)

需要知道loss的一阶导数(grad)与二阶导数(hess)

2.  除了训练时修改了xgboost的导数,还要定义对应的loss,在训练时把loss作为参数传进去。

3. 与时间有很紧密的联系:促销、药店(流感期)

4. xgboost可以显示特征重要性

5. lightgbm比xgboost快一些

6. 交叉验证训练数据

数据与特征决定上限,模型只是逼近上限

对最终结果,数据与特征更重要一些

推荐系统相关比赛-kaggle的更多相关文章

  1. 各类人工智能&大数据相关比赛

    比赛技巧:https://zhuanlan.zhihu.com/p/28084438 文章来源: https://www.imooc.com/article/72863 随着近几年人工智能和大数据的快 ...

  2. 推荐系统相关算法:SVD

    假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分).那么能预测出Zero君对M的评分吗?答案显然是能.最简单的方法就是直接将预测分 ...

  3. 推荐系统相关算法(1):SVD

    假如要预测Zero君对一部电影M的评分,而手上只有Zero君对若干部电影的评分和风炎君对若干部电影的评分(包含M的评分).那么能预测出Zero君对M的评分吗?答案显然是能.最简单的方法就是直接将预测分 ...

  4. 数据挖掘比赛----Kaggle实战

    http://www.cnblogs.com/kobedeshow/p/4118361.html

  5. 使用SVD方法实现电影推荐系统

    http://blog.csdn.net/zhaoxinfan/article/details/8821419 这学期选了一门名叫<web智能与社会计算>的课,老师最后偷懒,最后的课程pr ...

  6. 使用矩阵分解(SVD)实现推荐系统

    http://ling0322.info/2013/05/07/recommander-system.html 这个学期Web智能与社会计算的大作业就是完成一个推荐系统参加百度电影推荐算法大赛,成绩按 ...

  7. kaggle——Bag of Words Meets Bags of Popcorn(IMDB电影评论情感分类实践)

    kaggle链接:https://www.kaggle.com/c/word2vec-nlp-tutorial/overview 简介:给出 50,000 IMDB movie reviews,进行0 ...

  8. 新闻推荐系统:基于内容的推荐算法(Recommender System:Content-based Recommendation)

    https://blog.csdn.net/qq_32690999/article/details/77434381 因为开发了一个新闻推荐系统的模块,在推荐算法这一块涉及到了基于内容的推荐算法(Co ...

  9. 大数据入门第十九天——推荐系统与mahout(一)入门与概述

    一.推荐系统概述 为了解决信息过载和用户无明确需求的问题,找到用户感兴趣的物品,才有了个性化推荐系统.其实,解决信息过载的问题,代表性的解决方案是分类目录和搜索引擎,如hao123,电商首页的分类目录 ...

随机推荐

  1. Eclipse下单个文件中文乱码问题

    有时候用eclipse打开单个文件,会出现中文乱码问题. 这时可以点菜单栏 Edit -> Set Encoding,Other:UTF-8,通常可以解决问题.

  2. 异常值检测(Detecting Outliers)

    Most statistical approaches to outlier detection are based on building a probability distribution mo ...

  3. target属性打开方式

    在HTML中target目标的四个参数的用法:1.target="_self"表示:将链接的画面内容,显示在目前的视窗中.(内定值) . 即:同(自己)窗口打开,别的数据还存在,相 ...

  4. Is the Information Reliable?(差分约束系统)

    http://poj.org/problem?id=2983 题意:给出M条信息,判断这些信息的正确性.(1)V A B :表示A,B之间的距离>=1; (2)P A B X :表示A B之间的 ...

  5. phpci发送邮件

    $config['protocol']='smtp'; $config['smtp_host']='smtp.163.com';//163服务器,之前用了qq服务器死活发不出去,不知道什么原因,可以自 ...

  6. query.setFirstResult(0),query.setMaxResults(4)

    query.setFirstResult(0),query.setMaxResults(1);相当于MySQL中的limit 0, 1; String hql = "FROM Forum f ...

  7. 【洛谷3467/BZOJ1113】[POI2008]海报PLA-Postering(单调栈)

    题目: 洛谷3467 分析: (ti jie shuo)这题是个单调栈经典题. 单调栈就是栈元素递增或递减的栈,这里只考虑递增.新元素入递增栈时,先将所有比它大的元素弹出,然后让新元素入栈,这样保证栈 ...

  8. AndroidManifest.xml详解

    一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...

  9. 诡异之--map clear 之后可能导致size != 0的操作

    map<char, int>mp; charMp[; charMp['b'] ++; cout<<charMp['a']<<endl; cout<<ch ...

  10. css每次的初始化代码

    ;;} body{font-size:14px;} img{border:none;} li{list-style:none;} input,select,textarea{outline:none; ...