本发明涉及数据处理技术领域,尤其涉及一种根据人群聚类结果进行分析的方法及装置。
背景技术:
随着网络技术的发展,人们在网络上留下了各种操作痕迹,例如人们会根据自己的需要在网络上购买商品,也会点击网页中的广告并购买商品等等,这些所有的操作痕迹,包括用户留下的个人信息如年龄信息、性别信息等等,都会被搜录到相应的大数据中,以对人群的消费倾向进行分析。
目前,通常使用聚类算法对这类大数据进行分析来获得人群的消费倾向,从而为企业的产品生产提供数据支持,例如,在对样本集S{S1,S2,S3…Sn}中的样本进行聚类时,采用如下第一种方案:在K次迭代中,对于任意一个样本Si,求其到聚类中心集M{M1,M2…Mj…Mk}中各个聚类中心点的距离,将该Si划分到距离最近的聚类中心点所在的类集中;利用均值的方法,更新聚类中心集M中的聚类中心点;计算本次迭代产生的类集与上次迭代产生的类集之间的差值,直到该差值满足预置误差条件为止。
此方法在进行计算聚类中心点的聚类集时,需要将样本集S中的每个样本分别与聚类中心集M中的每个聚类中心点进行距离计算,即需要进行n*k次点对点的距离计算,计算量较大,耗时较长。
为了解决上述第一种方案存在的计算量大,耗时较长的问题目前现有技术中还提供了第二种方案,该方案相对于第一种方案将Si划分到距离最近的聚类中心点所在类集的操作过程进行了改进,改进的方案具体如下:计算聚类中心集M{M1,M2…Mj…Mk}中任意两个聚类中心点之间的距离,并保存;通 过三角形不等式原理,即计算Luj与2Lui之间的距离,其中,Luj为聚类中心点Mu与聚类中心点Mj之间的距离,其中,聚类中心点Mu为Si与当前距离Si最近的聚类中心点,聚类中心点Mj为当前遍历过程中待遍历的的聚类中心点,Lui为Si与聚类中心点Mu之间的距离;若Luj大于或者等于2Liu,忽略掉聚类中心点Mj,并继续遍历下一个聚类中心点,或者,遍历完成后,将该Si划分到Mu所在的类集中;若Luj小于2Liu,则计算Si与Mj之间的距离Lij,其中,Lij为样本点Si与聚类中心点Mj之间的距离;当Lij小于Lui时,设置Lui=Lij,Mu=Mj,继续遍历下一个聚类中心点,或者,遍历完成后,将该Si划分到Mu所在的类集中。
通过上述两种方案,即能够通过对大数据进行聚类而获得大数据中的聚类信息,但是,在实施第二种方案时,发明人发现其存在如下问题:在判断某个聚类中心点是否为样本的聚类中心点时,在确定出样本Si与聚类中心集M中最近的聚类中心点Mu之后,基于三角形不等式原理,将聚类中心集M中不可能是Si的聚类中心点进行丢弃,无需计算丢弃的聚类中心点与样本Si之间的距离,能够在一定程度上降低计算量,缩短计算时长;但是,对于一些聚类中心点较多,聚类更精细的需求而言,由于每次迭代过程均需要计算聚类中心点两两之间的距离,导致计算量较大,耗时较长。
因此,现有技术中聚类算法存在因每次迭代过程均需要计算聚类中心点两两之间的距离而导致计算量较大,耗时较长的技术问题。
技术实现要素:
本发明实施例通过提供一种根据人群聚类结果进行分析的方法及装置,用以解决现有技术中聚类算法存在的因每次迭代过程均需要计算聚类中心点两两之间的距离而导致计算量较大,耗时较长的技术问题。
本发明实施例第一方面提供了一种根据人群聚类结果进行分析的方法,其特征在于,包括:
获得针对人群的样本集以及所述样本集的聚类中心集,所述样本集中每个样本点包括人群中对应的个人的描述信息,所述描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
针对所述样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定所述每一个样本点与所述聚类中心集中距离最近的聚类中心点,并将所述每一个样本点划分到所述聚类中心集中距离最近的聚类中心点对应的集合中,获得所述聚类中心集中的每一个聚类中心点对应的聚类集;
获得所述聚类集中样本点的平均值,并根据所述平均值更新所述聚类中心集;
根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,所述第一距离为需要进行数据聚类的样本点与所述第一聚类中心点之间的距离,所述第一聚类中心点为聚类距离遍历中与所述样本点距离最近的聚类中心点;
根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,其中,所述第二距离为上一次聚类距离遍历过程中所述第一聚类中心点与第二聚类中心点之间的距离,所述第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
按照三角形不等式规则将所述第一距离的预测值与所述第三距离的预测值进行比较;
若所述第三距离的预测值大于或者等于两倍的所述第一距离的预测值,则将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果,所述聚类结果包括以所述年龄信息、所述性别信息、所 述爱好信息和所述消费金额信息为基准维度对所述人群中的每一个人进行聚类后的聚类信息;
对所述聚类结果进行分析,获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果。
可选地,在所述获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果之后,所述方法还包括:
以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度,通过条形统计图、扇形统计图、折线统计图或网状统计图展示所述分析结果。
可选地,所述获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果,具体包括:
获得以所述年龄信息为主维度,以所述性别信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果;或
获得以所述性别信息为主维度,以所述年龄信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果;或
获得以所述爱好信息为主维度,以所述性别信息、所述年龄信息和所述消费金额信息为辅助维度的分析结果;或
获得以所述消费金额信息为主维度,以所述性别信息、所述爱好信息和所述年龄信息为辅助维度的分析结果。
可选地,所述方法还包括:
若所述第三距离的预测值小于两倍的所述第一距离的预测值,则根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理。
可选地,所述根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理,包括:
计算所述上一次更新后的所述第一聚类中心点与所述样本点之间的距离,得到第一距离的实际值;
按照三角形不等式规则将所述第一距离的实际值与所述第三距离的预测值进行比较;
若所述第三距离的预测值大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
若所述第三距离的预测值小于两倍的所述第一距离的实际值,则计算第四距离,并确定所述第四距离是否小于所述第一距离的实际值;其中,所述第四距离为所述样本点与所述第二聚类中心点的距离;
若所述第四距离小于所述第一距离的实际值,则将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
若所述第四距离大于或者等于所述第一距离的实际值,则将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
可选地,所述将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点,包括:
若所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历完成,则将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值;
若所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历未完成,则将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值,并基于赋值后的第一聚类中心点及赋值后的第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
可选地,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点,包括:
若所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历完成,则将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
若所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历未完成,则基于所述上一次更新后的所述第一聚类中心点以及所述第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
可选地,在计算第四距离之前,所述方法还包括:
计算第五距离,所述第五距离为所述第二聚类中心点与所述上一次更新后的所述第一聚类中心点之间的距离;
按照三角形不等式规则将所述第一距离的实际值与所述第五距离进行比较;
若所述第五距离大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
所述计算第四距离,包括:
若所述第五距离小于两倍的所述第一距离的实际值,则执行所述计算所述第四距离。
可选地,所述根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,包括:
获取所述第一聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第一聚类中心点更新前后之间的第一差值;
获取所述第二聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第二聚类中心点更新前后之间的第二差值;
将所述第二距离与所述第一差值及所述第二差值进行减法计算,获得所述 第三距离的预测值。
可选地,在将所述第二聚类中心点丢弃之后,在所述基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果之前,所述方法还包括:
判断所述当前聚类距离遍历是否完成;
若未遍历完成,则继续遍历所述当前聚类中心集中的下一个聚类中心点;
若遍历完成,则将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
本发明实施例第二方面还提供一种根据人群聚类结果进行分析的装置,包括:
获得单元,用于获得针对人群的样本集以及所述样本集的聚类中心集,所述样本集中每个样本点包括人群中对应的个人的描述信息,所述描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
聚类集获得单元,用于针对所述样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定所述每一个样本点与所述聚类中心集中距离最近的聚类中心点,并将所述每一个样本点划分到所述聚类中心集中距离最近的聚类中心点对应的集合中,获得所述聚类中心集中的每一个聚类中心点对应的聚类集;
平均值获得单元,用于获得所述聚类集中样本点的平均值,并根据所述平均值更新所述聚类中心集;
第一获取单元,用于根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,所述第一距离为需要进行数据聚类的样本点与所述第一聚类中心点之间的距离,所述第一聚类中心点为聚类距离遍历中与所述样本点距离最近的聚类中心点;
第二获取单元,用于根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的 预测值,其中,所述第二距离为上一次聚类距离遍历过程中所述第一聚类中心点与第二聚类中心点之间的距离,所述第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
比较单元,用于按照三角形不等式规则将所述第一获取单元获取的所述第一距离的预测值与所述第二获取单元获取的所述第三距离的预测值进行比较;
丢弃单元,用于当所述比较单元比较的所述第三距离的预测值大于或者等于两倍的所述第一距离的预测值时,将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
聚类结果获得单元,用于基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果,所述聚类结果包括以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度对所述人群中的每一个人进行聚类后的聚类信息;
分析单元,用于对所述聚类结果进行分析,获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果。
可选地,所述装置还包括:
展示单元,用于在所述分析单元获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果之后,以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度,通过条形统计图、扇形统计图、折线统计图或网状统计图展示所述分析结果。
可选地,所述分析单元具体用于获得以所述年龄信息为主维度,以所述性别信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果,或获得以所述性别信息为主维度,以所述年龄信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果,或获得以所述爱好信息为主维度,以所述性别信息、所述年龄信息和所述消费金额信息为辅助维度的分析结果,或获得以所述消费金额信息为主维度,以所述性别信息、所述爱好信息和所述年龄信息为辅助维 度的分析结果。
可选地,所述装置还包括:
处理单元,用于当所述比较单元比较的所述第三距离的预测值小于两倍的所述第一距离的预测值时,根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理。
可选地,所述处理单元具体用于:计算所述上一次更新后的所述第一聚类中心点与所述样本点之间的距离,得到第一距离的实际值;
按照三角形不等式规则将所述第一计算模块计算的所述第一距离的实际值与所述第三距离的预测值进行比较;
当所述第一比较模块比较的所述第三距离的预测值大于或者等于两倍的所述第一距离的实际值时,将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
当所述第一比较模块比较的所述第三距离的预测值小于两倍的所述第一距离的实际值,则计算第四距离;其中,所述第四距离为所述样本点与所述第二聚类中心点的距离;
确定所述第二计算模块计算的所述第四距离是否小于所述第一距离的实际值;
当所述第一确定模块确定所述第四距离小于所述第一距离的实际值时,将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
当所述第一确定模块确定所述第四距离大于或者等于所述第一距离的实际值时,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
可选地,所述计算模块具体还用于:
当所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历完成 时,将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值;
当所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历未完成时,将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值,并基于赋值后的第一聚类中心点及赋值后的第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
可选地,所述计算模块具体还用于:
当所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历完成时,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
当所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历未完成,则基于所述上一次更新后的所述第一聚类中心点以及所述第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
可选地,所述处理单元具体还用于:
在所述第二计算模块计算的所述第四距离之前,计算第五距离,所述第五距离为所述第二聚类中心点与所述上一次更新后的所述第一聚类中心点之间的距离;
按照三角形不等式规则将所述第一计算模块计算的所述第一距离的实际值与所述第三计算模块计算的所述第五距离进行比较;
当所述第二比较模块比较的所述第五距离大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
当所述第二比较模块比较的所述第五距离小于两倍的所述第一距离的实际值,则执行所述计算所述第四距离。
可选地,所述第二获取单元,具体用于:
获取所述第一聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第一聚类中心点更新前后之间的第一差值;
获取所述第二聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第二聚类中心点更新前后之间的第二差值;
所述第二距离与所述第一处理模块计算的所述第一差值及所述第二处理模块计算的所述第二差值进行减法计算,获得所述第三距离的预测值。
可选地,所述装置还包括:
判断单元,在所述丢弃单元将所述第二聚类中心点丢弃之后,判断所述当前聚类距离遍历是否完成;
遍历单元,当所述判断单元判断未遍历完成时,继续遍历所述当前聚类中心集中的下一个聚类中心点;
确定单元,用于当所述判断单元判断遍历完成时,将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、通过本发明实施例提供的根据人群聚类结果进行分析的方法以及装置,所获得的聚类结果会包括以年龄信息、性别信息、爱好信息和消费金额信息为基准维度对人群中的每一个人进行聚类后的聚类信息,对所获得聚类结果进行分析而获得的分析结果能够为企业制定产品生产方向提供准确的数据支持。
2、通过本发明实施例提供的根据人群聚类结果进行分析的方法以及装置,在当前聚类距离遍历过程中,基于上一次更新的聚类中心集,根据第一聚类中心点上次更新前后的自身差值获取第一距离的预测值,该第一距离的预测值为需要进行数据聚类的样本点与该样本点距离最近的聚类中心点之间的距离,根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,第二距离为上一次聚类距 离遍历过程中第一聚类中心点与第二聚类中心点之间的距离,第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点,将第三距离的预测值与第一距离的预测值进行比较,若第三距离的预测值大于或者等于两倍的第一距离的预测值时,将所述第二聚类中心点丢弃。本发明中,基于三角形不等式规则,将聚类中心集中的第三距离的预测值大于或者等于两倍的第一距离的预测值对应的第二聚类中心点进行过滤,无需计算第二聚类中心点与样本点之间的距离,也无需计算第二样本点与其他待遍历聚类中心点之间的距离,因此,减少了计算第二样本点与其他待遍历聚类中心点之间的距离所消耗的时间及计算量,提高了数据聚类的计算效率。
附图说明
图1为本发明实施例提供的根据人群聚类结果进行分析的方法的流程示意图;
图2A为本发明实施例提供的第三距离的预测值大于或者等于两倍的第一距离的预测值的示意图;
图2B为本发明实施例提供的以年龄信息为主维度,以性别信息、爱好信息和消费金额信息为辅助维度的展示分析结果的条形统计示意图;
图3为本发明实施例提供的根据上一次更新后的第一聚类中心点Mu’对第二聚类中心点Mj’进行数据聚类处理方法的流程图;
图4为本发明实施例提供了确定样本点Si对应聚类中心点方法的流程图;
图5为本发明实施例提供的根据人群聚类结果进行分析的装置的功能模块图。
具体实施方式
本发明实施例通过提供一种根据人群聚类结果进行分析的方法及装置,用以解决现有技术中聚类算法存在的因每次迭代过程均需要计算聚类中心点两 两之间的距离而导致计算量较大,耗时较长的技术问题。
本发明实施例第一方面提供了一种根据人群聚类结果进行分析的方法,请参考图1,图1为本发明实施例提供的根据人群聚类结果进行分析的方法的流程示意图,如图1所示,该方法包括:
101:获得针对人群的样本集以及样本集的聚类中心集,样本集中每个样本点包括人群中对应的个人的描述信息,描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
为了详细介绍本发明实施例中的技术方案,描述信息包括上述年龄信息、性别信息、爱好信息和消费金额信息这四种因素,在其他实施例中,描述信息还可以包括收入信息、学历信息、地域信息、宗教信仰信息和信用度信息等等,在此就不再赘述了。
在本实施例中,设定,针对人群的样本集为S{S1,S2…Sn},初始聚类中心集M{M1,M2…Mj…Mk},该样本集可以是网络上电子商务网站或广告网站搜集的用户的数据信息,初始化聚类中心集可以通过在样本集中随机选择预设个数的中心点、距离优化算法或密度估值法等算法从样本集中选出初始聚类中心点,从而获得初始聚类中心集,在此就不再赘述了。
102:针对样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定每一个样本点与聚类中心集中距离最近的聚类中心点,并将每一个样本点划分到聚类中心集中距离最近的聚类中心点对应的集合中,获得聚类中心集中的每一个聚类中心点对应的聚类集;
在本步骤中,可以先计算初始聚类中心集M中聚类中心点两两之间的距离:d11,d12…d(k-1)k,然后,针对样本集S中的任意样本点Si,其中,i大于等于1且小于等于n,依次遍历聚类中心集M中的每一个聚类中心点,确定Si与聚类中心集中距离最近的聚类中心点Mu,并把Si划分到该聚类中心点Mu对应的集合中,并保存样本点Si与聚类中心点Mu之间的第一距离Liu,依次类推得到聚类中心点对应的聚类集,如聚类中心点M1,M2…Mj…Mk对 应的聚类集分别为N1,N2…Nj…Nk。
103:获得聚类集中样本点的平均值,并根据平均值更新聚类中心集;
在本步骤中,计算聚类集N1,N2…Nj…Nk中样本点的平均值为M1’,M2’…Mj’…Mk’,并使用M1’,M2’…Mj’…Mk’更新M1,M2…Mj…Mk,更新后的聚类中心集M为{M1’,M2’…Mj’…Mk’}。
104:根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,第一距离为需要进行数据聚类的样本点与第一聚类中心点之间的距离,第一聚类中心点为聚类距离遍历中与样本点距离最近的聚类中心点;
为了能够提高数据聚类的准确性,需要进行迭代计算,在进行当前数据聚类算法时,基于上述更新后的聚类中心集M为{M1’,M2’…Mj’…Mk’}进行计算。其中,第一距离Liu为需要进行数据聚类的样本点Si与上一次更新后的第一聚类中心点Mu’之间的距离,第一聚类中心点Mu’为聚类距离遍历中与样本点距离最近的聚类中心点。
设置样本点Si对应的第一距离预测值设置为Liu=Liu+Tu,其中,Tu为第一聚类中心点Mu’上一次更新前后的自身差值,即Tu为Mu’与Mu之间的差值。本发明实施例中,将该第一距离预测值设置为Liu=Liu+Tu的目的在于,确保样本点Si与上一次更新后的第一聚类中心点Mu’之间距离的最大值;基于重新设置后的Liu=Liu+Tu,进行当前聚类距离遍历。
在本发明实施例中,在计算样本点Si与上一次更新后的第一聚类中心点Mu’之间的距离、在计算初始聚类中心集中聚类中心点两两之间的距离:d11,d12…d(k-1)k时,可以采用但不局限于以下的方法实现,例如,欧氏距离、曼哈顿距离、切比雪夫距离、幂距离、余弦相似度、皮尔森相似度、修正的余弦相似度、Jaccard相似度、汉明距离、加权的欧式距离、相关距离、马氏距离等计算距离的算法,本发明实施例对计算距离时所采用的具体方法不进行限定。
105:根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第 二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,其中,第二距离为上一次聚类距离遍历过程中第一聚类中心点与第二聚类中心点之间的距离,第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
其中,第二距离duj为计算初始聚类中心集中聚类中心点Mu与聚类中心点Mj之间的距离,该聚类中心点Mj是第二聚类中心点Mj’未更新之前的聚类中心点,第二聚类中心点Mj’为当前聚类距离遍历过程中待遍历的聚类中心点;Tu为第一聚类中心点Mu’上一次更新前后的自身差值,即Tu为Mu’与Mu之间的差值;Tj为第二聚类中心点Mj’上一次更新前后的自身差值,即Tj为Mj’与Mj之间的差值,将第二距离duj与Tu及Tj进行减法计算,得到第三距离的预测值为(duj-Tu-Tj)。
需要说明的是,该第三距离的预测值为(duj-Tu-Tj),其在计算过程中,只需计算第一聚类中心点Mu’上一次更新前后的自身差值与第二聚类中心点Mj’上一次更新前后的自身差值,而无需计算上一次更新后的聚类中心集M{M1’,M2’…Mj’…Mk’}中聚类中心点两两之间的距离,能够降低数据聚类时的计算量以及提高计算效率。
106:按照三角形不等式规则将第一距离的预测值与第三距离的预测值进行比较;
基于三角形不等式规则,也即在三角形中,必然有两边之和大于第三边,即为三角不等式将获取的第一距离的预测值Liu,与获取的第三距离的预测值进行比较。
107:若第三距离的预测值大于或者等于两倍的第一距离的预测值,则将第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算样本点与第二聚类中心点之间的距离以及第二聚类中心点与其他待遍历聚类中心点之间的距离;
当第三距离的预测值大于或者等于两倍的第一距离的预测值,即(duj-Tu-Tj)大于或者等于2*Liu,说明样本点Si与第二聚类中心点Mj’之间的距离Lij’大于或者等于样本点Si与第一距离的预测值Liu的距离,将第二 聚类中心点Mj’丢弃,相当于将聚类中心集中的第三距离的预测值大于或者等于两倍的第一距离的预测值对应的第二聚类中心点进行了过滤,因此,在进行当前聚类距离遍历过程中,无需计算样本点Si与第二样本点Mj之间的距离、也无需计算第二聚类中心点与其他待遍历聚类中心点之间的距离。如图2A所示,图2A示出了本发明实施例提供的第三距离的预测值大于或者等于两倍的第一距离的预测值的示意图。
108:基于已丢弃第二聚类中心点的聚类中心集进行距离遍历,获得样本集的聚类结果,聚类结果包括以年龄信息、性别信息、爱好信息和消费金额信息为基准维度对人群中的每一个人进行聚类后的聚类信息。
当然了,基于已丢弃第二聚类中心点的聚类中心集进行距离遍历所获得的聚类结果可能不会满足需求,所以可以根据本发明实施例提供的方法重复执行数据聚类,直到获得满足需求的聚类结果为止,在此就不再赘述了。
109:对聚类结果进行分析,获得以年龄信息、性别信息、爱好信息和消费金额信息为基准维度的分析结果。
例如,获得以年龄信息为主维度,以性别信息、爱好信息和消费金额信息为辅助维度的分析结果,或获得以性别信息为主维度,以年龄信息、爱好信息和消费金额信息为辅助维度的分析结果,或获得以爱好信息为主维度,以性别信息、年龄信息和消费金额信息为辅助维度的分析结果,或获得以消费金额信息为主维度,以性别信息、爱好信息和年龄信息为辅助维度的分析结果。
具体的,可以通过条形统计图、扇形统计图、折线统计图或网状统计图来展示上述分析结果。请参考图2B,图2B为本发明实施例提供的以年龄信息为主维度,以性别信息、爱好信息和消费金额信息为辅助维度的展示分析结果的条形统计示意图,在本实施例中,设定年龄信息按需要分为0-22、22-45、45-以上三种类型,性别信息分为男、女两种类型,爱好信息分为户内、户外两种类型,消费金额信息分为0-200、20-500、500-以上三种类型,具体分布情况请参考图2B,在此就不再赘述了。需要说明的是,本实施例中所列举的数据、 类型仅仅是一个举例,通过本实施例的介绍,在其他实施例中,本领域所属的技术人员能够根据实际情况,选择合适的参数以满足实际的需要,在此就不再赘述了。
在本实施例中,在获得满足需求的聚类结果后,该聚类结果会包括以年龄信息、性别信息、爱好信息和消费金额信息为基准维度对人群中的每一个人进行聚类后的聚类信息,对所获得聚类结果进行分析而获得的分析结果能够为企业制定产品生产方向提供了数据支持,企业即能够根据获得的聚类结果制定相应的产品生产方向,例如,针对某一企业而言,年龄在18-22岁、性别为男、爱好为网络游戏和动漫、消费金额信息为250-500元/月的比率占据了某一企业的消费人群的58%,则该企业则可以尽可能制定出生产面对18-22岁、面对爱好为网络游戏和动漫的男性、定价在250-500元的商品的运营策略,便于尽可能地扩大商品的受众,避免因生产出的商品定价过高而无人购买,或因商品定价过低而导致利润较低的情形,从而使得企业能够运行得更加平稳。
由此可以看出,当前聚类距离遍历过程中,基于上一次更新的聚类中心集,根据第一聚类中心点上次更新前后的自身差值获取第一距离的预测值,该第一距离的预测值为需要进行数据聚类的样本点与该样本点距离最近的聚类中心点之间的距离,根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,第二距离为上一次聚类距离遍历过程中第一聚类中心点与第二聚类中心点之间的距离,第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点,将第三距离的预测值与第一距离的预测值进行比较,若第三距离的预测值大于或者等于两倍的第一距离的预测值时,将该第二聚类中心点丢弃。本发明实施例中,基于三角形不等式规则,将聚类中心集中的第三距离的预测值大于或者等于两倍的第一距离的预测值对应的第二聚类中心点进行过滤,无需计算第二聚类中心点与样本点之间的距离,也无需计算第二样本点与其他待遍历聚类中心点之间的距离,因此,减少了计算第二样本点与其他待遍历聚类中心点之间的距离 所消耗的时间及计算量,提高了数据聚类的计算效率。
在本实施例中,在该获得该样本集的聚类结果之后,本发明实施例提供的方法还包括:
对该聚类结果进行分析,以对该聚类方法进行评价。
在具体实施过程中,该对该聚类结果进行分析,以对该聚类方法进行评价,具体包括:
通过熵值(entropy)验证算法或纯度(purity)验证算法对该聚类结果进行分析;
在实际应用中,以通过熵值验证算法对聚类结果进行分析为例,对于一个聚类i而言,首先计算Pij,Pij指的是聚类i中的成员(member)属于类(class)j的概率,其中,mi是在聚类i中所有成员的个数,mij是聚类i中的成员属于类j的个数。每个聚类的entropy可以表示为其中L是类(class)的个数。整个聚类划分的entropy为其中K是聚类(cluster)的数目,m是整个聚类划分所涉及到的成员个数。在本实施例中,在该熵值验证算法获得的该聚类结果的熵值小于第一预设值时,确定该聚类方法满足预设需求;
当然,也可以通过纯度验证算法来对聚类结果进行分析,类似的,对于一个聚类i而言,首先计算Pij,Pij指的是聚类i中的成员(member)属于类(class)j的概率,设定聚类i的purity定义为pi=max(pij)。整个聚类划分的purity为其中K是聚类(cluster)的数目,mi是在聚类i中所有成员的个数,m是整个聚类划分所涉及到的成员个数。在本实施 例中,在该纯度验证算法获得的该聚类结果的纯度大于第二预设值时,确定该聚类方法满足该预设需求。
在执行步骤103按照三角形不等式规则将第一距离的预测值Liu与第三距离的预测值(duj-Tu-Tj)进行比较时,若第三距离的预测值(duj-Tu-Tj)小于两倍的第一距离的预测值Liu,说明样本点Si与第二聚类中心点Mj’之间的距离Lij’小于样本点Si与第一聚类中心点Mu’之间的第一距离的预测值Liu,根据上一次更新后的第一聚类中心点Mu’对第二聚类中心点Mj’进行数据聚类处理,来确定样本点Si对应的聚类中心点为上一次更新后的第一聚类中心点Mu’还是第二聚类中心点Mj’。如图3所示,图3示出了本发明实施例提供的根据上一次更新后的第一聚类中心点Mu’对第二聚类中心点Mj’进行数据聚类处理方法的流程图,该方法包括:
301、计算上一次更新后的第一聚类中心点与样本点之间的距离,得到第一距离的实际值。
计算上一次更新后的第一聚类中心点Mu’与样本点Si之间的距离Liu’,该Liu’为当前聚类距离遍历过程中第一距离的实际值,本发明实施例在计算上一次更新后的第一聚类中心点Mu’与样本点Si之间的第一距离的实际距离Liu’时,所采用的算法请参考上述步骤101中的相关描述,本发明实施例在此不再进行赘述。
302、按照三角形不等式规则将第一距离的实际值与第三距离的预测值进行比较。
基于三角形不等式规则,将第一距离的实际值Liu’与第三距离的预测值(duj-Tu-Tj)进行比较,若第三距离的预测值(duj-Tu-Tj)大于或者等于两倍的第一距离的实际值Liu’,则执行步骤303;若第三距离的预测值(duj-Tu-Tj)小于两倍的第一距离的实际值Liu’,则执行步骤304。
303、将第二聚类中心点丢弃。
当第三距离的预测值(duj-Tu-Tj)大于或者等于两倍的第一距离的实际值 Liu’时,说明在当前聚类距离遍历过程中,样本点Si到第二聚类中心点Mj’的实际距离大于或者等于样本点Si到第一聚类中心点Mu’的实际距离,即样本点Si对应的聚类中心点不可能是第二聚类中心点Mj’,因此将第二聚类中心点Mj’丢弃,不再计算样本点Si与第二聚类中心点Mj’之间的距离以及第二聚类中心点Mj’与其他待遍历聚类中心点之间的距离。
304、计算第四距离,并确定第四距离是否小于第一距离的实际值。
当第三距离的预测值(duj-Tu-Tj)小于两倍的第一距离的实际值Liu’时,说明在当前聚类距离遍历过程中,样本点Si到第二聚类中心点Mj’的实际距离小于样本点Si到第一聚类中心点Mu’的实际距离,即样本点Si对应的聚类中心点可能是第二聚类中心点Mj’。
确定样本点Si对应的聚类中心点是第一聚类中心点Mu’,还是第二聚类中心点Mj’,需要计算第四距离Lij’,其中,该第四距离Lij’为样本点Si与第二聚类中心点Mj’之间的距离。若第四距离Lij’小于第一距离的实际值Liu’,则执行步骤305;若第四距离Lij’大于或者等于第一距离的实际值Liu’,则执行步骤306。
305、将第二聚类中心点确定为当前距离遍历过程中与样本点距离最近的聚类中心点。
当第四距离Lij’小于第一距离的实际值Liu’时,确定第二聚类中心点Mj’为当前距离遍历过程中与样本点Si距离最近的聚类中心点。在本发明实施例的一种实现方式中,当该第四距离Lij’小于该第一距离的实际值Liu’,并且当前聚类距离遍历完成,则将该第二聚类中心点Mj’赋值给上一次更新后的该第一聚类中心点Mu’,以及将该第四距离Lij’赋值给第一距离的实际值Liu’,即Lui’=Lij’,Mu’=Mj’;在本发明实施例的另一种实现方式中,当第四距离Lij’小于第一距离的实际值Liu’,并且当前聚类距离遍历未完成,则将第二聚类中心点Mj’赋值给上一次更新后的第一聚类中心点Mu’,以及将第四距离Lij’赋值给第一距离的实际值Liu’,即Lui’=Lij’,Mu’=Mj’,并基于赋值后的第一 聚类中心点Mu’及赋值后的第一距离的实际值Liu’继续遍历当前聚类中心集中的下一个聚类中心点,直到遍历完当前聚类中心集。
306、将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与样本点距离最近的聚类中心点。
当第四距离Lij’大于或者等于第一距离的实际值Liu’时,确定上次更新后的第一聚类中心点Mu’为当前距离遍历过程中与样本点Si距离最近的聚类中心点。在本发明实施例的一种实现方式中,当第四距离Lij’大于或者等于第一距离的实际值Liu’,并且当前聚类距离遍历完成时,将上一次更新后的第一聚类中心点Mu’确定为当前距离遍历过程中与样本点Si距离最近的聚类中心点;当第四距离Lij’大于或者等于第一距离的实际值Liu’,并且当前聚类距离遍历未完成,则基于上一次更新后的第一聚类中心点Mu’以及第一距离的实际值Liu’继续遍历当前聚类中心集中的下一个聚类中心点。
本发明实施例在具体实施过程中,将图1与图3进行结合,来确定样本点Si对应的聚类中心点,如图4所示,图4示出了本发明实施例提供了确定样本点Si对应聚类中心点方法的流程图,该方法包括:
401、根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值。
402、根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值。
403、按照三角形不等式规则将第一距离的预测值与第三距离的预测值进行比较。
若第三距离的预测值大于或者等于两倍的第一距离的预测值,则执行步骤404;若第三距离的预测值小于两倍的第一距离的预测值,则执行步骤405。
404、将第二聚类中心点丢弃。
405、根据上一次更新后的该第一聚类中心点对该第二聚类中心点进行数据聚类处理。
有关根据上一次更新后的该第一聚类中心点对该第二聚类中心点进行数据聚类处理的实施过程,请参考图3的详细描述,本发明实施例在此不再进行赘述。
进一步的,在执行步骤304计算第四距离之前,计算第五距离duj’,第五距离为第二聚类中心点Mj’与上次更新后的第一聚类中心点Mu’之间的距离,按照三角形不等式规则将第一距离的实际值Liu’与第五距离duj’进行比较,当第五距离duj’大于或者等于两倍的第一距离的实际值Liu’时,将第二聚类中心点丢弃,不再计算样本点Si与第二聚类中心点Mj’之间的距离以及第二聚类中心点Mj’与其他待遍历聚类中心点之间的距离;当第五距离duj’小于两倍的第一距离的实际值Liu’时,继续执行步骤304。
需要说明的是,在实际的运行步骤301-步骤303的操作过程中,可将聚类中心集M中的大部分,与样本点Si的距离大于或者等于第一距离的实际值Liu’的聚类中心点进行丢弃,而聚类中心集M中剩下部分的聚类中心点均为与样本点Si的距离小于第一距离的实际值Liu’的聚类中心点。示例性的,假设聚类中心集M中有1000个聚类中心点,通过步骤301-步骤303时,将可800个与样本点Si的距离大于或者等于第一距离的实际值Liu’的对应聚类中心点进行丢弃,此时,聚类中心集M中剩余200个聚类中心点。分别计算剩余200个聚类中心点中第二聚类中心点Mj’与上次更新后的第一聚类中心点Mu’之间的第五距离,当第五距离duj’大于或者等于两倍的第一距离的实际值Liu’时,将150第二聚类中心点Mj’丢弃,此时,聚类中心集M中剩余50个聚类中心点,分别计算样本点Si与聚类中心集M中剩余50个聚类中心点之间的距离,确定样本点Si距离最近的聚类中心点。需要说明的是,在实际的操作过程中,计算聚类中心集M中两两聚类中心点之间的第五距离duj’时,要比计算样本点Si与第二聚类中心点Mj’之间的第四距离Lij’的计算量小、消耗时间少。本发明实施例基于三角形不等式规则,两次对聚类中心集M中与样本点Si的距离大于或者等于第一距离的实际值Liu’的聚类中心点进行丢弃,在一定程度上进 一步的降低了计算样本点Si与第二聚类中心点Mj’的计算量。
进一步的,作为对上述实施例的细化和扩展,上述步骤102在获取第三距离的预测值(duj-Tu-Tj)时,可以采用但不局限于以下的方式实现,获取第一聚类中心点Mu’上一次更新前对应的值Mu及更新后对应的值Mu’,计算第一差值Tu,其中,该Tu为Mu’与Mu之间的差值;获取第二聚类中心点Mj’上一次更新前对应的值Mj及更新后对应的值Mj’,计算第二差值Tj,其中,该Tj为Tj’与Tj之间的差值;将第二距离duj与第一差值Tu及第二差值Tj进行减法计算,获得第三距离的预测值(duj-Tu-Tj)。
进一步的,在执行404之后,判断当前聚类距离遍历是否完成,若未遍历完成,则继续遍历当前聚类中心集中下一个聚类中心点;若遍历完成,则将上一次更新后的第一聚类中心点Mu’确定为当前距离遍历过程中与该样本点距离最近的聚类中心点。
在确定样本点Si对应的聚类中心点后,依次类推得到聚类中心集M中M1’,M2’…Mj’…Mk’对应的聚类集分别为N1’,N2’…Nj’…Nk’,计算步骤101中该的聚类集N1,N2…Nj…Nk与当前聚类距离遍历确定的聚类集N1’,N2’…Nj’…Nk’之间的差值O1,O2…Oj…Ok,并判断该差值O1,O2…Oj…Ok是否符合预设误差阈值,若符合,则将前聚类距离遍历确定的聚类集N1’,N2’…Nj’…Nk’确定为最终数据聚类的结果;若不符合,则基于本发明实施例如上该方法重复执行数据聚类,直到确定最终数据聚类的结果为止。在本实施例中,在设置预设误差阈值需要根据实际需求进行设置,对于一些精细数据聚类的需求而言,设置预设误差阈值的较小,例如,设置预设误差阈值为1或者0等等,本发明实施例对预设误差阈值设置的具体内容不进行限定。
基于同一发明构思,本发明实施例第二方面还提供了一种根据人群聚类结果进行分析的装置,请参考图5,图5为本发明实施例提供的根据人群聚类结果进行分析的装置的功能模块图,如图5所示,该装置包括:
获得单元501,用于获得针对人群的样本集以及该样本集的聚类中心集, 该样本集中每个样本点包括人群中对应的个人的描述信息,该描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
聚类集获得单元502,用于针对该样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定该每一个样本点与该聚类中心集中距离最近的聚类中心点,并将该每一个样本点划分到该聚类中心集中距离最近的聚类中心点对应的集合中,获得该聚类中心集中的每一个聚类中心点对应的聚类集;
平均值获得单元503,用于获得该聚类集中样本点的平均值,并根据该平均值更新该聚类中心集;
第一获取单元504,用于根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,该第一距离为需要进行数据聚类的样本点与该第一聚类中心点之间的距离,该第一聚类中心点为聚类距离遍历中与该样本点距离最近的聚类中心点;
第二获取单元505,用于根据第二距离、该第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,其中,该第二距离为上一次聚类距离遍历过程中该第一聚类中心点与第二聚类中心点之间的距离,该第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
比较单元506,用于按照三角形不等式规则将该第一获取单元504获取的该第一距离的预测值与该第二获取单元505获取的该第三距离的预测值进行比较;
丢弃单元507,用于当该比较单元506比较的该第三距离的预测值大于或者等于两倍的该第一距离的预测值时,将该第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算该样本点与该第二聚类中心点之间的距离以及该第二聚类中心点与其他待遍历聚类中心点之间的距离;
聚类结果获得单元508,用于基于已丢弃该第二聚类中心点的聚类中心集 进行该距离遍历,获得该样本集的聚类结果,该聚类结果包括以该年龄信息、该性别信息、该爱好信息和该消费金额信息为基准维度对该人群中的每一个人进行聚类后的聚类信息;
分析单元509,用于对聚类结果进行分析,获得以年龄信息、性别信息、爱好信息和消费金额信息为基准维度的分析结果。
进一步地,装置还包括:
展示单元514,用于在分析单元获得以年龄信息、性别信息、爱好信息和消费金额信息为基准维度的分析结果之后,以年龄信息、性别信息、爱好信息和消费金额信息为基准维度,通过条形统计图、扇形统计图、折线统计图或网状统计图展示分析结果。
进一步地,分析单元509具体用于获得以年龄信息为主维度,以性别信息、爱好信息和消费金额信息为辅助维度的分析结果,或获得以性别信息为主维度,以年龄信息、爱好信息和消费金额信息为辅助维度的分析结果,或获得以爱好信息为主维度,以性别信息、年龄信息和消费金额信息为辅助维度的分析结果,或获得以消费金额信息为主维度,以性别信息、爱好信息和年龄信息为辅助维度的分析结果。
进一步地,该装置还包括:
处理单元510,用于当该比较单元506比较的该第三距离的预测值小于两倍的该第一距离的预测值时,根据上一次更新后的该第一聚类中心点对该第二聚类中心点进行数据聚类处理。
进一步地,该处理单元510具体用于:计算该上一次更新后的该第一聚类中心点与该样本点之间的距离,得到第一距离的实际值;
按照三角形不等式规则将该第一处理单元510计算的该第一距离的实际值与该第三距离的预测值进行比较;
当该第一比较模块比较的该第三距离的预测值大于或者等于两倍的该第一距离的实际值时,将该第二聚类中心点丢弃,以便进行聚类距离遍历时,不 再计算该样本点与该第二聚类中心点之间的距离以及该第二聚类中心点与其他待遍历聚类中心点之间的距离;
当该第一比较模块比较的该第三距离的预测值小于两倍的该第一距离的实际值,则计算第四距离;其中,该第四距离为该样本点与该第二聚类中心点的距离;
确定该第二处理单元510计算的该第四距离是否小于该第一距离的实际值;
当该第一确定模块确定该第四距离小于该第一距离的实际值时,将该第二聚类中心点确定为当前距离遍历过程中与该样本点距离最近的聚类中心点;
当该第一确定模块确定该第四距离大于或者等于该第一距离的实际值时,将该上一次更新后的该第一聚类中心点确定为当前距离遍历过程中与该样本点距离最近的聚类中心点。
进一步地,该处理单元510具体还用于:
当该第四距离小于该第一距离的实际值,并且当前聚类距离遍历完成时,将该第二聚类中心点赋值给该上一次更新后的该第一聚类中心点,以及将该第四距离赋值给该第一距离的实际值;
当该第四距离小于该第一距离的实际值,并且当前聚类距离遍历未完成时,将该第二聚类中心点赋值给该上一次更新后的该第一聚类中心点,以及将该第四距离赋值给该第一距离的实际值,并基于赋值后的第一聚类中心点及赋值后的第一距离的实际值继续遍历该当前聚类中心集中的下一个聚类中心点。
进一步地,该处理单元510具体还用于:
当该第四距离大于或者等于该第一距离的实际值,并且当前聚类距离遍历完成时,将该上一次更新后的该第一聚类中心点确定为当前距离遍历过程中与该样本点距离最近的聚类中心点;
当该第四距离大于或者等于该第一距离的实际值,并且当前聚类距离遍历未完成,则基于该上一次更新后的该第一聚类中心点以及该第一距离的实际值 继续遍历该当前聚类中心集中的下一个聚类中心点。
进一步地,该处理单元510具体还用于:
在该第二处理单元510计算的该第四距离之前,计算第五距离,该第五距离为该第二聚类中心点与该上一次更新后的该第一聚类中心点之间的距离;
按照三角形不等式规则将该第一处理单元510计算的该第一距离的实际值与该第三处理单元510计算的该第五距离进行比较;
当该第二比较模块比较的该第五距离大于或者等于两倍的该第一距离的实际值,则将该第二聚类中心点丢弃,以便进行聚类遍历时,不再计算该样本点与该第二聚类中心点之间的距离以及该第二聚类中心点与其他待遍历聚类中心点之间的距离;
当该第二比较模块比较的该第五距离小于两倍的该第一距离的实际值,则执行该计算该第四距离。
进一步地,该第二获取单元505,具体用于:
获取该第一聚类中心点上一次更新前对应的值及更新后对应的值,并计算该第一聚类中心点更新前后之间的第一差值;
获取该第二聚类中心点上一次更新前对应的值及更新后对应的值,并计算该第二聚类中心点更新前后之间的第二差值;
该第二距离与该第一处理模块计算的该第一差值及该第二处理模块计算的该第二差值进行减法计算,获得该第三距离的预测值。
进一步地,该装置还包括:
判断单元511,在该丢弃单元507将该第二聚类中心点丢弃之后,判断该当前聚类距离遍历是否完成;
遍历单元512,当该判断单元511判断未遍历完成时,继续遍历该当前聚类中心集中的下一个聚类中心点;
确定单元513,用于当该判断单元511判断遍历完成时,将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与该样本点距离最近的聚类中 心点。
本发明实施例提供的根据人群聚类结果进行分析的装置,在当前聚类距离遍历过程中,基于上一次更新的聚类中心集,根据第一聚类中心点上次更新前后的自身差值获取第一距离的预测值,该第一距离的预测值为需要进行数据聚类的样本点与该样本点距离最近的聚类中心点之间的距离,根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,第二距离为上一次聚类距离遍历过程中第一聚类中心点与第二聚类中心点之间的距离,第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点,将第三距离的预测值与第一距离的预测值进行比较,若第三距离的预测值大于或者等于两倍的第一距离的预测值时,将该第二聚类中心点丢弃。本发明中,基于三角形不等式规则,将聚类中心集中的第三距离的预测值大于或者等于两倍的第一距离的预测值对应的第二聚类中心点进行过滤,无需计算第二聚类中心点与样本点之间的距离,也无需计算第二样本点与其他待遍历聚类中心点之间的距离,因此,减少了计算第二样本点与其他待遍历聚类中心点之间的距离所消耗的时间及计算量,提高了数据聚类的计算效率。
上述本发明实施例中的技术方案,至少具有如下的技术效果或优点:
1、通过本发明实施例提供的根据人群聚类结果进行分析的方法以及装置,所获得的聚类结果会包括以年龄信息、性别信息、爱好信息和消费金额信息为基准维度对人群中的每一个人进行聚类后的聚类信息,对所获得聚类结果进行分析而获得的分析结果能够为企业制定产品生产方向提供准确的数据支持。
2、通过本发明实施例提供的根据人群聚类结果进行分析的方法以及装置,在当前聚类距离遍历过程中,基于上一次更新的聚类中心集,根据第一聚类中心点上次更新前后的自身差值获取第一距离的预测值,该第一距离的预测值为需要进行数据聚类的样本点与该样本点距离最近的聚类中心点之间的距离,根据第二距离、第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点 上一次更新前后的自身差值获取第三距离的预测值,第二距离为上一次聚类距离遍历过程中第一聚类中心点与第二聚类中心点之间的距离,第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点,将第三距离的预测值与第一距离的预测值进行比较,若第三距离的预测值大于或者等于两倍的第一距离的预测值时,将该第二聚类中心点丢弃。本发明中,基于三角形不等式规则,将聚类中心集中的第三距离的预测值大于或者等于两倍的第一距离的预测值对应的第二聚类中心点进行过滤,无需计算第二聚类中心点与样本点之间的距离,也无需计算第二样本点与其他待遍历聚类中心点之间的距离,因此,减少了计算第二样本点与其他待遍历聚类中心点之间的距离所消耗的时间及计算量,提高了数据聚类的计算效率。
本发明实施例公开了:
A1、一种根据人群聚类结果进行分析的方法,其特征在于,包括:
获得针对人群的样本集以及所述样本集的聚类中心集,所述样本集中每个样本点包括人群中对应的个人的描述信息,所述描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
针对所述样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定所述每一个样本点与所述聚类中心集中距离最近的聚类中心点,并将所述每一个样本点划分到所述聚类中心集中距离最近的聚类中心点对应的集合中,获得所述聚类中心集中的每一个聚类中心点对应的聚类集;
获得所述聚类集中样本点的平均值,并根据所述平均值更新所述聚类中心集;
根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,所述第一距离为需要进行数据聚类的样本点与所述第一聚类中心点之间的距离,所述第一聚类中心点为聚类距离遍历中与所述样本点距离最近的聚类中心点;
根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二 聚类中心点上一次更新前后的自身差值获取第三距离的预测值,其中,所述第二距离为上一次聚类距离遍历过程中所述第一聚类中心点与第二聚类中心点之间的距离,所述第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
按照三角形不等式规则将所述第一距离的预测值与所述第三距离的预测值进行比较;
若所述第三距离的预测值大于或者等于两倍的所述第一距离的预测值,则将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果,所述聚类结果包括以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度对所述人群中的每一个人进行聚类后的聚类信息;
对所述聚类结果进行分析,获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果。
A2、根据A1所述的方法,其特征在于,在所述获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果之后,所述方法还包括:
以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度,通过条形统计图、扇形统计图、折线统计图或网状统计图展示所述分析结果。
A3、根据A1所述的方法,其特征在于,所述获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果,具体包括:
获得以所述年龄信息为主维度,以所述性别信息、所述爱好信息和所述消 费金额信息为辅助维度的分析结果;或
获得以所述性别信息为主维度,以所述年龄信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果;或
获得以所述爱好信息为主维度,以所述性别信息、所述年龄信息和所述消费金额信息为辅助维度的分析结果;或
获得以所述消费金额信息为主维度,以所述性别信息、所述爱好信息和所述年龄信息为辅助维度的分析结果。
A4、根据A1所述的方法,其特征在于,所述方法还包括:
若所述第三距离的预测值小于两倍的所述第一距离的预测值,则根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理。
A5、根据A3所述的方法,其特征在于,所述根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理,包括:
计算所述上一次更新后的所述第一聚类中心点与所述样本点之间的距离,得到第一距离的实际值;
按照三角形不等式规则将所述第一距离的实际值与所述第三距离的预测值进行比较;
若所述第三距离的预测值大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
若所述第三距离的预测值小于两倍的所述第一距离的实际值,则计算第四距离,并确定所述第四距离是否小于所述第一距离的实际值;其中,所述第四距离为所述样本点与所述第二聚类中心点的距离;
若所述第四距离小于所述第一距离的实际值,则将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
若所述第四距离大于或者等于所述第一距离的实际值,则将所述上一次更 新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
A6、根据A5所述的方法,其特征在于,所述将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点,包括:
若所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历完成,则将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值;
若所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历未完成,则将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值,并基于赋值后的第一聚类中心点及赋值后的第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
A7、根据A5所述的方法,其特征在于,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点,包括:
若所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历完成,则将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
若所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历未完成,则基于所述上一次更新后的所述第一聚类中心点以及所述第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
A8、根据A6或A7所述的方法,其特征在于,在计算第四距离之前,所述方法还包括:
计算第五距离,所述第五距离为所述第二聚类中心点与所述上一次更新后的所述第一聚类中心点之间的距离;
按照三角形不等式规则将所述第一距离的实际值与所述第五距离进行比 较;
若所述第五距离大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
所述计算第四距离,包括:
若所述第五距离小于两倍的所述第一距离的实际值,则执行所述计算所述第四距离。
A9、根据A1-A7中任一项所述的方法,其特征在于,所述根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,包括:
获取所述第一聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第一聚类中心点更新前后之间的第一差值;
获取所述第二聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第二聚类中心点更新前后之间的第二差值;
将所述第二距离与所述第一差值及所述第二差值进行减法计算,获得所述第三距离的预测值。
A10、根据A7所述的方法,其特征在于,在将所述第二聚类中心点丢弃之后,在所述基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果之前,所述方法还包括:
判断所述当前聚类距离遍历是否完成;
若未遍历完成,则继续遍历所述当前聚类中心集中的下一个聚类中心点;
若遍历完成,则将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
B11、一种根据人群聚类结果进行分析的装置,其特征在于,包括:
获得单元,用于获得针对人群的样本集以及所述样本集的聚类中心集,所 述样本集中每个样本点包括人群中对应的个人的描述信息,所述描述信息至少包括年龄信息、性别信息、爱好信息和消费金额信息;
聚类集获得单元,用于针对所述样本集中的每一个样本点,依次遍历聚类中心集中的每一个聚类中心点,确定所述每一个样本点与所述聚类中心集中距离最近的聚类中心点,并将所述每一个样本点划分到所述聚类中心集中距离最近的聚类中心点对应的集合中,获得所述聚类中心集中的每一个聚类中心点对应的聚类集;
平均值获得单元,用于获得所述聚类集中样本点的平均值,并根据所述平均值更新所述聚类中心集;
第一获取单元,用于根据第一聚类中心点上一次更新前后的自身差值获取第一距离的预测值;其中,所述第一距离为需要进行数据聚类的样本点与所述第一聚类中心点之间的距离,所述第一聚类中心点为聚类距离遍历中与所述样本点距离最近的聚类中心点;
第二获取单元,用于根据第二距离、所述第一聚类中心点上一次更新前后的自身差值以及第二聚类中心点上一次更新前后的自身差值获取第三距离的预测值,其中,所述第二距离为上一次聚类距离遍历过程中所述第一聚类中心点与第二聚类中心点之间的距离,所述第二聚类中心点为当前聚类距离遍历过程中待遍历的聚类中心点;
比较单元,用于按照三角形不等式规则将所述第一获取单元获取的所述第一距离的预测值与所述第二获取单元获取的所述第三距离的预测值进行比较;
丢弃单元,用于当所述比较单元比较的所述第三距离的预测值大于或者等于两倍的所述第一距离的预测值时,将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
聚类结果获得单元,用于基于已丢弃所述第二聚类中心点的聚类中心集进行所述距离遍历,获得所述样本集的聚类结果,所述聚类结果包括以所述年龄 信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度对所述人群中的每一个人进行聚类后的聚类信息;
分析单元,用于对所述聚类结果进行分析,获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果。
B12、根据B11所述的装置,其特征在于,所述装置还包括:
展示单元,用于在所述分析单元获得以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度的分析结果之后,以所述年龄信息、所述性别信息、所述爱好信息和所述消费金额信息为基准维度,通过条形统计图、扇形统计图、折线统计图或网状统计图展示所述分析结果。
B13、根据B11所述的装置,其特征在于,所述分析单元具体用于获得以所述年龄信息为主维度,以所述性别信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果,或获得以所述性别信息为主维度,以所述年龄信息、所述爱好信息和所述消费金额信息为辅助维度的分析结果,或获得以所述爱好信息为主维度,以所述性别信息、所述年龄信息和所述消费金额信息为辅助维度的分析结果,或获得以所述消费金额信息为主维度,以所述性别信息、所述爱好信息和所述年龄信息为辅助维度的分析结果。
B14、根据B11所述的装置,其特征在于,所述装置还包括:
处理单元,用于当所述比较单元比较的所述第三距离的预测值小于两倍的所述第一距离的预测值时,根据上一次更新后的所述第一聚类中心点对所述第二聚类中心点进行数据聚类处理。
B15、根据B14所述的装置,其特征在于,所述处理单元具体用于:计算所述上一次更新后的所述第一聚类中心点与所述样本点之间的距离,得到第一距离的实际值;
按照三角形不等式规则将所述第一计算模块计算的所述第一距离的实际值与所述第三距离的预测值进行比较;
当所述第一比较模块比较的所述第三距离的预测值大于或者等于两倍的 所述第一距离的实际值时,将所述第二聚类中心点丢弃,以便进行聚类距离遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
当所述第一比较模块比较的所述第三距离的预测值小于两倍的所述第一距离的实际值,则计算第四距离;其中,所述第四距离为所述样本点与所述第二聚类中心点的距离;
确定所述第二计算模块计算的所述第四距离是否小于所述第一距离的实际值;
当所述第一确定模块确定所述第四距离小于所述第一距离的实际值时,将所述第二聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点;
当所述第一确定模块确定所述第四距离大于或者等于所述第一距离的实际值时,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
B16、根据B14所述的装置,其特征在于,所述计算模块具体还用于:
当所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历完成时,将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值;
当所述第四距离小于所述第一距离的实际值,并且当前聚类距离遍历未完成时,将所述第二聚类中心点赋值给所述上一次更新后的所述第一聚类中心点,以及将所述第四距离赋值给所述第一距离的实际值,并基于赋值后的第一聚类中心点及赋值后的第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
B17、根据B14所述的装置,其特征在于,所述计算模块具体还用于:
当所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历完成时,将所述上一次更新后的所述第一聚类中心点确定为当前距离遍历 过程中与所述样本点距离最近的聚类中心点;
当所述第四距离大于或者等于所述第一距离的实际值,并且当前聚类距离遍历未完成,则基于所述上一次更新后的所述第一聚类中心点以及所述第一距离的实际值继续遍历所述当前聚类中心集中的下一个聚类中心点。
B18、根据B16或B17所述的装置,其特征在于,所述处理单元具体还用于:
在所述第二计算模块计算的所述第四距离之前,计算第五距离,所述第五距离为所述第二聚类中心点与所述上一次更新后的所述第一聚类中心点之间的距离;
按照三角形不等式规则将所述第一计算模块计算的所述第一距离的实际值与所述第三计算模块计算的所述第五距离进行比较;
当所述第二比较模块比较的所述第五距离大于或者等于两倍的所述第一距离的实际值,则将所述第二聚类中心点丢弃,以便进行聚类遍历时,不再计算所述样本点与所述第二聚类中心点之间的距离以及所述第二聚类中心点与其他待遍历聚类中心点之间的距离;
当所述第二比较模块比较的所述第五距离小于两倍的所述第一距离的实际值,则执行所述计算所述第四距离。
B19、根据B11-B17中任一项所述的装置,其特征在于,所述第二获取单元,具体用于:
获取所述第一聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第一聚类中心点更新前后之间的第一差值;
获取所述第二聚类中心点上一次更新前对应的值及更新后对应的值,并计算所述第二聚类中心点更新前后之间的第二差值;
所述第二距离与所述第一处理模块计算的所述第一差值及所述第二处理模块计算的所述第二差值进行减法计算,获得所述第三距离的预测值。
B20、根据B17所述的装置,其特征在于,所述装置还包括:
判断单元,在所述丢弃单元将所述第二聚类中心点丢弃之后,判断所述当前聚类距离遍历是否完成;
遍历单元,当所述判断单元判断未遍历完成时,继续遍历所述当前聚类中心集中的下一个聚类中心点;
确定单元,用于当所述判断单元判断遍历完成时,将上一次更新后的第一聚类中心点确定为当前距离遍历过程中与所述样本点距离最近的聚类中心点。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。