新闻推荐—数据分析
train_click_log.csv文件数据中每个字段的含义
user_id: 用户的唯一标识
click_article_id: 用户点击的文章唯一标识
click_timestamp: 用户点击文章时的时间戳
click_environment: 用户点击文章的环境
click_deviceGroup: 用户点击文章的设备组
click_os: 用户点击文章时的操作系统
click_country: 用户点击文章时的所在的国家
click_region: 用户点击文章时所在的区域
click_referrer_type: 用户点击文章时,文章的来源
1.从点击时间clik_timestamp来看,分布较为平均,可不做特殊处理。由于时间戳是13位的,后续将时间格式转换成10位方便计算。
2.从点击环境click_environment来看,仅有1922次(占0.1%)点击环境为1;仅有24617次(占2.3%)点击环境为2;剩余(占97.6%)点击环境为4。
3.从点击设备组click_deviceGroup来看,设备1占大部分(60.4%),设备3占36%。
4.有1605541(约占99.2%)的用户未重复阅读过文章,仅有极少数用户重复点击过某篇文章。 这个也可以单独制作成特征
5.可以看出绝大多数数的用户的点击环境是比较固定的。思路:可以基于这些环境的统计特征来代表该用户本身的属性
6.点击次数排前50的用户的点击次数都在100次以上。思路:我们可以定义点击次数大于等于100次的用户为活跃用户,这是一种简单的处理思路, 判断用户活跃度,更加全面的是再结合上点击时间,后面我们会基于点击次数和点击时间两个方面来判断用户活跃度。
7.点击次数最多的前20篇新闻,点击次数大于2500。思路:可以定义这些新闻为热门新闻, 这个也是简单的处理方式,后面我们也是根据点击次数和时间进行文章热度的一个划分。
8.有一小部分人看的文章平均词数非常高,也有一小部分人看的平均文章次数非常低。
大多数人偏好于阅读字数在200-400字之间的新闻。
1.训练集和测试集的用户id没有重复,也就是测试集里面的用户模型是没有见过的
2.训练集中用户最少的点击文章数是2, 而测试集里面用户最少的点击文章数是1
3.用户对于文章存在重复点击的情况, 但这个都存在于训练集里面
4.同一用户的点击环境存在不唯一的情况,后面做这部分特征的时候可以采用统计特征
5.用户点击文章的次数有很大的区分度,后面可以根据这个制作衡量用户活跃度的特征
6.文章被用户点击的次数也有很大的区分度,后面可以根据这个制作衡量文章热度的特征
7.用户看的新闻,相关性是比较强的,所以往往我们判断用户是否对某篇文章感兴趣的时候, 在很大程度上会和他历史点击过的文章有关
8.用户点击的文章字数有比较大的区别, 这个可以反映用户对于文章字数的区别
9.用户点击过的文章主题也有很大的区别, 这个可以反映用户的主题偏好
10.不同用户点击文章的时间差也会有所区别, 这个可以反映用户对于文章时效性的偏好