首页 / 专利库 / 电脑编程 / 算法 / 基于K-Means算法改进的高频职业技能生命曲线聚类方法

基于K-Means算法改进的高频职业技能生命曲线聚类方法

阅读:926发布:2021-06-04

专利汇可以提供基于K-Means算法改进的高频职业技能生命曲线聚类方法专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种基于K-Means 算法 改进的高频职业技能生命曲线聚类方法,其特征在于,包括以下步骤:1)爬取用户信息形成用户文档库;2)挖掘高频职业技能;3)构建高频职业技能生命曲线;4)使用 密度 峰算法选取K个职业技能生命曲线聚类中心;5)使用K-Means算法对职业技能生命曲线进行聚类;6)采用戴维森堡丁指数评估聚类结果,评估不合格,增加职业技能生命曲线聚类中心的数量K,返回步骤4,评估合格则进入下一步;7)得到最终高频职业技能生命曲线聚类结果。本发明通过对高频职业技能生命曲线进行定义,使用密度峰算法选取合适聚类中心点,然后使用K-Means算法进行聚类,进而比较稳定有效的找出生命曲线相似的职业技能。,下面是基于K-Means算法改进的高频职业技能生命曲线聚类方法专利的具体信息内容。

1.一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于,其包括以下步骤:
1)采用WebMagic爬虫系统爬取用户信息形成用户文档库;
2)采用MongoDB数据管理工具,挖掘高频职业技能;
3)采用MongoDB数据管理工具,基于用户之间的点赞关系,使用用户年龄信息进行分段统计,构建高频职业技能生命曲线;
4)使用密度峰算法选取K个职业技能生命曲线聚类中心;
5)使用K-Means算法对职业技能生命曲线进行聚类;
6)采用戴维森堡丁指数度量同一个类簇中数据点的紧密程度以及不同类的聚类中心的离散程度来评估聚类结果,评估不合格,增加职业技能生命曲线聚类中心的数量K,返回步骤4,评估合格则进入下一步;
7)基于评估结果,选取戴维森堡丁指数指标趋向稳定的K个初始聚类中心点进行聚类得到最终高频职业技能生命曲线聚类结果。
2.根据权利要求1所述的基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:在步骤4)和步骤5)的过程中,通过皮尔森相关系数度量的方式,计算其中任意两个职业技能生命曲线的相似度。
3.根据权利要求1所述的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:所述的步骤1爬取的用户信息包含用户ID、用户年龄、用户掌握的职业技能、用户每个职业技能拥有的点赞数。
4.根据权利要求1所述的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:所述的步骤2高频职业技能为拥有这项技能的人数占总人数的比例超过
0.1%的技能。
5.根据权利要求1所述的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:所述的步骤3高频职业技能的生命曲线为该技能在不同年龄段中拥有的平均点赞数。
6.根据权利要求1所述的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:所述的步骤4中初步设置职业技能生命曲线聚类中心的个数为2个;所述步骤6中,若评估不合格,每次增加的职业技能生命曲线聚类中心的数量1个。
7.根据权利要求2所述的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于:采用皮尔森相关系数计算两个职业技能生命曲线的相似度的具体步骤为:
4.1)从两个职业技能生命曲线中提取两个变量X和Y,变量X和Y分别表示两个职业技能生命曲线在各个年龄段的取值;
4.2)计算两个变量X与Y的期望值μx与μy,期望值是指变量X和Y中,不同年龄段的平均点赞数之和与年龄段数量的商;
4.3)计算两个变量X和Y的标准差σx和σy,
4.4)计算两个变量线性相关程度的皮尔森相关系数ρ,
4.5)计算两条职业技能生命曲线之间的距离,

说明书全文

基于K-Means算法改进的高频职业技能生命曲线聚类方法

技术领域

[0001] 本发明涉及数据挖掘领域,尤其是涉及一种基于K-Means算法改进的高频职业技能生命曲线聚类方法。

背景技术

