TalkingData Mobile User Demographics

问题描述

基于用户app的下载和使用情况预测用户的人口属性(性别和年龄)。

数据说明

TalkingData Mobile User Demographics_第1张图片
数据说明.png
  1. gender_age:训练和测试集
  2. events, app_events: 当用户使用TakingData SDK时,系统记录的日志。包括经纬度和对应app情况。
  3. phone_brand_device_mode:用户的手机属性

数据分析

基本数据

TalkingData Mobile User Demographics_第2张图片
训练集.png

如上图所示,选手要做的不是直接预测用户的性别和年龄,而是把预测用户属于哪个性别/年里的分组。在这个比赛中,赛题举办方将用户分为12个组,例如M32-38,该用户为男性,年龄在32-38岁之间。选手给出预测结果,采用的评分机制是logloss。

年龄和性别分布

TalkingData Mobile User Demographics_第3张图片
年龄和性别分布情况.png

基于手机类型的性别分布

可以猜想,用户的年龄和性别跟使用的手机型号和使用的app会有一定关系,直接用图标来说明问题。


TalkingData Mobile User Demographics_第4张图片
性别分布

横坐标是不同的手机型号,纵坐标是性别的分布情况。整体上男性的比例大于女性(猜想这些sdk都是基于Android的,Android用户中,女性用户大于男性用户),在某些手机的型号中,男女比例是用显著不同的。

基于手机类型的年龄分布

TalkingData Mobile User Demographics_第5张图片
年龄分布

大多数看起来都一样,没有明显区别。

解决方案

1、基于手机品牌,型号和安装app(brand,model,app)

  • one-hot brand
  • one-hot model
  • one-hot app
  • one-hot app-label
  • sparse representation
  • logistic Regression or XGBoost
  • score:2.273 CV / 2.265 LB

2、深度学习方法

该方法主要基于方法1,在方法1的基础上增加了一些tf-idf的特征。由于处理好的特征和维度和一张图片的维度比较类似,所以有些选手分享了一些基于深度学习的方法,这些方法在这个问题中也取得了比较好的效果。

  • TF-IDF of brand and model and app labels
  • Frequency of brands and model names
  • sparse representation
  • 3 layers Dense with 3 layers Dropout neural network
  • score:2.23452 LB (+ 0.03)

3、数据泄露

这是一个很有争议的比赛,因为在本次比赛中出现了严重的数据泄露,可以看到,在比赛的最后阶段,利用数据泄露的队伍成绩得到了大幅度提升。提升幅度约为0.06

TalkingData Mobile User Demographics_第6张图片
排名情况

参考价值

  • 准确率:基于安装app来预测用户的人口属性的效果比较一般,在训练的过程中观察到的准确率约为20%-30%之间,我觉得基于安装app很难将准确率进行进一步的提高。
  • 数据情况:我们有着更高质量的数据,比如网站的注册情况,BOC购买情况,账单消费情况等,会比基于安装app的预测取得更好的效果。
  • 其他方面:在特征比较多的情况下,采用深度学习的方法可以节省很多特征工程的时间,效果也比较突出。但是采用什么结构的神经网络,采用怎么样的学习参数,都是需要进一步的实验。

参考链接

  • brand-and-model-based-benchmarks
  • A linear model on apps and labels
  • some-of-the-3rd-place-solution-history-danijel-matias
  • 5th place solution (Kazanova|Faron) and some thoughts

你可能感兴趣的:(TalkingData Mobile User Demographics)