本发明专利技术提供一种基于聚类和匈牙利算法的数据分类方法,包括:读取原始样本集{X1、X2...XN};将原始样本集{X1、X2...XN}中所有样本视为无分类样本,对原始样本集中的所有样本采用聚类方法进行首次聚类,得到L+C个类别;将L个已知类别通过匈牙利算法指派到L+C个类别中的L个类别,将首次聚类得到的类别与已知类别对应上;将已知分类样本子集{X1、X2...Xn}中各个样本划分到其归属的类中,然后保持已知分类样本子集{X1、X2...Xn}中各个样本所属类不变,再次聚类,使用目标函数迭代未标注的样本,使未标注的样本分到某个类别或视为背景噪音。能够准确简单的对数据进行分类,且分类结果精确。
【技术实现步骤摘要】
【专利摘要】本专利技术提供一种,包括:读取原始样本集{&、x2...Xj;将原始样本集{Xi、X2...XJ中所有样本视为无分类样本,对原始样本集中的所有样本采用聚类方法进行首次聚类,得到L+C个类别;将L个已知类别通过匈牙利算法指派到L+C个类别中的L个类别,将首次聚类得到的类别与已知类别对应上;将已知分类样本子集{XpX2...XJ中各个样本划分到其归属的类中,然后保持已知分类样本子集{XpX2...XJ中各个样本所属类不变,再次聚类,使用目标函数迭代未标注的样本,使未标注的样本分到某个类别或视为背景噪音。能够准确简单的对数据进行分类,且分类结果精确。【专利说明】
本专利技术属于数据分类
,具体涉及一种基于聚类和匈牙利算法的数据分类 方法。
技术介绍
对样本分析时,经常是部分样本的类别已知,已知类别的样本并不很多,而且,可 能有背景噪音不属于任何类别。 因此,对于该类问题,如果使用分类算法,不能生成可信赖的分类器,S卩:产生的分 类器可能偏差较大,又不能把无未标注的类分出来;如果用聚类算法,又忽视了已标注样本 的参考价值;而且,聚类算法也无法解决对背景噪音的处理分类问题。比较接近的方法为 部分半监督学习算法,目前主要有两种:第一种,从已标注和未标注样本中进行学习;第二 种,从正例和未标注样本中学习。对于第一种,要求已标注的类别全部有标注样本,局限性 较大。而对于第二种,是对正例与反例的二分类算法,无法解决部分类进行了标注、部分类 未标注的情况;也不能解决有背景噪音的情况。
技术实现思路
针对现有技术存在的缺陷,本专利技术提供一种基于聚类和匈牙利算法的数据分类方 法,能够准确简单的对数据进行分类,且分类结果精确。 本专利技术采用的技术方案如下: 本专利技术提供一种,包括以下步骤: S1,读取原始样本集氏、X2. . . XN}; 原始样本集{XpX2. . . XN}包括已知分类样本子集{XpX2. . . Xn}和未知分类样本子 集{Xn+1、Xn+2. . . XN};其中,已知分类样本子集氏、X2. . . XJ中各个样本所属类别Yi分别为 Yp Y2. . . Yn ;已知分类样本子集中已知类别个数为L ; 未知分类样本子集{Xn+1、Xn+2. . . ΧΝ}中未知类别个数为C ; S2,将原始样本集{ΧρΧ2... ΧΝ}中所有样本视为无分类样本,对原始样本集中的所 有样本采用聚类方法进行首次聚类,得到L+C个类别; S3,将L个已知类别通过匈牙利算法指派到L+C个类别中的L个类别,将首次聚类 得到的类别与已知类别对应上; S4,将已知分类样本子集{XpXy . . XJ中各个样本划分到其归属的类中,然后保持 已知分类样本子集{Xi、X2... XJ中各个样本所属类不变,再次聚类,使用目标函数迭代未标 注的样本,使未标注的样本分到某个类别或视为背景噪音。 优选的,S2中,所述聚类方法为KMeans聚类方法或分层聚类方法。 优选的,S4中,再次聚类时所采用的聚类方法为KMeans聚类方法或分层聚类方 法。 优选的,S4中,使用目标函数迭代未标注的样本,使未标注的样本分到某个类别或 视为背景噪音,具体为: 使用目标函数迭代未标注的样本,通过目标函数是否达到极值识别背景噪音;当 本次迭代结果与上次迭代结果不再发生变化时,或目标函数不再发生变化时,结束分类。 优选的,所述目标函数设定为:类间分散度*类内聚合度*识别率。 优选的,所述类间分散度用间平均距离、类间均方距离、类间最小距离或类间最大 距离表示。 优选的,所述类内聚合度用类内平均距离、类内均方距离或类内最大距离表示。 优选的,所述识别率表达式为:类别个数/总样本个数。 本专利技术的有益效果如下: 本专利技术提供一种,适用于以下情况:部分 样本的分类已知,已知分类的样本点不需很多,可以有部分未知分类即该类尚无标注的样 本点,而且可以有背景噪音即噪音点不属于任何类;能够准确简单的对数据进行分类,且分 类结果精确。 【专利附图】【附图说明】 图1为本专利技术提供的流程示意图; 图2为实施例二中原始样本集显示图; 图3为实施例二中样本期望分类显示图; 图4为实施例二中样本实际分类显示图。 【具体实施方式】 以下结合附图对本专利技术进行详细说明: 实施例一 S1,读取原始样本集氏、X2. . . XN}; 原始样本集{Xi、X2... XN}包括已知分类样本子集{Xi、X2... XJ和未知分类样本子 集{Xn+1、Xn+2. . . XN};其中,已知分类样本子集氏、X2. . . XJ中各个样本所属类别Yi分别为 Yp Y2... Yn;已知分类样本子集中已知类别个数为L ; 未知分类样本子集{χη+1、χη+2... χΝ}中未知类别个数为C。 例如,Ν = 650, L = 2, C = 3, η = 50 ; 原始样本集由650个恶意代码样本组成,650个恶意代码样本的编号分别为:Χρ Χ2. ..Χ65(ι。在这650个恶意代码样本中,编号分别为Χ^Α。。。Χ5(ι的50个恶意代码样本的类 别已知,即:50个恶意代码样本属于2个类别,分别为:25个黑客病毒和25个宏病毒。编号 为Χ51、Χ 52。。。Χ65(ι的600个恶意代码样本的类别未知,未知的恶意代码样本类别可以为任何 类型,例如,可以为脚本病毒、木马、蠕虫黑客病毒或宏病毒,当然,也可以不属于任何类型。 S2,将原始样本集{ΧρΧ2. . . ΧΝ}中所有样本视为无分类样本,对原始样本集中的所 有样本采用聚类方法进行首次聚类,得到L+C个类别; 本步骤中,聚类方法可以采用普通聚类算法,比如KMeans、分层聚类等。 对于上述恶意代码样本集,在对650个样本进行聚类时,共得到5个类别。需要 强调的是,本步骤中,通过聚类只得到5个类,但并不区分类名,S卩,不区分哪个类为黑客病 毒,哪个类为宏病毒。只是将属于同一类的恶意代码样本聚集到一起。 S3,将L个已知类别通过匈牙利算法指派到L+C个类别中的L个类别,将首次聚类 得到的类别与已知类别对应上。 例如,由于Χρ X2。。。X5(l的50个恶意代码样本的类别已知,包括黑客病毒和宏病 毒。因此,通过指派,将5个类中包含黑客病毒最多的类认为是黑客病毒类,将5个类中包 含宏病毒最多的类认为是宏病毒类。 S4,将已知分类样本子集{XpX2. . . XJ中各个样本划分到其归属的类中,然后保持 已知分类样本子集{Xi、X2. .. XJ中各个样本所属类不变,再次聚类,使用目标函数迭代未标 注的样本,使未标注的样本分到某个类别或视为背景噪音。 例如,对于类别已知的50个恶意代码样本,假设一共存在。X2(l共20个黑客 病毒,在首次聚类时,存在将。X 15共15个黑客病毒聚到黑客病毒类中,而将X16、X17.. x 2(l共5个黑客病毒聚到其他病毒类中的可能性。因此,在指派后,需要将类别已知的黑客 病毒X16、X 17。。X2(l划分到其归属的类中。 基于普通聚类算本文档来自技高网...
【技术保护点】
一种基于聚类和匈牙利算法的数据分类方法,其特征在于,包括以下步骤:S1,读取原始样本集{X1、X2...XN};原始样本集{X1、X2...XN}包括已知分类样本子集{X1、X2...Xn}和未知分类样本子集{Xn+1、Xn+2...XN};其中,已知分类样本子集{X1、X2...Xn}中各个样本所属类别Yi分别为Y1、Y2...Yn;已知分类样本子集中已知类别个数为L;未知分类样本子集{Xn+1、Xn+2...XN}中未知类别个数为C;S2,将原始样本集{X1、X2...XN}中所有样本视为无分类样本,对原始样本集中的所有样本采用聚类方法进行首次聚类,得到L+C个类别;S3,将L个已知类别通过匈牙利算法指派到L+C个类别中的L个类别,将首次聚类得到的类别与已知类别对应上;S4,将已知分类样本子集{X1、X2...Xn}中各个样本划分到其归属的类中,然后保持已知分类样本子集{X1、X2...Xn}中各个样本所属类不变,再次聚类,使用目标函数迭代未标注的样本,使未标注的样本分到某个类别或视为背景噪音。
【技术特征摘要】
【专利技术属性】
技术研发人员:胡勇,
申请(专利权)人:北京齐尔布莱特科技有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。