[0002] 一项职业技能的生命曲线,受到很多因素影响例如职业技能掌握的难易程度、社会对该项职业技能的需求量、该项职业技能对人的身体素质需求以及该项职业技能在社会的认可度等各个方面的影响。所以绘画出职业技能的生命曲线十分困难。但是随着互联网的发展社交网络平台已经成为互联网发展中不可获缺的重要组成部分,职业社交网站上包含了大量用户的职业信息。例如用户掌握的技能、以及其他用户对该用户掌握技能的点赞数、用户的年龄等。职业社交网络的出现为刻画职业技能生命曲线提供了一种新的途径。
[0003] 对高频职业技能生命曲线进行高效且准确的聚类,使得同一个类中的职业技能有着相似的发展轨迹。未来可以根据增长曲线模型等对职业技术的发展趋势做一定的预测,并衡量职业技能的发展潜,同样可以应用于职业推荐系统中,使得推荐算法能够推荐更具发展潜力的职业给用户。这些都需要依赖对职业技能生命曲线高效且准确的聚类方法。现有最常用的聚类方法是K-Means方法,但是聚类中心点选择的好坏对聚类效果影响非常大。常用的聚类中心点的选择方法有两种:随机选取和选取彼此距离比较远的数据点。前者在数据集上随机选取K个点作为聚类中心点;后者先从数据集中随机选择一个数据点作为初始聚类中心,然后计算其他数据点到该点的距离,选择距离最远的数据点作为第二个初始聚类中心点,接着计算其他点到前两个的点的平均距离,选择距离最远的点作为第三个聚类中心点。以此类推,直到选出K个初始聚类中心点。第一种方法随机性大,如果随机选取的聚类中心点比较接近聚类效果差,在大部分情况下聚类效果较差。第二种方法相比随机选择法有较大的改善,能够选择出彼此距离相对较远的K个点,使得最后的聚类结果较好,但此方法依然存在一定的不稳定性,由于第一个点是随机选取,因此在某些情况下依然会形成较差的聚类效果。
[0004] 针对职业技能生命曲线难以刻画,职业技能生命曲线聚类中心点难以选择的问题因此需要找到合适的职业技能生命曲线聚类方法。

发明内容

[0005] 本发明的目的在于针对针对职业技能生命曲线难以刻画,职业技能生命曲线聚类中心点难以选择的问题,提供一种刻画高频职业技能生命曲线模型并为高频职业技能生命曲线聚类提供高效且稳定的聚类方法。
[0006] 本发明解决上述技术问题所采用的技术方案为:
[0007] 本发明涉及的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法,其特征在于,其包括以下步骤:
[0008] 1)采用WebMagic爬虫系统爬取用户信息形成用户文档库;
[0009] 2)采用MongoDB数据管理工具,挖掘高频职业技能;
[0010] 3)采用MongoDB数据管理工具,基于用户之间的点赞关系,使用用户年龄信息进行分段统计,构建高频职业技能生命曲线;
[0011] 4)使用密度峰算法选取K个职业技能生命曲线聚类中心;
[0012] 5)使用K-Means算法对职业技能生命曲线进行聚类;
[0013] 6)采用戴维森堡丁指数度量同一个类簇中数据点的紧密程度以及不同类的聚类中心的离散程度来评估聚类结果,评估不合格,增加职业技能生命曲线聚类中心的数量K,返回步骤4,评估合格则进入下一步;
[0014] 7)基于评估结果,选取戴维森堡丁指数指标趋向稳定的K个初始聚类中心点进行聚类得到最终高频职业技能生命曲线聚类结果。
[0015] 优选地,在步骤4)和步骤5)的过程中,通过皮尔森相关系数度量的方式,计算其中任意两个职业技能生命曲线的相似度。
[0016] 优选地,所述的步骤1爬取的用户信息包含用户ID、用户年龄、用户掌握的职业技能、用户每个职业技能拥有的点赞数。
[0017] 优选地,所述的步骤2高频职业技能为拥有这项技能的人数占总人数的比例超过0.1%的技能。
[0018] 优选地,所述的步骤3高频职业技能的生命曲线为该技能在不同年龄段中拥有的平均点赞数。
[0019] 优选地,所述的步骤4中初步设置职业技能生命曲线聚类中心的个数为2个;所述步骤6中,若评估不合格,每次增加的职业技能生命曲线聚类中心的数量1个。
[0020] 优选地,所述的步骤4中,采用皮尔森相关系数计算两个职业技能生命曲线的相似度,具体步骤为:
[0021] 4.1)从两个职业技能生命曲线中提取两个变量X和Y,变量X和Y分别表示两个职业技能生命曲线在各个年龄段的取值;
[0022] 4.2)计算两个变量X与Y的期望值μx与μy,期望值是指变量X和Y中,不同年龄段的平均点赞数之和与年龄段数量的商即平均点赞数的均值;
[0023] 4.5)计算两个变量X和Y的标准差σx和σy,
[0024]
[0025]
[0026] 4.4)计算两个变量线性相关程度的皮尔森相关系数ρ,
[0027]
[0028] 4.4)计算两条职业技能生命曲线之间的距离,
[0029]
[0030] 本发明与现有技术相比,存在的以下有益效果:
[0031] 本发明使用职业社交网站LinkedIn中高频职业技能在不同年龄段中被点赞的平均数量对高频职业技能生命曲线进行建模,并定义了曲线相似度的计算公式,结合密度峰算法选取聚类中心点解决了K-Means算法在职业技能生命曲线聚类时由于聚类初始点选取不当造成的聚类结果波动大、聚类效果不佳的问题。能够高效、稳定的找出具有相似生命曲线的高频职业技能。附图说明
[0032] 附图1是本发明方法的总体实现框图
[0033] 附图2是爬虫采集用户信息原理图;
[0034] 附图3是随机选取聚类中心的K-Means算法和本发明方法聚类效果对比图。

具体实施方式

[0035] 为进一步了解本发明的内容,结合实施例对本发明作详细描述,以下实施例用于说明本发明,但不用来限制本发明的范围。
[0036] 实施例一:
[0037] 结合附图1所示,本发明提出的一种基于K-Means算法改进的高频职业技能生命曲线聚类方法包括以下步骤:
[0038] 1)采用WebMagic爬虫系统爬取用户信息形成用户文档库:
[0039] 从LinkedIn网站上随机采集了64442份用户档案,其中有13536个用户填写了职业技能,使用这13536个拥有职业技能的用户档案构成用户档案库,爬虫采集用户档案原理如附图2所示,主要包括四个大模。分别为URL管理模块、网页下载模块、数据解析模块、数据持久化模块。用户信息采集主要步骤为,一、在URL管理模块里的URL队列里添加初始用户信息URL地址。二、下载器从URL队列获取一个URL,通过模拟Http请求从LinkedIn网站上下载包含用户信息的html页面。三、把下载得到的html页面传递给数据解析模块,通过正则表达式进行匹配解析得到用户信息,同时把用户好友信息URL地址传递给URL管理模块,用户管理模块对URL进行去重处理。四、把解析得到的用户信息交由数据持久化模块存储到数据库
[0040] 2)采用MongoDB数据管理工具,挖掘高频职业技能:
[0041] 统计用户档案库里面所有职业技能掌握的人数T=(t1,t2,t3…tn),其中ti表示第i种职业技能掌握的人数,然后计算每种技能在人群中的掌握程度,其中第i种职业技能在人群中的掌握程度计算公式为:
[0042]
[0043] 其中num是用户档案库中的用户数。把技能在人群中掌握程度大于0.1%的称为高频职业技能,一共找到4764项高频技能。
[0044] 3)采用MongoDB数据管理工具,基于用户之间的点赞关系,使用用户年龄信息进行分段统计,构建高频职业技能生命曲线:
[0045] 统计每个高频职业技能被点赞数L=(l1,l2,l3,…,ln),计算每个高频职业技能的在不同年龄段的平均点赞数,其中第i种职业技能的平均点赞数为lai=(li/gi1,li/gi2,li/gi3,…,li/gi10),其中gij为掌握第i种职业技能在第j个年龄段分组中的人数总数,li/gij为第i种高频职业技能在Gj年龄段的平均点赞数,分组标准如表1所示:
[0046] 表1
[0047]
[0048] 4)使用利用密度峰算法来选取K个初始聚类中心:
[0049] 在使用利用密度峰算法来选取K个初始聚类中心前,首先通过皮尔森相关系数度量的方式,逐一计算其中任意两个职业技能生命曲线的相似度,方法为:
[0050] 4.1)从两个职业技能生命曲线中提取两个变量X和Y,变量X和Y分别表示两个职业技能生命曲线在各个年龄段的取值;
[0051] 4.2)计算两个变量X与Y的期望值μx与μy,期望值是指变量X和Y中,不同年龄段的平均点赞数之和与年龄段数量的商即平均点赞数的均值;
[0052] 4.3)计算两个变量X和Y的标准差σx和σy,
[0053]
[0054]
[0055] 4.4)计算两个变量线性相关程度的皮尔森相关系数ρ,用于表示数据点的局部密度,
[0056]
[0057] 当ρ>0时,说明X与Y成正相关,两者有着相似的变化趋势;
[0058] 当ρ<0时,说明X与Y成负相关,两者的变化趋势相反;
[0059] |ρ|的值越接近1,则X与Y的相关程度越高;
[0060] |ρ|的值越接近0,则X与Y的相关程度越低;
[0061] 4.5)依据两个变量线性相关程度的皮尔森相关系数ρ,计算两条职业技能生命曲线之间的距离,
[0062]
[0063] 当ρ的取值越接近1时,表示变量X与Y的相关程度越高,代表了两类职业技能的生命曲线越相似,Dis(X,Y)越小;
[0064] 当ρ的取值越接近-1时,代表变量X与Y的相关程度越低,则两类职业技能的生命曲线变化趋势相差较大,Dis(X,Y)也会较大;
[0065] 4.6)然后使用密度峰算法选取K个职业技能生命曲线聚类中心,具体为:
[0066] 依据每个数据点的局部密度大小θi和聚类中心距离δi的数值,组合(θi,δi),根据决策因子γi=θi×δi对数据点进行从大到小排序,选取前K个点作为聚类中心,K个初始值可定为2;其中数据点i的局部密度大小θi为数据点i在以i为圆心,给定领域半径范围内的数据点的数量。数据点i的聚类中心距离δi为数据点i与其他局部密度大于该点的数据点的最近距离。
[0067] 5)使用K-Means算法对其余职业技能生命曲线进行聚类,进行聚类时,采用4.1~4.5相同的方法计算每个职业技能生命曲线与个聚类中心的类距;
[0068] 6)采用戴维森堡丁指数度量同一个类簇中数据点的紧密程度以及不同类的聚类中心的离散程度来评估聚类结果,
[0069] 戴维森堡丁指数度量主要计算的是聚类结果中每个类的相似度,具体公式如下。
[0070]
[0071]
[0072]
[0073]
[0074] Mjk=||xj-xk||2=dist(xj,xk)
[0075] 其中:Rk为第k类与所有其他各类的相似度的最大值,Rjk表示第k类与第j类的相似度;式中Sj和Sk分别表示两个类中数据点的离散程度;Mjk为第j类与第k类中心之间的距离;IDBI表示两个类簇之间的比值;
[0076] 其中IDBI越小表示聚类结果越好,通过戴维森堡丁指数度量同一个类中数据点的紧密程度以及不同类的聚类中心的离散程度来评估聚类结果,若聚类结果不好,则增加选取的聚类中心个数K,优选地每次增加1,然后返回步骤4;若聚类结果好,则进入下一步;
[0077] 7)选取DBI值趋向稳定的K作为聚类中心点的个数,使用K-Means算法进行聚类得到最终结果,聚类结束。
[0078] 效果实施例:
[0079] 为了进一步验证本发明方法的可行性和有效性,使用随机选取聚类中心的K-Means算法和本发明方法进行对比,聚类评价对比结果如图3所示:
[0080] 通过图3可以清晰的看见随机选取聚类中心的K-Means方法聚类效果波动较大,而本发明方法的聚类效果波动不明显,能够更加准确有效的得到合适的聚类中心数并完成聚类。
[0081] 以上结合实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍属于本发明的专利涵盖范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