京东算法大赛-高潜用户购买意向预测(二)策略迭代



上一篇中介绍了以为热心参赛者的代码和流程。这篇将记录自己的策略更新过程。


一 数据特征统计分析

几个主要的点:

(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)正样本提取

先明确一下正负样本的定义:

正样本:有过非购买行为,且有购买行为的用户记录(针对同一商品)

负样本:有过浏览等行为,但最终没有购买行为的用户记录


初步的目标,就是从有非购买行为,且有购买行为的用户中,分析出其中隐藏的规律,并利用这个规律,对其他有行为的用户进行购买行为的预测




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值