SMP CUP微博用户画像大赛解决方案
来源:互联网 发布:怎么把mac文件拷到硬盘 编辑:程序博客网 时间:2024/05/22 01:39
去年9月和几位队友(北大吴彦祖,中大Matrix,华师洛奇,兰州交通不思蜀,华科谷洪)一起参加了SMP大会举办的SMP CUP微博用户画像大赛,排名第五,比赛链接如下:
https://biendata.com/competition/1/
比赛代码已上传至github(求STAR哈):https://github.com/scaufengyang/smpcup2016/tree/master/code
赛题描述:
参赛队伍利用给定的新浪微博数据(包括用户个人信息、用户微博文本以及用户粉丝列表,详见数据描述部分),进行微博用户画像,具体包括以下三个任务:
任务1:推断用户的年龄(共3个标签:-1979/1980-1989/1990+)
任务2:推断用户的性别(共2个标签:男/女)
任务3:推断用户的地域(共8个标签:东北/华北/华中/华东/西北/西南/华南/境外)
很明显的多分类问题,我们队伍的解决方案如下:
数据预处理: 读取数据,过滤停用词
特征工程:
1.基本特征,提取用户的姓名长度, 缺失值数量,粉丝数量,微博数量,平均每条微博的评论/转发人数,以及它们的排序特征,最大/最小的评论/转发数,姓名/图片/粉丝/转发/评论是否缺失,搭建省份-地区映射表,对博文中出现的省份进行匹配,并映射成地区,统计博文中出现的地区数量。
2.word2vec特征,训练word2vec词向量,统计每个用户的平均向量(对所有博文求平均向量),再利用word2vec得出的用户平均向量进行xgboost训练并预测出每个用户属于某个类别的概率。
3.统计特征,分别统计训练集中按性别、年龄阶段、地区分类的用户所发微博的词汇出现频率,以及发微博的source频率,每个类别抽取top N个词汇和top K个source作为特征字段,统计每个用户所发的微博中出现了多少次高频词和高频source作为特征值,根据微博中的高频词和高频source,统计这些高频词在每个用户的微博和source中出现次数以及这些次数的总和。统计用户在2009-2016年每年发布的帖子,统计0点到23点每小时用户发帖数量。
4.交叉特征,多项式交叉以及相除,然后根据ANOVA、方差等进行特征选择,由于训练集数据规模较小,最终选择了相关性最大的前40个特征。
模型:主要采用gbdt模型(xgboost),对性别预测使用二分类,对年龄和地点预测使用softmax多分类,线下5fold CV。
模型融合:单独提取文本的tfidf特征,并训练xgboost进行初次预测,将得到的预测结果作为新特征(stacking融合),和其他特征共同训练xgboost并进行最终的分类预测,最终合并3个分类结果构成最终的提交结果
最终LB成绩:0.695, 排名第五
- SMP CUP微博用户画像大赛解决方案
- SMP CUP微博用户画像大赛解决方案
- SMP与用户画像
- 微博用户画像
- 用户画像实例:创建可信的微博用户画像
- 商旅网站用户画像的解决方案
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 用户画像
- 2016CCF 大数据与计算智能大赛——搜狗用户画像(NLP)
- 使用 jquery 的 ajax 进行接口化开发(获取验证码,注册)
- 架构师的必备素质和成长途径
- dubbo2.5-spring4-mybastis3.2-springmvc4-mongodb3.4-redis3.2整合(六)Spring中Redis的缓存的使用
- 设计走过的坑
- java 泛型基础
- SMP CUP微博用户画像大赛解决方案
- 机器学习算法——KNN
- Cookie/Session机制详解
- C++前置式后置式递增和复合赋值操作符对程序性能
- CSS知识点
- 浅析Windows安全相关的一些概念
- 项目启动后开启定时任务方法-->TimerTask中如何调用service
- hdu—4576
- string类字符串方法