[发明专利]一种基于Hadoop平台的改进并行KNN网络舆情分类算法在审
申请号: | 201811594517.2 | 申请日: | 2018-12-25 |
公开(公告)号: | CN109739984A | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 杜少波;李静;杨露;袁华 | 申请(专利权)人: | 贵州商学院 |
主分类号: | G06F16/35 | 分类号: | G06F16/35 |
代理公司: | 贵阳中工知识产权代理事务所 52106 | 代理人: | 刘安宁 |
地址: | 550014 贵*** | 国省代码: | 贵州;52 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 迭代 聚类 相异 分类算法 数据集中 网络舆情 数据集 中心点 并行 分类准确率 时间复杂度 迭代执行 聚类算法 距离最近 评价标准 数据分类 随机采样 统计数据 样本数据 整体数据 并行化 相似度 算法 调用 剪裁 抽取 改进 集合 返回 衡量 | ||
1.一种基于Hadoop平台的改进并行KNN网络舆情分类算法,其特征在于,CLARA算法的步骤如下:
S1:进行m次迭代,迭代执行S2-S6;
S2:从整体数据集D中按照随机采样的方法抽取相同数量r个对象得到样本数据集Si,Si=(s1,s2,…,sr);
S3:在样本数据集Si上调用PAM算法找到样本数据集的最优k个中心点集合Ci,Ci=(c1,c2,…,ck);
S4:根据得到的Ci找到整个数据集D中的每一个对象Oj∈D在Ci中欧氏距离最近的中心点,将Oj划分为相应的簇中;
S5:根据公式计算数据集D中的每一个对象Oj∈D的平均相异度,作为评价标准;
S6:返回步骤S1,开始下一次迭代;
S7:所有迭代都完成后以平均相异度作为评价标准衡量聚类效果,平均相异度最小的即是最优聚类;
S8:统计样本数据集与k个聚类的平均相异度,如果Sim(D,Oi)小于给定的阈值则将其从样本数据集中裁剪掉,否则将该簇内包含的样本添加到样本集中。
2.根据权利要求1所述的一种基于Hadoop平台的改进并行KNN网络舆情分类算法,其特征在于,KNN并行化MapReduce文本分类算法实现函数如下:
(1)Map函数
Input:训练数据集和测试数据集、设定k的值一般取奇数、给出训练数据集的类别;
Output:键值对<Key1,Value1>,其中Key1表示测试数据集索引值,Value1由字符串相似度S和类别标签C组成;
1:Method map(Key,Value,Key1,Value1)
2:{
3:for each line in Value do
将line中的数据分解成<id,x,y>的形式;
计算相似度S=Sim(x,y);
x表示测试向量;y表示训练向量;
Emit(Key1,Value1);
4:}
(2)Reduce函数
Input:map函数的输出结果<Key1,Value1>
Output:<Key2,Value2>,其中Key2为Key1的值,Value2表示分类结果
1:Methodreduce(Key1,Value1,Key2,Value2)
2:{
3:Collection sem=new ArrayList();
//声明一个集合sem用于存放测试数据
//集与训练数//据集的相似度
4:Collection classify=new ArrayList();//声明一个集合classify用于存放分类标签
5:for each v in Value1 do
构建键值对<S,C>,其中S为相似度,C为类别标签;
将S的值加入到集合sem中,C添加到集合classify中;
6:将集合sem中的值进行排序,确定k个最近邻集合同时得到集合sem数据所对应的类别;
7:把Key1的值赋值给Key2;
8:Emit(Key2,Value2);
9:}
通过将KNN算法构造成MapReduce程序实现算法的并行化处理文本分类,其中Map函数中key值为测试数据集的行号即偏移量,Value代表该行对应的训练集数据,数据集中包括相应的属性字段和类别标示,Map阶段的输出Key1表示测试数据集的行号,Value1表示计算出的相似度S和类别标签C。在Reduce阶段Key2表示测试数据集的行号,Value2代表计算出的分类结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贵州商学院,未经贵州商学院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811594517.2/1.html,转载请声明来源钻瓜专利网。