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. Date类型转换为Integer类型

    Date类型转换为Integer类型: Integer date = Integer.valueOf(String.valueOf(new SimpleDateFormat("yyyyMMd ...

  2. Android 自己定义圆圈进度并显示百分比例控件(纯代码实现)

    首先,感谢公司能给我闲暇的时间,来稳固我的技术,让我不断的去探索研究,在此不胜感激. 先不说实现功能,上图看看效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZ ...

  3. Professional, Entreprise, Architect版本的区别

    RAD Studio,Delphi和C ++ Builder有3个不同的版本:Professional,Enterprise和Architect.直到最近,我们还出售了一些企业版功能作为专业版的插件, ...

  4. TGraphicControl和TCustomControl自绘过程的理论解释

    TGraphicControl = class(TControl) // 这个类实在是简单,因为所有事情都已经委托给它的父Win控件了,只要管自己即可 private FCanvas: TCanvas ...

  5. YTU 2705:用重载求距离

    2705: 用重载求距离. 时间限制: 1 Sec  内存限制: 128 MB 提交: 208  解决: 114 题目描述 使用函数重载的方法定义两个重名函数,分别求出整型数的两点间距离和浮点型数的两 ...

  6. 网络安全中机器学习大合集 Awesome

    网络安全中机器学习大合集 from:https://github.com/jivoi/awesome-ml-for-cybersecurity/blob/master/README_ch.md#-da ...

  7. JSP-Runoob:JSP 表达式语言

    ylbtech-JSP-Runoob:JSP 表达式语言 1.返回顶部 1. JSP 表达式语言 JSP表达式语言(EL)使得访问存储在JavaBean中的数据变得非常简单.JSP EL既可以用来创建 ...

  8. jquery插件开发基本步骤

    一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心 ...

  9. 题解报告:poj 3070 Fibonacci

    题目链接:http://poj.org/problem?id=3070 Description In the Fibonacci integer sequence, F0 = 0, F1 = 1, a ...

  10. IIS 配置 SVC

    IIS8中添加WCF支持几种方法小结[图文] 方法一 最近在做Silverlight,Windows Phone应用移植到Windows 8平台,在IIS8中测试一些传统WCF服务应用,发现IIS8不 ...