推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的微博发表意向预测研究

更新时间:2019-12-24 13:33:41 大小:2M 上传用户:songhuahua查看TA发布的资源 标签:python 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

微博的庞大数量以及微博文本的多样性,给微博舆情监控和预测带来较多困难,如果能够预先判断用户发表微博的意向,那么就可以进行更有针对性的引导和控制。文中根据微博用户数据的主要特征,使用Python的scikit-learn包中的主要回归预测模型,对用户发表微博的意向进行预测分析,评价不同回归预测模型预测微博发表意向的能力以及用户特征对微博发表意向的影响。通过实验研究发现,用户的微博发表意向更多取决于用户关注数,而梯度提升回归模型对此问题有更好的适应性。


部分文件列表

文件名 大小
基于Python的微博发表意向预测研究.pdf 2M

部分页面预览

(完整内容请下载后查看)
智能处理与应用  
Intelligent Processing and Application  
DOI10.16667/j.issn.2095-1302.2018.04.017  
基于Python的微博发表意向预测研究  
1,2  
1,2  
1,2  
陈 智  娟  兵  篱  
1,2  
(1. 邵阳学院 湘西南农村信息化服务湖南省重点实验室,湖南 邵阳 422000   
2. 邵阳学院 信息工程学院,湖南 邵阳 422000)  
  微博的庞大数量以及微博文本 给微博舆情监控和预测带来较困难 如果能够预先判断用表微  
博的意向 那么就可以进行更有针对性的引导和控制 文中根据微博用户数据的主要特征 使用Pythonscikit-learn中的  
主要回归预测模型 对用表微博的意向进行预测分析 评价不同回归预测模型预测微博发表意向的能力以及用户特征对  
, ,  
发表意向的影响 通过实验研究发现 用户的微博发表意向更多取决于用注数 而梯度提升回归模型对此问题有更  
好的适应性  
关键词 发表意向 Python 回归预测模型 特征贡献度  
TP391  
A 2095-1302 2018 04-0056-03  
中图分类号:  
        文献标识码:         文章编号:  
0    
是否 VIPVIP 描述反映用户加VIP 的情况,作为一个数据  
项处理 ,地区,工作,教QQMSN  
Email,创建时间可以看作自我介绍的明细和补充内容,根据  
其详细程度统一处理为自我介注列表是关注该用户的其  
他用户 ID,对判断用户微博发表意向及后续研究没有直接作  
因此,对微博用户数据进行筛选只留下用户 ID、自  
我介绍注数丝数博数 VIP否会员、  
是否达人、等级共 10 个数据项,对其进行必要的规范化转换。  
1)用户 ID、关注数、粉丝数、微博数、是否 VIP、是  
否会是否达等级 些数据项保留其值,不做进一  
步转换   
作为虚拟社交的重要方式微博在主导舆论方面的  
作用越来越重微博舆论具有扩散圈层化、传播裂变化等  
特征 [1],社会影响巨大。如何监测和控制微博舆避免恶  
意言论和谣言在微博传成为微博舆情监控的重要研究内  
目前,已有不少微博舆情分析 [2]、垃圾信息检测 [3]、传播  
趋势预测 [4,5]、舆论引导 [6] 等研但由于微博数据量庞  
且具有形式多样化的特点,使得各种舆情监控算法在效率和  
性能方面都面临着巨大压力。如果可以预先判断用户发表微博  
的意向,进而进行引导和控制,那么就可以在一定程度上将恶  
意言论或谣言控制在产生初期并遏制其传播,提高微博舆情监  
控的效率。  
2)自我介绍据相关数据自我介绍,性别,地区,  
工作,教QQMSNEmail)是否为空,即  
根据用户是否有介绍的相关数据项值来赋值,如果相关数据  
项中至少 6 项有值,则赋值为 1,否则赋值为 0  
本研究从爬盟 [7] 获取微博用户数据,提取微博用户数据  
的特征,并使用 Python 机器学习回归预测模型分析这些数据  
与微博用户发表意向之间的潜在规律,进而对用户可能发表微  
博的意向进行预测,为微博舆情控制提供更细化的数据参  
1 数据预处理  
3)标签 签在微博用户相似度分博文推荐、影  
响力研究等领域都有较重要的作用户添加标签的个数反  
映了用户兴趣领域的深度或广度,同地区数据类似,考虑后续  
分析中数据维过于分散的问题,以用户标签个数作为参考值。  
在获取的用户数据有一部分数据存在数据缺  
失的情况,可直接删除。  
通过爬盟获取的新浪微博用户数据包括 24 个数据项,即  
用户 ID,屏幕用户是否 VIPVIP 自我介  
工作,教QQMSNEmail  
关注粉丝微博创建时关注列  
否会员否达人级。在这些数据项,用户 ID  
用户名都可以看作是用户的唯一标识,作为一个数据项处理   
在本实验共从爬盟获取了 2 021 .csv 格式的用户数  
据文包括用户数据共 3 583 677 在预处理过程  
除了不完整数据共 126 097 最后获得 3 457 580 条用户数  
据为后续分析使用。  
————————————————  
收稿日期2017-12-25  
修回日期 2018-01-30  
2 预测分析的方法及过程  
基金项目 南省教育厅科研一般课题 微博大数据的话题传播研  
用户微博发表意向可以看作是一个回归预测问题,以用  
 15C1242  
