CN113592058B - 一种定量预测微博转发广度与深度的方法 - Google Patents
一种定量预测微博转发广度与深度的方法 Download PDFInfo
- Publication number
- CN113592058B CN113592058B CN202110760062.2A CN202110760062A CN113592058B CN 113592058 B CN113592058 B CN 113592058B CN 202110760062 A CN202110760062 A CN 202110760062A CN 113592058 B CN113592058 B CN 113592058B
- Authority
- CN
- China
- Prior art keywords
- microblog
- forwarding
- breadth
- depth
- features
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 58
- 238000012549 training Methods 0.000 claims abstract description 46
- 238000007637 random forest analysis Methods 0.000 claims abstract description 42
- 238000012360 testing method Methods 0.000 claims abstract description 42
- 238000012545 processing Methods 0.000 claims abstract description 7
- 230000008451 emotion Effects 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 4
- 230000001351 cycling effect Effects 0.000 claims description 4
- 238000003066 decision tree Methods 0.000 claims description 4
- 101001095088 Homo sapiens Melanoma antigen preferentially expressed in tumors Proteins 0.000 claims description 3
- 102100037020 Melanoma antigen preferentially expressed in tumors Human genes 0.000 claims description 3
- 238000002790 cross-validation Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 238000013138 pruning Methods 0.000 claims description 2
- 238000005070 sampling Methods 0.000 claims description 2
- 230000006399 behavior Effects 0.000 abstract description 18
- 238000010801 machine learning Methods 0.000 abstract description 3
- 230000006872 improvement Effects 0.000 description 14
- 238000011160 research Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 208000025174 PANDAS Diseases 0.000 description 3
- 208000021155 Paediatric autoimmune neuropsychiatric disorders associated with streptococcal infection Diseases 0.000 description 3
- 240000004718 Panda Species 0.000 description 3
- 235000016496 Panda oleosa Nutrition 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000007781 pre-processing Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002996 emotional effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013112 stability test Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于信息及数据处理技术领域,公开了一种定量预测微博转发广度与深度的方法,将提取的特征分为用户特征、微博特征和社交特征,并存入文件中;读取处理好的全部数据,将数据70%作为训练数据集,30%作为测试数据集;提取训练数据集中对训练模型有用的特征;使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。本发明利用机器学习算法预测用户转发行为的传播广度和深度;改进的随机森林算法预测精度高而且波动较小,对各种特征变化不敏感,表明预测结果有较高的参考价值。
Description
技术领域
本发明属于信息及数据处理技术领域,尤其涉及一种定量预测微博转发广度与深度的方法。
背景技术
目前:国内外的一些学者针对微博用户的转发行为进行研究,试图分析影响转发行为的各种因素。用户的转发行为是多种因素共同作用的结果,其影响因素概括为信息内容因素和群体影响因素。前者主要包括信息内容自身特点以及信息内容与用户兴趣的吻合程度;后者主要包括信息发布者对用户的影响以及其他信息转发者对用户的影响。按照预测影响因素的不同,用户转发行为预测方法可分为基于用户过往行为、基于用户文本兴趣、基于用户所受群体影响以及基于混合特征学习的预测。
其中,基于用户过往行为的预测方法存在较严重的冷启动问题,因此需要融入丰富的特征,如用户属性特征、微博信息特征以及传播结构特征等加以缓解;基于用户文本兴趣的预测方法在微博用户拥有较多的文本信息时效果较好,对于文本内容较少的用户很难学到其真正感兴趣的内容;基于用户所受群体影响的预测方法需要获得足够的用户关系信息;基于混合特征学习的预测方法需要采用特征排序或特征排除,避免特征过多反而导致过拟合问题。
通过上述分析,现有技术存在的问题及缺陷为:
(1)微博用户转发行为的研究主要集中在微博会不会被转发,而定量预测微博传播规模和传播深度的研究较少。
(2)在微博转发次数的预测研究中,一般以预测特定主题的转发次数为主,针对所有微博的定量预测的研究较少。
解决以上问题及缺陷的难度为:社交网络中广泛存在的用户转发行为是最主要的舆论传播方式,当前对网络用户转发行为的研究主要集中在预测会不会被转发,以预测转发概率为主,而很少研究对转发行为传播力的定量预测。尽管目前有少数研究针对网络用户转发次数的预测,但其研究主要是针对特定主题的转发次数进行预测,预测模型缺乏通用性,且预测精度难以满足要求。因此,如何全面掌握网络用户转发行为的传播力,并精确预测其传播规模和传播深度是网络事件预警的迫切需要解决的问题。
解决以上问题及缺陷的意义为:传播规模和传播深度是判断传播能力的重要方面之一,对社交网络事件预警、判断舆情的影响力有重要的意义。
发明内容
针对现有技术存在的问题,本发明提供了一种定量预测微博转发广度与深度的方法。
本发明是这样实现的,一种定量预测微博转发广度与深度的方法,所述定量预测微博转发广度与深度的方法,首先提取相应的特征,并存入文件中,加快后期处理的速度;读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;提取训练数据集中对训练模型有用的特征,避免过拟合;使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度,检验方法的准确性。
进一步,所述定量预测微博转发广度与深度的方法具体包括:
输入:微博数据集S,微博预测数据集P;
步骤一:对数据集S用十折交叉验证方法采样,得到训练数据集Sn;
步骤二:对数据集Sn,用信息增益算法计算每个特征的权重,根据权重对特征排序并排除小于设定阈值的特征;
步骤三:对于Sn的所有大于阈值的特征,基于特征的权重大小,随机选取m个特征,构成新的数据集Sm;
步骤四:对数据集构造完整的决策树,不进行剪枝;
步骤五:循环步骤一-步骤四,直到K个决策树建立,一个随机森林构造完成;
步骤六:循环步骤一-步骤五,共构建N个随机森林;
步骤七:对预测数据集P的每一条微博,使用一个随机森林预测转发广度和深度;
步骤八:循环步骤七,直到N个随机森林完成预测;
步骤九:循环步骤七、步骤八,直到数据集P所有微博的转发广度和深度被预测。
输出:预测数据集P的预测值集合。
进一步,所述用户特征与用户个体相关,包括性别、所属区域、是否为认证用户、粉丝数、关注数、原创微博数、转发微博数、评论数、点赞数;
所述微博特征从微博文本中提取,包括内容情感倾向、内容长度、内容是否含有@符号、内容是否带有话题、内容是否含有链接、发布微博所属时间段;
所述社交特征体现两个用户之间的社交特性,包括活跃度、交互强度、兴趣爱好、社会地位。
进一步,所述定量预测微博转发广度与深度的方法对数据集进行处理并提取了相应的特征,并存入文件中,预测模型实现步骤如下:
(1)准备数据:读取处理好的全部数据;
(2)数据划分:将数据的70%作为训练数据集,30%作为测试数据集;
(3)提取特征:提取训练数据集中对训练模型有用的特征;
(4)设置目标变量:每条微博转发的广度和深度;
(5)训练模型:使用预测算法建立模型;
(6)测试模型:使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
进一步,平均绝对百分比误差MAPE(t)定义如下:
公式中的M是预测微博的总数,Nprem(t)是在t时刻微博m用预测模型预测出的转发广度或深度,Ntruem(t)是微博m在t时刻的实际转发广度或深度。
进一步,
预测的精度Precision(t)定义为:
Precision(t)=1-MAPE(t);
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:将提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;提取训练数据集中对训练模型有用的特征;使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:将提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;提取训练数据集中对训练模型有用的特征;使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的定量预测微博转发广度与深度的方法。
本发明的另一目的在于提供一种实施所述定量预测微博转发广度与深度的方法的定量预测微博转发广度与深度的系统,所述定量预测微博转发广度与深度的系统包括:
特征提取模块,用于提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;
数据读取模块,用于读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;
有用特征提取模块,用于提取训练数据集中对训练模型有用的特征;
微博转发预测模块,用于使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;
误差和精度预测模块,用于使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:针对微博网络中用户转发传播行为难以定量预测的问题,提出传播规模与传播深度的定量预测算法,克服传统的定性预测单一用户转发概率的不足。为了预测微博的传播规模和深度,使用微博用户之间的社交关系、微博信息的类型、微博文本内容的情感值等众多特征。对采集的网络数据集进行预处理,并从中提取影响传播规模与深度的特征。使用机器学习的多种算法训练模型,定量预测转发行为的传播规模和传播深度,提出优化的随机森林算法。实验结果表明,改进的随机森林算法预测精度超过90%,而且波动较小,具有更好的泛化能力,表明预测结果具有较高的参考价值,具有一定的商业价值。本发明适用于对微博用户转发行为的广度和深度进行定量预测。
附图说明
图1是本发明实施例提供的定量预测微博转发广度与深度的方法流程图。
图2是本发明实施例提供的定量预测微博转发广度与深度的系统的结构示意图;
图2中:1、特征提取模块;2、数据读取模块;3、有用特征提取模块;4、微博转发预测模块;5、误差和精度预测模块。
图3是本发明实施例提供的微博转发网络示意图。
图4是本发明实施例提供的微博转发广度的预测值与真实值对比图;图4(a)随机森林算法;图4(b)改进的随机森林算法。
图5是本发明实施例提供的微博转发深度预测值与真实值对比图;图5(a)随机森林算法;图5(b)改进的随机森林算法
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提供了一种定量预测微博转发广度与深度的方法,下面结合附图对本发明作详细的描述。
如图1所示,本发明提供的定量预测微博转发广度与深度的方法包括以下步骤:
S101:提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;
S102:读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;
S103:提取训练数据集中对训练模型有用的特征;
S104:使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;
S105:使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
本发明提供的定量预测微博转发广度与深度的方法,业内的普通技术人员还可以采用其他的步骤实施,图1的本发明提供的定量预测微博转发广度与深度的方法仅仅是一个具体实施例而已。
如图2所示,本发明提供的定量预测微博转发广度与深度的系统包括:
特征提取模块1,用于提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;
数据读取模块2,用于读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;
有用特征提取模块3,用于提取训练数据集中对训练模型有用的特征;
微博转发预测模块4,用于使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;
误差和精度预测模块5,用于使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
下面结合附图对本发明的技术方案作进一步的描述。
微博传播广度的定义就是源微博一共有多少人转发。如图3所示,假如源微博用户是a,用户b0,b1,b2,b3和b4从a处转发了微博,用户c0,c1和c2又从b0处转发了微博,以此类推。那么微博传播覆盖范围就是所有转发者的个数,即传播覆盖范围为11。以源微博的用户为起点,计算转发链上其他节点到源节点的距离,最长距离就是此微博的传播深度。在图3中,微博a的所有转发网络中,路径最长的一条为a→b0→c0→d0→e,因此可计算消息a的传播深度为4。
本发明的目的是通过以下技术方案实现的:影响用户转发行为的因素很多,不同的因素会对转发行为产生不同程度的影响,所以特征的选取在很大程度上影响预测的准确性。为了预测微博的传播广度和深度,可以使用微博用户之间的社交关系、微博信息的类型、微博文本内容的情感值等众多特征。将所有的特征分为三大类:用户特征,微博特征和社交特征。(1)用户特征。用户特征与用户个体相关,包括性别、所属区域、是否为认证用户、粉丝数、关注数、原创微博数、转发微博数、评论数、点赞数等。(2)微博特征。微博特征从微博文本中提取,包括内容情感倾向、内容长度、内容是否含有@符号、内容是否带有话题、内容是否含有链接、发布微博所属时间段等。(3)社交特征。体现了两个用户之间的社交特性,例如活跃度、交互强度、兴趣爱好、社会地位等。
对数据集进行处理并提取了相应的特征,并存入文件中。预测模型实现步骤如下:
(1)准备数据:读取处理好的全部数据。
(2)数据划分:将数据的70%作为训练数据集,30%作为测试数据集。
(3)提取特征:提取训练数据集中对训练模型有用的特征。
(4)设置目标变量:每条微博转发的广度和深度。
(5)训练模型:使用预测算法建立模型。
(6)测试模型:使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
平均绝对百分比误差MAPE(t)定义如下:
公式中的M是预测微博的总数,Nprem(t)是在t时刻微博m用预测模型预测出的转发广度或深度,Ntruem(t)是微博m在t时刻的实际转发广度或深度。
预测的精度Precision(t)定义为:
Precision(t)=1-MAPE(t) (2)
将数据集的70%作为训练数据集,30%作为测试数据集。为了直观的看出预测模型的性能,首先选取了预测集合中的部分微博观察预测值和真实值之间的差距,发现预测的准确率不高。接下来改变测试数据的数量对模型做稳定性测试,预测模型的准确率和稳定性较差。为了训练出性能更好的转发预测模型,需要改进算法以降低平均绝对百分比误差,提高算法的稳定性。
通过分析,发现导致误差较大的原因如下:
(1)微博数据的爬取具有随机性,数据量也有限制,可能关于某一类的微博数量多,关于另一类的微博数量少。由于某一类微博数量较少,没有充分的数据作为学习的依据,所以导致此类的微博预测误差大。
(2)数据集中没有包含所需要的部分特征,例如用户性别、用户的地理位置等,导致提取的特征数量不够充足。对某一类特征不明显的微博来说,就有可能导致预测误差较大。
所以在获得的数据集存在以上局限性的情况下,必须针对现实情况,对算法做出改进。由于随机森林算法的预测精度相对较好,因此改进随机森林算法。以预测两条微博数据为例,改进后的算法与改进之前的不同之处为:改进之前的随机森林算法,根据不同的参数变化,例如改变树的数量、改变最小样本叶片的大小等参数,输出一组预测结果,即为微博测试数据的最终预测值集合。
改进之后的随机森林模型,由多个随机森林构成。每个随机森林使用十折交叉验证方法得到不同的训练数据集,每个随机森林根据不同的训练数据集训练后产生一组预测值。将微博1的预测值从每一组预测集合中取出来,构成微博1预测值的集合,取其平均值作为预测值,微博2同理。最终的预测集合为微博1和微博2预测值的集合。预测n条微博与预测两条微博同理。最终输出预测值集合为P={m1,m2,…mi,…mn}。改进的随机森林算法如算法1所示。
下面结合具体实施例对本发明的技术方案作详细的描述。
本发的实施例具体包括:原始的微博数据集中数据非常的繁杂,无法直接使用数据训练模型,数据量十分庞大,关于用户转发关系的数据就有几千万条,关于用户关注关系的数据约有八百万条,数据初步处理的工作在Linux系统环境下进行。对用户关注数的计算以及对转发次数的统计,用到了Linux下的sed和awk命令。
在用户与用户之间关注关系的文件中,字段格式为用户id1,id1关注的用户id列表,通过计算用户id列表的个数,用户关注关系文件被处理成表1所示的格式,Followers为用户id1对应的关注用户数目。在微博转发数据文件中,一个微博id对应多条转发记录,字段格式为微博id,转发用户id,转发微博与发布微博时间间隔,微博内容。采用统计文件中某个微博id出现的次数的方法,计算这条微博对应的转发条数。接下来再对数据进行清洗操作,检查数据一致性,将缺失值和无效的值进行处理,方便接下来特征提取。
表1预处理后的用户id与关注人数对应表
User_id | Followers |
2724513 | 128 |
7260165 | 162 |
7387806 | 92 |
8091415 | 123 |
8189779 | 165 |
多数特征都可以直接用遍历的方法从经过初步处理的数据集中提取出来,例如用户的关注数,用户的粉丝数,微博在一定时间内转发的次数。还有一些特征需要使用特定工具和额外的资料做标准,例如计算微博内容情感值,微博文本分词要用到分词工具jieba,计算情感值需要情感词典,程度副词词典,否定词词典等作为计算标准的资料。还有一些特征提取需要经过计算,例如微博文本长度,微博发布时间。
情感值是指对微博文本表达观点的定量表示,用一个确切的情感分数判断用户情感倾向。通常将文博文本分为情感词、否定词、程度副词、停用词四部分。在情感倾向分析研究中,为了区分不同语句表达方式的程度差别,采取给每个词赋予不同的权值,计算最终的情感值。
设A为情感词的分数和,B为程度副词的分数和,C为否定词出现的次数。S为微博内容的最终情感值,计算情感值定义为:
S=A*B*(-1)C (3)
为了统计用户的粉丝数,需要通过用户与用户关注关系文件中的关注列表,去查找某个用户id在其他用户的关注列表中出现的次数,即为该用户的粉丝数。用户id使用数据集中微博源文件中的发布微博原作者的id。结果处理为表2所示的格式。
表2用户id与粉丝数对应图
User_id | fans |
2724513 | 20963 |
7260165 | 101550 |
7387806 | 2143 |
8091415 | 68 |
8189779 | 549 |
用户关注数,在数据预处理中已做了相关的统计,所以在此处只需要根据用户id在相关文件中做遍历寻找,在文件中找到相同的用户id,其对应的关注数就作为特征被提取出来。
微博内容长度,内容中是否含有@符号,是否含有链接,是参与话题含有#号等特征的提取方式相同。对微博内容已做过文本切割,所以此处可遍历所有语料中的所有词语,分别去统计@符号出现次数,#出现次数,url出现次数以及内容的长度。此外,可根据微博数据集中源数据文件中微博发布的时间计算发布微博的时间段。
社交特征即该微博被转发的次数,此处还是直接遍历在数据预处理中统计完成的文件,在文件中找到相同的微博id,将对应的转发数提取出来。
在数据的整理中主要用到了python下的pandas库和numpy库。在整理数据的过程中用到了大量的pandas库中的函数,将所有特征处理为pandas下的DataFrame格式,再将单个特征合并在一个表中。如表3所示,展示了部分特征整理后的格式。
表3微博部分特征
Weibo_id | User_id | Emotional | fans | followers | Repost_num |
3794305741726764 | 2724513 | 4.140 | 20963 | 128 | 1021 |
3794545218812248 | 7260165 | 5.607 | 101550 | 162 | 125 |
3794726233244929 | 7387806 | 26.37 | 2143 | 92 | 1317 |
3794986804085757 | 8091415 | 36.06 | 68 | 123 | 467 |
3795261795455671 | 8189779 | 7.36 | 549 | 165 | 214 |
在预测中一个重要的任务是寻找相关的重要特征。合理地选择参与机器学习的特征不仅能提高预测准确率,还能避免因特征过多而陷入“维数灾难”导致运行时间过长或预测精度不高。采用信息增益算法来刻画特征的权重,计算出所有特征的信息增益值并进行排序,然后基于特征的信息增益值删除对微博转发影响权重很弱的特征。通过绘制特征与传播规模或深度的箱型图进行特征筛选。
引入网格搜索函数优化调整参数。首先对模型某一参数生成大致的区间,然后在模型参数列表中逐一遍历区间内的值,寻找模型的最佳参数。若一次只遍历一个参数,其余参数若不设置将会按照默认参数运行。此时只能找到一个特征上的局部最优解,当逐一确定了各个参数的区间后,可以将对模型性能有较大影响的参数合并起来一同遍历。此时网格搜索函数将使用穷举法进行模型的训练,能够在较大范围内找到近似全局最优解。
例如,一条微博的转发广度的真实值为500,使用改进的随机森林算法对微博转发广度进行预测,得到预测值520。根据公式(1),该条微博的百分比误差为:
根据公式(2),该条微博的预测精度就是96%。
对预测集中所有的微博的转发广度进行预测,使用公式(1)计算平均绝对百分比误差约为7%,使用公式(2)计算预测精度为93%。比改进之前的随机森林算法有明显的提高。在预测微博转发深度时,改进之后的随机森林算法平均绝对百分比误差为5%。也就是说,改进之后的随机森林算法的准确率达到了95%,比改进之前的随机森林算法有明显的提高。因此预测方法具有较高的参考价值。
为了直观的展示结果,从预测集合中选取了部分微博,结果如图4所示。可以看出预测值折线与真实值折线之间具有很高的重合度,因此改进后的随机森林算法的性能明显优于改进之前的预测模型。计算出的平均绝对百分比误差约为7%,也就是说,改进之后的随机森林算法的准确率达到了93%。
在预测微博转发深度时,改进之后的随机森林算法平均绝对百分比误差为5%。也就是说,改进之后的随机森林算法的准确率达到了95%,比改进之前的随机森林算法有明显的提高。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (8)
1.一种定量预测微博转发广度与深度的方法,其特征在于,所述定量预测微博转发广度与深度的方法将提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;提取训练数据集中对训练模型有用的特征;使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度;微博转发广度是源微博一共有多少人转发;微博转发深度是以源微博的用户为起点,计算转发链上其他节点到源节点的最长距离;
所述定量预测微博转发广度与深度的方法具体包括:
输入:微博数据集S,微博预测数据集P;
步骤一:对数据集S用十折交叉验证方法采样,得到训练数据集Sn;
步骤二:对数据集Sn,用信息增益算法计算每个特征的权重,根据权重对特征排序并排除小于设定阈值的特征;
步骤三:对于Sn的所有大于阈值的特征,基于特征的权重大小,随机选取m个特征,构成新的数据集Sm;
步骤四:对数据集构造完整的决策树,不进行剪枝;
步骤五:循环步骤一-步骤四,直到K个决策树建立,一个随机森林构造完成;
步骤六:循环步骤一-步骤五,共构建N个随机森林;
步骤七:对预测数据集P的每一条微博,使用一个随机森林预测转发广度和深度;
步骤八:循环步骤七,直到N个随机森林完成预测;
步骤九:循环步骤七、步骤八,直到数据集P所有微博的转发广度和深度被预测;
输出:预测数据集P的预测值集合;
所述用户特征与用户个体相关,包括性别、所属区域、是否为认证用户、粉丝数、关注数、原创微博数、转发微博数、评论数、点赞数;
所述微博特征从微博文本中提取,包括内容情感倾向、内容长度、内容是否含有@符号、内容是否带有话题、内容是否含有链接、发布微博所属时间段;
所述社交特征体现两个用户之间的社交特性,包括活跃度、交互强度、兴趣爱好、社会地位。
2.如权利要求1所述的定量预测微博转发广度与深度的方法,其特征在于,所述定量预测微博转发广度与深度的方法对数据集进行处理并提取了相应的特征,并存入文件中,预测模型实现步骤如下:
(1)准备数据:读取处理好的全部数据;
(2)数据划分:将数据的70%作为训练数据集,30%作为测试数据集;
(3)提取特征:提取训练数据集中对训练模型有用的特征;
(4)设置目标变量:每条微博转发的广度和深度;
(5)训练模型:使用预测算法建立模型;
(6)测试模型:使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
3.如权利要求2所述的定量预测微博转发广度与深度的方法,其特征在于,平均绝对百分比误差MAPE(t)定义如下:
公式中的M是预测微博的总数,Nprem(t)是在t时刻微博m用预测模型预测出的转发广度或深度,Ntruem(t)是微博m在t时刻的实际转发广度或深度。
4.如权利要求3所述的定量预测微博转发广度与深度的方法,其特征在于,
预测的精度Precision(t)定义为:
Precision(t)=1-MAPE(t)。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1~4任意一项所述的定量预测微博转发广度与深度的方法的步骤。
6.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1~4任意一项所述的定量预测微博转发广度与深度的方法的步骤。
7.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现权利要求1~4任意一项所述的定量预测微博转发广度与深度的方法。
8.一种实施权利要求1~4任意一项所述定量预测微博转发广度与深度的方法的定量预测微博转发广度与深度的系统,其特征在于,所述定量预测微博转发广度与深度的系统包括:
特征提取模块,用于提取的特征分为三类:用户特征、微博特征和社交特征,并存入文件中;
数据读取模块,用于读取处理好的全部数据,将数据的70%作为训练数据集,30%作为测试数据集;
有用特征提取模块,用于提取训练数据集中对训练模型有用的特征;
微博转发预测模块,用于使用改进的随机森林算法建立模型,预测每条微博转发的广度和深度;
误差和精度预测模块,用于使用测试集数据测试算法的准确性,计算平均绝对百分比误差和预测精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760062.2A CN113592058B (zh) | 2021-07-05 | 2021-07-05 | 一种定量预测微博转发广度与深度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110760062.2A CN113592058B (zh) | 2021-07-05 | 2021-07-05 | 一种定量预测微博转发广度与深度的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113592058A CN113592058A (zh) | 2021-11-02 |
CN113592058B true CN113592058B (zh) | 2024-03-12 |
Family
ID=78246114
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110760062.2A Active CN113592058B (zh) | 2021-07-05 | 2021-07-05 | 一种定量预测微博转发广度与深度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113592058B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984701A (zh) * | 2014-04-16 | 2014-08-13 | 北京邮电大学 | 微博转发量预测模型生成方法及微博转发量预测方法 |
CN104915392A (zh) * | 2015-05-26 | 2015-09-16 | 国家计算机网络与信息安全管理中心 | 一种微博转发行为预测方法及装置 |
CN105183717A (zh) * | 2015-09-23 | 2015-12-23 | 东南大学 | 一种基于随机森林和用户关系的osn用户情感分析方法 |
CN106682208A (zh) * | 2016-12-30 | 2017-05-17 | 桂林电子科技大学 | 基于融合特征筛选与随机森林的微博转发行为预测方法 |
CN107590558A (zh) * | 2017-03-07 | 2018-01-16 | 北京理工大学 | 一种基于多层集成学习的微博转发预测方法 |
CN108846259A (zh) * | 2018-04-26 | 2018-11-20 | 河南师范大学 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
CN109657147A (zh) * | 2018-12-21 | 2019-04-19 | 岭南师范学院 | 基于萤火虫和加权极限学习机的微博异常用户检测方法 |
CN110134873A (zh) * | 2019-04-15 | 2019-08-16 | 周口师范学院 | 一种基于转发网络层次分析的微博谣言预测方法 |
CN111222994A (zh) * | 2018-11-23 | 2020-06-02 | 泰康保险集团股份有限公司 | 客户风险评估方法、装置、介质和电子设备 |
AU2020100709A4 (en) * | 2020-05-05 | 2020-06-11 | Bao, Yuhang Mr | A method of prediction model based on random forest algorithm |
CN111524606A (zh) * | 2020-04-24 | 2020-08-11 | 郑州大学第一附属医院 | 一种基于随机森林算法的肿瘤数据统计方法 |
CN112232604A (zh) * | 2020-12-09 | 2021-01-15 | 南京信息工程大学 | 基于Prophet模型提取网络流量的预测方法 |
CN112418525A (zh) * | 2020-11-24 | 2021-02-26 | 重庆邮电大学 | 社交话题群体行为的预测方法、装置及计算机存储介质 |
CN112712210A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市网联安瑞网络科技有限公司 | 突发性话题传播规模预测方法、系统、处理终端、介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8037535B2 (en) * | 2004-08-13 | 2011-10-11 | Georgetown University | System and method for detecting malicious executable code |
US9904893B2 (en) * | 2013-04-02 | 2018-02-27 | Patternex, Inc. | Method and system for training a big data machine to defend |
WO2016094330A2 (en) * | 2014-12-08 | 2016-06-16 | 20/20 Genesystems, Inc | Methods and machine learning systems for predicting the liklihood or risk of having cancer |
US11373105B2 (en) * | 2017-04-13 | 2022-06-28 | Oracle International Corporation | Autonomous artificially intelligent system to predict pipe leaks |
US11227120B2 (en) * | 2019-05-02 | 2022-01-18 | King Fahd University Of Petroleum And Minerals | Open domain targeted sentiment classification using semisupervised dynamic generation of feature attributes |
US20210201205A1 (en) * | 2019-12-26 | 2021-07-01 | Wipro Limited | Method and system for determining correctness of predictions performed by deep learning model |
-
2021
- 2021-07-05 CN CN202110760062.2A patent/CN113592058B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103984701A (zh) * | 2014-04-16 | 2014-08-13 | 北京邮电大学 | 微博转发量预测模型生成方法及微博转发量预测方法 |
CN104915392A (zh) * | 2015-05-26 | 2015-09-16 | 国家计算机网络与信息安全管理中心 | 一种微博转发行为预测方法及装置 |
CN105183717A (zh) * | 2015-09-23 | 2015-12-23 | 东南大学 | 一种基于随机森林和用户关系的osn用户情感分析方法 |
CN106682208A (zh) * | 2016-12-30 | 2017-05-17 | 桂林电子科技大学 | 基于融合特征筛选与随机森林的微博转发行为预测方法 |
CN107590558A (zh) * | 2017-03-07 | 2018-01-16 | 北京理工大学 | 一种基于多层集成学习的微博转发预测方法 |
CN108846259A (zh) * | 2018-04-26 | 2018-11-20 | 河南师范大学 | 一种基于聚类和随机森林算法的基因分类方法及系统 |
CN111222994A (zh) * | 2018-11-23 | 2020-06-02 | 泰康保险集团股份有限公司 | 客户风险评估方法、装置、介质和电子设备 |
CN109657147A (zh) * | 2018-12-21 | 2019-04-19 | 岭南师范学院 | 基于萤火虫和加权极限学习机的微博异常用户检测方法 |
CN110134873A (zh) * | 2019-04-15 | 2019-08-16 | 周口师范学院 | 一种基于转发网络层次分析的微博谣言预测方法 |
CN111524606A (zh) * | 2020-04-24 | 2020-08-11 | 郑州大学第一附属医院 | 一种基于随机森林算法的肿瘤数据统计方法 |
AU2020100709A4 (en) * | 2020-05-05 | 2020-06-11 | Bao, Yuhang Mr | A method of prediction model based on random forest algorithm |
CN112418525A (zh) * | 2020-11-24 | 2021-02-26 | 重庆邮电大学 | 社交话题群体行为的预测方法、装置及计算机存储介质 |
CN112232604A (zh) * | 2020-12-09 | 2021-01-15 | 南京信息工程大学 | 基于Prophet模型提取网络流量的预测方法 |
CN112712210A (zh) * | 2020-12-30 | 2021-04-27 | 深圳市网联安瑞网络科技有限公司 | 突发性话题传播规模预测方法、系统、处理终端、介质 |
Non-Patent Citations (5)
Title |
---|
基于信息增益和随机森林分类器的入侵检测系统研究;魏金太;高穹;;中北大学学报(自然科学版)(01);第74-79、88页 * |
基于最大熵模型的微博传播网络中的链路预测;李勇军;尹超;于会;刘尊;;物理学报(02);第020501-1至020501-11页 * |
基于混合特征学习的微博转发预测方法;马晓峰;王磊;陈观淡;;计算机应用与软件(11);第249-252、257页 * |
基于用户特征提取的新浪微博异常用户检测方法;袁得嵛;章逸钒;高见;孙海春;;计算机科学(S1);第364-368、385页 * |
融合异常检测与随机森林的微博转发行为预测方法;周先亭;黄文明;邓珍荣;;计算机科学(07);第191-195、220页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113592058A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622333B (zh) | 一种事件预测方法、装置及系统 | |
Wang et al. | Assessing the quality of information on wikipedia: A deep‐learning approach | |
CN105740228A (zh) | 一种互联网舆情分析方法 | |
El Alaoui et al. | Big data quality metrics for sentiment analysis approaches | |
Hariharakrishnan et al. | Survey of pre-processing techniques for mining big data | |
Hasan et al. | TwitterNews: Real time event detection from the Twitter data stream | |
Khatri et al. | Detecting offensive content in open-domain conversations using two stage semi-supervision | |
CN111159184A (zh) | 元数据追溯方法、装置及服务器 | |
CN110825980A (zh) | 一种基于对抗生成网络的微博话题推送方法 | |
US11782991B2 (en) | Accelerated large-scale similarity calculation | |
CN115827797A (zh) | 一种基于大数据的环境数据分析整合方法及系统 | |
Ependi et al. | A Hybrid Sampling Approach for Improving the Classification of Imbalanced Data Using ROS and NCL Methods | |
Wang et al. | An improved clustering method for detection system of public security events based on genetic algorithm and semisupervised learning | |
CN111752995A (zh) | 一种学生数据挖掘系统及方法 | |
CN113592058B (zh) | 一种定量预测微博转发广度与深度的方法 | |
Gunawan et al. | C4. 5, K-Nearest Neighbor, Naïve Bayes, and Random Forest Algorithms Comparison to Predict Students' on TIME Graduation | |
Trinks | A classification of real time analytics methods. an outlook for the use within the smart factory | |
Zhou | Application of-Means Clustering Algorithm in Energy Data Analysis | |
Gururaj et al. | Machine Learning-Based Approach for Fake News Detection | |
CN111382345B (zh) | 话题筛选和发布的方法、装置和服务器 | |
Togatorop et al. | Twitter Data Warehouse and Business Intelligence Using Dimensional Model and Data Mining | |
Zou et al. | An improved model for spam user identification | |
Borges et al. | Event detection for smarter cities | |
Lin | A hotspot discovery method based on improved FIHC clustering algorithm | |
Foysal et al. | Classification of AI powered social bots on Twitter by sentiment analysis and data mining through SVM |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |