DataCastle平台--微博预测算法(第三名分享)

赛题说明:近些年,一些研究表明,一条微博发出以后,只需要观察其在之后一小段时间内的转发情况,它的传播规模便可以被预测。但是不同类型的微博会有不同的传播方式,比如明星晒一张生活状态就能得到众多粉丝的热捧,具有较大的传播广度,但是往往在传播深度上稍显不足;相比之下,一些被广泛讨论的新闻类微博往往具有较深的传播深度。也有统计结果显示,一些谣言往往会得到大规模的传播,辟谣类的消息反而得不到广泛关注。不仅如此,我们在热门微博中能看到不少正能量的信息,同时也能看到一些话题被持正反两种不同意见的人掀起讨论热潮。简而言之,微博初期的传播速度、用户关系、信息类型、内容情感等特征都是影响微博传播规模和深度的重要影响因素。
为预测微博的传播规模,我们收集了大约1-3万条微博及其它们的转发微博,希望参赛者能够结合微博用户的关注关系、微博的内容类型和情感分析以及初期的传播模式,来预测微博的传播规模(传播规模定义:源微博一共有多少人转发)和传播深度(传播深度定义:源微博到其他转发微博的最长距离)。

特征工程:在这次赛题中,我们从开始一直到最后,找出来很多有用的特征,下面分别对这些特征做一个解释。
1:
focus_num 当前样本博主的粉丝数(最重要的特征)

2:RepostBlogerFans15、30、45、60:每个微博在15 30 45 60分钟内的 转发者的“总”粉丝量

3:ExtraFans 截止60分钟,转发用户的粉丝数与原博主粉丝之差

4:ActiveFans 在转发记录中出现过的粉丝(不论转发还是被转发)定义为活跃粉丝

5:4的平方

6:UniqueReposter15、30、45、60   15 30 45 60分钟内每条微博的unique(转发人数)

7:  

has_link 是否含有链接  
has_topic是否含有 主题标签 
has_cnbracket 是否含有 【】号 

ContentLen  内容长度
8: 
publish_time 发布时刻距当天零点的分钟数

9:

发布时间(具体到小时) 做哑变量离散
10:将微博根据博主的粉丝数分成4个等级


模型搭建:由于我们使用的特征过多,所以我们先用stacking方法对特征进行了降维,之后使用的xgboost这种树类模型做了回归预测,最终获得了一个不错的成绩

后续还可以改进的地方:在微博内容出进行分类,作为一个新的特征

猜你喜欢

转载自blog.csdn.net/a1066196847/article/details/73927474