湖南省高校科技创新团队支持计划  
;  
物联网技术 2018/第4期  
56  
智能处理与应用  
Intelligent Processing and Application  
户发表的微博数作为输了用户 ID 之外的其他数据项  
35 进行随机分割。分割之后的数据提供给 5 个回归模型训练  
模型参数,使用 R-square 评价函数评价模型预测能力。  
在所有采集的 3 457 580 条用户数据存在发表  
微博数为 0 的数据。为确定发表的微博数为 0 对模型是否有  
影响,以及影响程度,在对所有数据执行回归分析后,排除了  
其中发表微博数为 0 的数据,以剩下的 2 882 839 条数据再次  
进行实验。两种情况下各种模型的预测能力比较见表 1 所列。  
从表 1 的实验结果可以看两种线性模线性回归  
模型和随机梯度下降回归模型)对用户微博发表意向的预测  
能力均较差。在集成模型随机森林回归模型和梯度提升  
回归模型的预测能力较强,而极端随机森林回归模型在包含  
微博数为 0 和不包含微博数为 0 的情况测能力差异较大。  
数据中是否包含微博数为 0 的数据对模型预测能力的影  
响并不明显,但倘若不包含微博数为 0 的数模型能够得  
到更好的预测结果。  
作为高维输入。即   
= {[ 自我介关注粉丝标签是否 VIP  
X
是否会员,是否达人,等级 ]}  
={ 微博数 }  
Y
 )→ 的映射关系即为回归预测模型,需要通过实  
F X  
Y
验确定。在 Python  scikit-learn  [8] 包含了多个回归预  
测模因此可以直接使用 scikit-learn 包中的模型,通过输  
入用户相关数估计用户发表微博数。通过模型评价选取  
其中最合适的一个或多个模型。  
线性回归模型是回归分析中最基本、最简单的模型,其  
模型预测能力的评价结果体现了  
满足线性关系的程度;  
Y
X
随机梯度下降回归模型采用随机梯度下降参数估计算  
用于输入数据较多的回归预可以看作是线性回归模型的  
有力补充。  
近邻回归模型和回归树模型虽然能够较好地解决非线  
各种模型的 R-square 价函数值最高为 0.486 783 374  
421,说明模型预测能力差强人意。一个可能的原因是   
发表的数量一定为整数,而回归预测模型的预测结果为实数,  
影响了评价函数的计算结果。  
K
性数据的建模问题,但是当数据量过大其训练效率低  
因此,综合考虑模型的可用性和实现效率,采用集成模型中常  
用的随机森林回归模型、梯度提升回归模型和极端随机森林  
回归模型作为参与比较的模型。  
4 各数据项贡献度分析  
选取了以下模型进行对比分  
 3 种集成回归模随机森林回归模梯度提升回  
归模型和极端随机森林回归模型)做进一步分可以得到  
输入的各数据项对模型的贡献进而确定哪些数据项对模  
型预测能力有决定性作用。  
1)线性回归模Linear Regression  
2)随机梯度下降回归模SGDR egressor  
3)随机森林回归模Random Forest Regressor  
4)梯度提升回归模Gradient Boosting Regressor  
5)极端随机森林回归模Extra Trees Regressor  
在建立模型的过程首先对获得的用户数据进行分割  
和规范化处理,然后用训练集数据训练各模型的参数,最后  
使用测试集数 R-square 评价函数进行模型能力评  
其函数定义见1  
使用 3 种集成模包含微博数为 0 的数据各数据  
项贡献度见表 2 所列。  
使用 3 种集成模不包含微博数为 0 的数据各数  
据项贡献度见表 3 所列。  
综合表 2 与表 3 的结果可以看出是否会员数据项对  
模型贡献度为 0 是否 VIP是否达数据项对模型贡  
献度约等于 0。对模型贡献度最大的粉丝数关注数  
除了用包含微博数为 0 的数据训练的梯度提升回归模型之  
其他模型关注数的贡献度均大粉丝数,即关注其  
他用户越多的用发表微博的热情越高 不是粉丝越多的  
发表微博的热情越高。  
n
2
ˆ
y
y
y
/
i
-
-
1  
i
1
=
n
R square  
1
-
=
2
y
/
i
i
1
=
用户数据的条  个用户实际发表的微博  
yi  
n
i
为第 个用户发表微博数的预测值  为用户发表微博数的  
i
ˆ
yi  
平均值。  
R-square 评价函数既考虑了预测值的内部差异,也考虑  
y
5 数据分割对预测能力的影响  
集成模型得到的回归模型并不是确定不变使用不同  
的训练集或者在模型训练过程中选取的随机值不都会对  
模型的参数造成影从而影响模型的预测效果。因此,在  
后续实验采用不同的随机数种子多次分割数据,训练 3  
集成模型并评价其性能,可更全面地说明模型的预测能力。  
在实验 [0100] 之间随机选取随机数种作为  
Python  train_test_split()函数的参数,得到不同训练集情  
了预测值与真实值之间的回归差异,其数值表明模型回归结果  
可被真实值验证的百分比。  
3 回归模型的预测能力分析  
确定回归模型预测能力的实验基于经过预处理的所有用  
户数据进首先对这些数据进行分割,选择其中 90% 的数  
据作为训练集,10% 的数据作为测试并使用随机数种子  
2018/第4期 物联网技术  
57  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载