第23卷第1期重庆科技学院学报(自然科学版)2021年2月一种在MapReduce下实现的KNN改进算法
潘俊辉王辉张强王浩畅
例如的英文(东北石油大学计算机与信息技术学院,黑龙江大庆163318)
摘要:在文本分类过程中,经典的最近邻分类算法(KNN)面对海量数据时的执行时间较长。对经典KNN算法进行改进,通过在训练阶段构造初级分类器以减少训练阶段的计算量,并在Hadoop 平台MapReduce下予以实现。实验结果表明,改进后的算法可以在保证分类精度的情况下节省运行时间。
关键词:文本分类;最近邻分类;初级分类器;Hadoop平台;程序运行时间
中图分类号:TP391文献标识码:A文章编号:1673-1980(2021)01-0070-03
数据挖掘中的文本分类就是按照文本的主题(属性)对文本进行分类,以方便管理与分析海量的文本数据。Apache基金会开发的分布式系统基础架构Hadoop,作为云计算平台,提供了分布式文件系统组件HDFS和编程模型MapReduce,利用此组件和模型的特点可实现对文本分类的并行化处理。有关研究目前已经取得了许多成果[1"4]o本次研究,我们针对最近邻分类算法(K-Nearest Neighbor,简称“KNN”)存在的不足,提出一种在Hadoop平台MapReduce下进行子类划分的分类算法(简称“ZKNN”),通过在训练阶段构造初级分类器,减少训练阶段的计算量,从而提高分类效率。
1文本分类基础
文本分类是通过使用分类算法将需要分析的若干文本归入指定的某个或某几个类别的过程。用数学公式表示,即/:D+C,D=.11,〃2,…,d m/,C= .H,C2,…,c”/,C为语料库中的文本集合,C为类别集合,m和n分别表示文本个数和类别个数o Hadoop的MapRBducB,可行算过程
最终抽象到map和reduce函数上。MapReduce在对大数据集进行处理时会首先将其分成很多个小数据集,把具有相同键值的数据集分到一个分区,并按键值大小排序;然后由Reduce函数取出数据和计算数据,并将结果存入HDFS中[5]o
2对KNN算法的改进
按KNN算进行文本分类,要集中的文本进行预处理,并用虚拟交换矩阵(VSM)表示。如对新文本1进行测试,先要对其进行向量化的处理,然后利用距离计算公式得到1与不同文本类的距离,从中选择出距离最小的K个文本,依据它们的类别对1进行归类[6]'归类时,可以按照类别的不同对K个文本进行分组,并按式(1"计算得到距离和,然后将1归入最小距离和所对应的类别中。
sum(1,c)="dis(1,1,)P(1,-,H)⑴
1j&K
式中:dis(1,1i)表示文本1与1i之间的距离。如果文档1i属于类别C,则P(1i,cj=1;否则,P(1i, C)=0'
在训练集中,每类文本会按照不同的主题进行划分,同一主题下又可按照侧重点的不同进一步进行划分。因此,可将不同的类别均划分成S个子类。另一方面,将文本用VSM表示后,可将其看作特征空间的一个节点(node),这样就可根据节点的密集程度划分子类,同一子类的节点相对密集,不同子类的节点间则相对稀疏。由此,我们可以首先在类的特征空间选择分散的w个节点作为初始子类,然后采
收稿日期:2020-07-15
基金项目:国家自然科学基金项目“基于计算智能的油田措施规划模型及优化算法研究”(61702093);东北石油大学青年科学基金项目“Hadoop平台下数据挖掘算法的研究与实现”(2020QNL-02)
作者简介:潘俊辉(1979—),女,硕士,副教授,研究方向为云计算、数据挖掘。
-70-
潘俊辉,等:一种在MapReduce 下实现的KNN 改进算法
用类似聚类的方法,将该类中的节点按照距离最近 的原则, 始的e 个节点划分到不同的子类中。与
聚类方 同的是, 划分子类不需进行 操
,经过一次操 可得到e 个子类。划分子类的流程如下:
Step 1:按照式(2)计算类中心,然后从H 中找 出距类中心最远的一个node ,将其 入S 中。
ICI
D "祈 (2)
Step 2:算S 中所有node 距类别h 中剩余
node 的最 离值L ,从 最 离node 中选择
出距离最大的node ,将其 入S 中。
Step 3 :当S 中的node 数量达到e 时,停止Step
2的执行。
Step 4 :将S 中的e 个node 看作子类,按照距离
最近原则,将H 中的node 归入e 个不同子类中。
Step 5 :算e 个子类的类中心向量。
z 的取值,一般是在类别
n 和 集中
最小类别的文本 min h I 之
值。
3 在MapReduce 下实现分类
3# 子类划分
MapReduce 进行 行分类 时, 用 ZKNN
算 现子类的划分。为 高执行效率, 可以过2个job 来 现:job A
划分子类;job B 用
于进行中心向量的计算。
现过程
1
。
图1划分子类的MapReduce 过程
! job A
:反本数据嘉-••反本数据编;
: +1 /
\1 :
/ \ 1;map
•..
map
:
:1
:1 reduce reduce [|划分子类| -|划分子类| !
! job B 、,
[map [ •• •
map j
1 reduce 1 [
[子类中心'子类中心;
-向量…
向量 :(1)将 V filo ,TFIDF 〉作为 job A 中 my 函数 的输入,得到 应的class 类别。利用分区函 同 一 class 归入到一个reduce 中去执行,reduce 函数的
输入为V class ,file + TFIDF 〉。这样,同类别的文
本被归入到reduce 中。接着划分子类,V sub + file , TFIDF 〉为mducc 函数的输出。job A 的my 阶段
和mducc 阶段的
分别为:
map ( k c - , velu c )
+ class — Gc -Olass ( k c y );
Write ( class , file + TFIDF );
mducc ( k c - , velu c s )
+
subScO — Huafensub ( velucs );
for sub in subSct ir docID in sub
Wiie (sub + filo ,TFIDF );
(2)将 V sub + filo ,TFIDF 〉作为 job B 中 my
函数的输入,其工作为去掉key 中的filo 。然,进
入mducc 执行。mducc 会根据输入值sub 计算 到 InVcc 类中心向量,即 Vsub ,InVcc 〉。job B 的 my
和mducc 的
分别为:
map ( key , veluc )
+
sub — getSub ( key );Write ( sub , veluc );
mducc ( key , velucs )
+
InVcc — Compute ( velucs )
Write ( key , InVcc);
3.3文本分类
划分子类之 , 利用 ZKNN 现文本分类, 一
个 MapReducc 完成。其中,V testfile , TFIDF 〉为 map 的入,
阶段的工 离最近的$
个子类, 到最邻近的$个文本。map 的 为
V testfile ,fix + distance 〉,其中 distance 指文本间的
距离。将map 的输出作为mducc 的输入,计算 到 testfile 的类另U newcategof 。因此,V testfile , newcate- goro 〉为mducc 的输出。下面给出该MyReducc
的 ,实现文本分类的MyReducc 过程如图2
。
map ( key , veluc )
+
adjacentOiles — ZKNN (key );
for fix in adjacentOiles
Write (testfile , filo + distance );
mducc ( key , velucs )
・71・
潘俊辉,等:一种在MapRc d ucc 下实现的KNN 改进算法
ncwcoteyory = yainNcw ( vvlucs );Write ( key , newcoteyory );
document图2实现分类的MapReduce 过程
4实验及分类结果比较
使用的语料库来自复旦大学的分类语料
库。选取其训练语料库中的C31 - Environment (环
境)(C32 - Agriculture (农业)、C19 - Computer (计算
机)(C3 - Art (艺术)、C34 - Economy (经济)等 5 个
佯嗔
类别,作为
料库。测试语料库同 取相同
的5个类别, 类别选取700 试文本。
用3台同 的计算
建Hadoop 集。其
中,使用1
器 为集群中的主节点,剩下的2台
器用作从节点。分别采用ZKNN 和经典KNN 算
,比其分类精度和所用时间。实验分别在节点
为1、2(3的 况下进行。在数据集和
值 同的情况下,ZKNN
算法在查准率、
率2项指标上和经典KNN 算法
多,只
类别的指标值会有轻微波动(见
表1)' 此可见,ZKNN 算法在对文本进行分类时
会
到文本的分类 。同时,在 分类
精度的情况下,与经典KNN 算 比,基于MapRc-
ducc 的ZKNN 算法则能够有效减少文本分类所需
时间( 2)'
rolling in the deep歌词
表1分类性能对比
类别
查准率/%
召回率/%
KNN
ZKNN KNN ZKNN 计算机94.9594.9593.2693.17
农业
97.13
97.1387.6788.23艺术92.0692.06
90.58
90.58
经济
84.5784.5782.4382.43环境88.84
88.84
98.36
98.04
2
成分类 的 时
节点数/个
行时个
KNN
大专自考怎么报名
ZKNN
13 5462 3582
2 1331 355
31 532
626
5结语
经典的分类算法KNN 现简单、稳
,在处理海
据时分类速 慢,需要花费较
多的时间。另,KNN 算法在文本
理后就
理,缺 阶段,这也会导致计算的复杂 f 加,从
分类效率。为了 文本分类效率,对
KNN 算法进行改进,主要 过在 阶段 初
级分类器以减
阶段的计算量,并在MapRc t
ducc 下予以实现。
果 ,面 大数据进行
文本分类,改进 的算法可以在 分类精度的情
拿走英语况下节省运行时间,比经典KNN 算 需的运行时 间少很多。
参考文献
% 1 & VEETIL S , GAO Q. Rcel - Omc Netmork Intrusion Detec
tion Using Hadoop - Bad Bayesian Classifier % M & (
AKHGAR B , ARABNIA H R. Emerging Trends in let Se curity. Elvier Inc. ,2013 :281 - 299.
% 2 & PUURULA A. Combining Modifications to Multinomial Na
ive Baycs for Text Classification% M] (Information Retriev al Technolooy. Springer Berlin Heidelberg , 2015 : 114 -
125.
%3&郭绪坤,范冰冰.一种朴素贝叶斯文本分类算法的分布
并行实现%J ] •计算机应用与软件,2016,33(11 ):240 -
243.
新东方背单词7% 4 &于苹苹,倪建成,韦锦涛,等•基于Spark 与词语相关度
的KNN 文本分类算法% J ].计算机技术与发展,2018 ,28 (3) :87 -92.
%5 &陆嘉恒.Hadoop 实战% M ].北京:机械工业出版社,
2012 : 103 -106.
%6&金鹏.基于Hadoop 的SKNN 文本分类算法的设计与实
现% D ].武汉:华中师范大学,2013.
( 95 )
・72
・
monga朱光婷,等:网络舆情危机评价指标的一种约简方法
参考文献
[1]阙夏.连续属性离散化方法研究[D&.合肥:合肥工业大
学,2006.
[2]侯利娟,王国胤,聂能,等.粗糙集理论中的离散化问题
[C].计算机科学,2000,27(12):89-94.
[3]周爱武,周闪闪,邹武,等.一种基于变精度粗糙集理论
宝贝的英文是什么
的属性约简算法[C].计算机技术与发展,2009,19(7): 35-37.
[4]李侃,刘玉树,王蕾.一种粗糙集属性约简算法[C].计
算机工程与应用,2002,38(5):15-16.
抱歉英语[5]王璐.基于粗糙集理论的属性约简算法及其在中医证候
诊疗中的应用研究%D].南昌:南昌大学,2010.
[6]商传磊,张悟移,陈俊营,等.基于决策表的粗糙集属性
约简算法改进及应用[J].科技与经济,2019,32(5): 52-56.[7]李丽清,刘卫东.基于粗糙集的-者满意度评价模型及
其实证分析[J].数学的实践与认识,2009,39(14): 25-30.
[8]裴佳音,单鹏.基于粗糙集约简的公共事件微博舆情趋
势影响因素提取[J].情报科学,2019,37(3): 112-118.
[9]杨静,邹梅,黄微.基于动态贝叶斯网络的网络舆情危机
等级预测模型[J].情报科学,2019,37(5):92-97. [10]刘丹,李战江,郑喜喜.一种新型粗糙集的指标筛选模
型及实证分析[J].数学的实践与认识,2017,47(21): 134-144.
[11]RAO X S,YANG X B,YANG X,ct al.Quickly Calculot-
ing Reduct:An Attribute Relationship Bad Approach [J].Knowledge-Bad Systems,2020,200.DOI:10.
1016/j.knosys.2020.106014.
A Reeuction Metod of Crisis Evaluation Index of Network Public Opinion
ZHU Guangting PAN Xiaolia
(School of Mathematics Science&Chongqing Noonat University&Chongqing401331&China)
Abstract:Aiming at the problems that most of the data of network public opinion belong to continuous attribute, and there is still redundancy and uncertainty&an impmved mugh t method is pmpod to
quantitatively screen the cosis indicators of network public opinion.Bad on the existing index system&the initial infoonation table of evvlua-tion index is established.In order to reduce the complexity of data preprocessing&an Of c ient implementation algorithm of Boolean reasoning discretization is ud for continuous attributes.Then&the attripute impofanco is calculat-Bd basBd on thBdiscBenibiaitsmateiiofeough sBt,and thBedundantindBiisdBatd.ThBeBsuatsofBmpieicaaanaasJ sis show that this method can ensure the optimal combination of candidate breakpoints and make the infoonation table data of rough t reduction more accurate.According to the discowibility matrix&the impofanco of attriputes is caacuaated and thea t eibutesaeeeeduced, and theindeiesthataack peacticaasignificanceaeedeaeted toeeducethe computationaacompaeiits.
Key worUt:intewel public opinion cosis;evvluating indicator;itripute reduction;rough t;RSBRA;KW test
(上接第72页)
An Improver KNN Algoritim Bar on MapReeucc
PAN Junhui WANG Hui ZHANG Qiang WANG Haochang
(School of Computer and Infoonation Technology&Northeast Petroleum University&Daqing Heilongiang16331
*,China) Abstract:In the process of text classiPcation,the classical nearest neighbor classification algorithm(KNN)takes a aongtimein thefaceofma s ivedata.In oedeetoimpeovethecaa s icaaKNNaagoeithm,thepeimaescaa s ifieeisconJ steucted toeeducethecaacuaation amountin theteainingstage,and itisimpaemented in theHadoop paatfoem MaJ pReduco.Expeomental results show that the improved algorithm can save wnning time while ensuong classification accueacs.
Key words:text classification;nearest neighbor classification;pomaf classiger;Hadoop platfoom;pmaram winning time
・95・