京东算法大赛-高潜用户购买意向预测(二)策略迭代
来源:互联网 发布:在新加坡怎么用淘宝 编辑:程序博客网 时间:2024/05/09 12:10
上一篇中介绍了以为热心参赛者的代码和流程。这篇将记录自己的策略更新过程。
一 数据特征统计分析
几个主要的点:
(1)各类行为与转化(购买)之间的关联关系,包括浏览、加入购物车、关注
(2)已购商品的复购率
(3)性别与商品的关联程度
二 特征提取
包括用户特征,商品特征,和用户历史行为特征
三 模型构建
1、商品候选集确认 - 用户&相关商品,不应该是整个商品集;可能使用到关联分析,协同过滤
2、模型选择 - 分类
3、代码编写与参数调整
4、效果评估与迭代优化
以下分别按照上面描述进行整理。
二 操作
1、用户id数据预处理
用户行为数据,提供的JData_Action_201602.csv 中的user_id是浮点型,都带了个.0,直接跟JData_User.csv关联稍有麻烦,当然主要是看着不爽,所以先把几个action文件的数据规范化
(1)格式化user_id 【使用awk 命令,gsub函数】
awk '$0 ~ /.0,/ {gsub(".0,", ",", $0); print}' JData_Action_201602.csv > Format_JData_Action_201602.csv
(2)用户行为合并
原始数据中,用户的行为是每行一条数据,无法形成行为序列,所以这里加一步中间数据的处理,便于分析用户的商品浏览到购买的全流程行为。给的文件字段说明,是'user_id','sku_id','time','model_id','type','cate','brand' 七个字段,但解析的过程中发现,有不少记录按照逗号分割后,是6个,例如:
266079.0,138778,2016-01-31 23:59:02,,1,8,403
266079.0,138778,2016-01-31 23:59:03,0,6,8,403
200719.0,61226,2016-01-31 23:59:07,,1,8,30
追查后,发现是第一步处理时导致部分空值丢失。。所以重写编写了脚本,这里一并完成user_id的处理在脚本中实现。
(2.1)用户维度聚合
(2.2)用户维度,同一个商品的行为序列再次聚合,一个商品一个元组
(3)正样本提取
先明确一下正负样本的定义:
正样本:有过非购买行为,且有购买行为的用户记录(针对同一商品)
负样本:有过浏览等行为,但最终没有购买行为的用户记录
初步的目标,就是从有非购买行为,且有购买行为的用户中,分析出其中隐藏的规律,并利用这个规律,对其他有行为的用户进行购买行为的预测
上一篇中介绍了以为热心参赛者的代码和流程。这篇将记录自己的策略更新过程。
一 数据特征统计分析
几个主要的点:
(1)各类行为与转化(购买)之间的关联关系,包括浏览、加入购物车、关注
(2)已购商品的复购率
(3)性别与商品的关联程度
二 特征提取
包括用户特征,商品特征,和用户历史行为特征
三 模型构建
1、商品候选集确认 - 用户&相关商品,不应该是整个商品集;可能使用到关联分析,协同过滤
2、模型选择 - 分类
3、代码编写与参数调整
4、效果评估与迭代优化
以下分别按照上面描述进行整理。
二 操作
1、用户id数据预处理
用户行为数据,提供的JData_Action_201602.csv 中的user_id是浮点型,都带了个.0,直接跟JData_User.csv关联稍有麻烦,当然主要是看着不爽,所以先把几个action文件的数据规范化
(1)格式化user_id 【使用awk 命令,gsub函数】
awk '$0 ~ /.0,/ {gsub(".0,", ",", $0); print}' JData_Action_201602.csv > Format_JData_Action_201602.csv
(2)用户行为合并
原始数据中,用户的行为是每行一条数据,无法形成行为序列,所以这里加一步中间数据的处理,便于分析用户的商品浏览到购买的全流程行为。给的文件字段说明,是'user_id','sku_id','time','model_id','type','cate','brand' 七个字段,但解析的过程中发现,有不少记录按照逗号分割后,是6个,例如:
266079.0,138778,2016-01-31 23:59:02,,1,8,403
266079.0,138778,2016-01-31 23:59:03,0,6,8,403
200719.0,61226,2016-01-31 23:59:07,,1,8,30
追查后,发现是第一步处理时导致部分空值丢失。。所以重写编写了脚本,这里一并完成user_id的处理在脚本中实现。
(2.1)用户维度聚合
(2.2)用户维度,同一个商品的行为序列再次聚合,一个商品一个元组
(3)正样本提取
先明确一下正负样本的定义:
正样本:有过非购买行为,且有购买行为的用户记录(针对同一商品)
负样本:有过浏览等行为,但最终没有购买行为的用户记录
初步的目标,就是从有非购买行为,且有购买行为的用户中,分析出其中隐藏的规律,并利用这个规律,对其他有行为的用户进行购买行为的预测
- 京东算法大赛-高潜用户购买意向预测(二)策略迭代
- 京东算法大赛-高潜用户购买意向预测(一) 资料整理
- 京东JData算法大赛——高潜用户购买意向预测
- 京东JData算法大赛-高潜用户购买意向预测(github源码)
- 【Python学习系列二十四】scikit-learn库逻辑回归实现唯品会用户购买行为预测
- 阿里音乐流行趋势预测大赛—浅尝辄止(二)
- 迭代(二)
- 阿里音乐流行趋势预测大赛一起做-(7)初赛总结之用户分类
- 阿里音乐流行趋势预测大赛一起做-(7)初赛总结之用户分类
- 根据用户行为推荐商品问题的建模方法(也可以用来预测用户购买行为)
- 增强学习(二)——策略迭代与值迭代
- 值迭代、策略迭代
- DataCastle微额借款用户人品预测大赛冠军思路
- 非线性最优化(二)——高斯牛顿法和Levengerg-Marquardt迭代
- 网络用户购买行为分析二
- 【算法复习二】传统基本算法(迭代、递归、分治)
- 2011年Android手机购买意向调查研究报告
- 高性能索引策略二
- Linux内核分析学习总结
- leetcode-68 Text Justification
- Android设置checkbox为选中状态
- 对线程调度中Thread.sleep(0)的深入理解
- Android 7.0 SEAndroid app权限配置
- 京东算法大赛-高潜用户购买意向预测(二)策略迭代
- Android 弹出框LemonBubble提示控件
- ReentrantLock 源码分析
- Webx框架指南(转载)
- php7下安装event扩展
- LBS定位和GPS定位的区别
- spring aop advice注解实现的几种方式
- mysql的锁机制
- C++基础