CN112949764A - 数据聚类方法、装置、设备及存储介质 - Google Patents
数据聚类方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112949764A CN112949764A CN202110361982.7A CN202110361982A CN112949764A CN 112949764 A CN112949764 A CN 112949764A CN 202110361982 A CN202110361982 A CN 202110361982A CN 112949764 A CN112949764 A CN 112949764A
- Authority
- CN
- China
- Prior art keywords
- user
- distance value
- users
- initiator
- participant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 239000003999 initiator Substances 0.000 claims abstract description 123
- 238000012545 processing Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Accounting & Taxation (AREA)
- Evolutionary Biology (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供一种数据聚类方法、装置、设备及存储介质,该方法通过接收来自发起方的距离值集合以及参与方的距离值集合,其中,发起方的距离值集合包括发起方的用户集合中两两用户的第一特征数据的距离值,参与方的距离值集合包括参与方的用户集合中两两用户的第二特征数据的距离值,发起方和参与方的用户集合相同,第一特征数据与第二特征数据不同。根据接收到的发起方的距离值集合以及参与方的距离值集合,确定用户集合中每一个用户的聚类结果,将每一个用户的聚类结果返回至发起方和参与方。上述方案协同发起方和参与方的重叠用户的数据特征,综合考虑各方用户的特征数据,得到的用户聚类结果更加准确,从而提升各方的整体性能。
Description
技术领域
本公开涉及数据处理技术领域,尤其涉及一种数据聚类方法、装置、设备及存储介质。
背景技术
目前,机器学习聚类算法已广泛应用于包括用户画像生成、图像分组、异常点检测等领域。以用户画像生成为例,通过对大量用户数据进行聚类分析,可以将用户划分到不同的类,从而基于用户类别提供个性化推荐服务。
随着互联网技术的快速发展,在各领域的数据平台中,用户的数据量大幅提升,各领域有着一大部分重合的用户,例如社交平台有某用户的浏览数据,电商平台有该用户的购物数据。不同领域的数据平台通常是基于自身平台的用户数据对用户进行聚类。
上述聚类方案中,数据平台是基于用户在某些维度的特征进行聚类,聚类准确度不高。
发明内容
本公开提供一种数据聚类方法、装置、设备及存储介质,提升用户聚类效果。
第一方面,本公开提供一种数据聚类方法,该方法包括:
接收来自发起方的距离值集合以及参与方的距离值集合,所述发起方的距离值集合包括所述发起方的用户集合中两两用户的第一特征数据的距离值,所述参与方的距离值集合包括所述参与方的用户集合中两两用户的第二特征数据的距离值,所述发起方和所述参与方的用户集合相同,所述第一特征数据与所述第二特征数据不同;
根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,所述聚类结果用于指示所述每一个用户所在的类;
将所述聚类结果返回至所述发起方和所述参与方。
在本公开的一个实施例中,所述第一特征数据或所述第二特征数据用于指示所述用户的至少一个特征。
在本公开的一个实施例中,所述接收来自发起方的距离值集合以及参与方的距离值集合,包括:
接收所述发起方经加密处理后的用户集合中两两用户的第一特征数据的距离值,以及所述参与方经加密处理后的用户集合中两两用户的第二特征数据的距离值。
在本公开的一个实施例中,所述接收来自发起方的距离值集合以及参与方的距离值集合之前,所述方法包括:
向所述发起方发送第一随机数,并向所述参与方发送第二随机数,所述第一随机数与所述第二随机数互为相反数;
所述第一随机数用于所述发起方对所述发起方的用户集合中两两用户的第一特征数据的距离值进行加密处理,所述第二随机数用于所述参与方对所述参与方的用户集合中两两用户的第二特征数据的距离值进行加密处理。
在本公开的一个实施例中,所述根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,包括:
根据来自所述发起方的两两用户的第一特征数据的距离值,以及所述参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心;
基于所述多个用户聚类中心,确定所述用户集合中每一个用户的聚类结果。
在本公开的一个实施例中,所述根据来自所述发起方的两两用户的第一特征数据的距离值,以及所述参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心,包括:
通过遍历所述用户集合中的每一个用户,确定所述每一个用户与所述用户集合中其他用户的联合特征数据的距离值;所述联合特征数据包括所述第一特征数据和所述第二特征数据;
若第一用户与所述用户集合中其他用户的联合特征数据的距离值小于预设距离值,且所述其他用户的个数大于预设用户数量,则将所述第一用户作为一个用户聚类中心,所述第一用户为所述用户集合中的任意一个用户。
在本公开的一个实施例中,所述确定所述每一个用户与所述用户集合中其他用户的联合特征数据的距离值,包括:
获取所述发起方发送的所述第一用户与第二用户的第一特征数据的第一距离值,以及所述参与方发送的所述第一用户与所述第二用户的第二特征数据的第二距离值;所述第二用户为所述用户集合中除所述第一用户之外的任意一个用户;
根据所述第一距离值和所述第二距离值,确定所述第一用户与所述第二用户的联合特征数据的距离值。
在本公开的一个实施例中,所述基于所述多个用户聚类中心,确定所述用户集合中每一个用户的聚类结果,包括:
从所述多个用户聚类中心中随机选取一个用户聚类中心,确定随机选取的用户聚类中心所在邻域范围内是否存在其他用户聚类中心;
若存在其他用户聚类中心,将随机选取的用户聚类中心以及所述其他用户聚类中心所在领域范围内的所有用户归为一类。
第二方面,本公开提供一种数据聚类装置,包括:
接收模块,用于接收来自发起方的距离值集合以及参与方的距离值集合,所述发起方的距离值集合包括所述发起方的用户集合中两两用户的第一特征数据的距离值,所述参与方的距离值集合包括所述参与方的用户集合中两两用户的第二特征数据的距离值,所述发起方和所述参与方的用户集合相同,所述第一特征数据与所述第二特征数据不同;
处理模块,用于根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,所述聚类结果用于指示所述每一个用户所在的类;
发送模块,用于将所述聚类结果返回至所述发起方和所述参与方。
第三方面,本公开提供一种电子设备,该电子设备包括:
存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如本公开的第一方面中任一项所述的方法。
第四方面,本公开提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本公开的第一方面中任一项所述的方法。
第五方面,本公开提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本公开的第一方面中任一项所述的方法。
本公开提供一种数据聚类方法、装置、设备及存储介质,该方法通过接收来自发起方的距离值集合以及参与方的距离值集合,其中,发起方的距离值集合包括发起方的用户集合中两两用户的第一特征数据的距离值,参与方的距离值集合包括参与方的用户集合中两两用户的第二特征数据的距离值,发起方和参与方的用户集合相同,第一特征数据与第二特征数据不同。根据接收到的发起方的距离值集合以及参与方的距离值集合,确定用户集合中每一个用户的聚类结果,将每一个用户的聚类结果返回至发起方和参与方。上述方案协同发起方和参与方的重叠用户的数据特征,综合考虑各方用户的特征数据,得到的用户聚类结果更加准确,从而提升各方的整体性能。
附图说明
图1为本公开实施例提供的数据聚类方法的场景示意图;
图2为本公开实施例提供的数据聚类方法的流程示意图一;
图3为本公开实施例提供的数据聚类方法的流程示意图二;
图4为本公开实施例提供的数据聚类方法的流程示意图三;
图5为本公开实施例提供的用户聚类中心的示意图一;
图6为本公开实施例提供的用户聚类中心的示意图二;
图7为本公开实施例提供的数据聚类装置的结构示意图;
图8为本公开实施例提供的电子设备的结构示意图。
本公开目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
基于背景技术部分的记载,数据平台仅基于自身平台的用户数据进行聚类分析,得到用户的聚类结果仅综合了该平台中用户的部分特征,聚类准确度不高。下面示出了基于不同数据平台的用户数据,进行用户聚类的实例。
在一种可选的场景中,电商平台通过获取平台上大量用户的操作数据,对用户进行聚类,例如可以基于用户的下单数量、下单金额、下单产品或服务的类别、平台浏览时长等数据,将用户划分到不同的类。本场景的聚类方案仅考虑了用户在电商平台的数据特征,用户聚类效果有待提升。
在另一种可选的场景中,金融平台通过获取平台上大量用户的金融数据,对用户进行聚类,例如可以基于用户活期存款量、购买金融产品的次数、转账次数、转账金额、信用卡支付金额等数据,将用户划分到不同的类。本场景的聚类方案仅考虑了用户在金融平台的数据特征,用户聚类效果有待提升。
在又一种可选的场景中,社交平台通过获取平台上大量用户的搜索或浏览数据,对用户进行聚类,用户的搜索或浏览数据指示了用户感兴趣的内容,可将用户划分到不同的类。本场景的聚类方案仅考虑用户在社交平台的数据特征,用户聚类效果有待提升。
随着互联网技术的不断发展,大多数用户通过各类数据平台获取信息、购买产品或服务,涉及到生活中的各个领域,各类数据平台的用户有较高的重叠。因此,在解决上述问题时,发明人考虑结合多个数据平台的用户数据,基于用户在各个数据平台的特征数据,对用户进行综合聚类,与现有用户聚类方案相比,可提升各数据平台的用户聚类效果。
由于受隐私保护的限制,各数据平台的用户数据不能离开本地,因此不能直接将各个数据平台的用户数据收集到第三方平台,再进行综合聚类。本公开提供如下技术构思:考虑将用户数据的预处理过程放在各个参与方执行,各个参与方将预处理后的数据(不是原始的用户数据)发送至第三方(或称为仲裁方arbiter),第三方根据各个参与方发送的预处理后的数据,对用户进行综合聚类,采用密度聚类算法,确定每个用户的聚类结果,最终将每个用户的聚类结果返回至各个参与方。上述方案综合考虑各方用户的特征数据,得到的聚类结果更加准确。
在介绍本公开实施例提供的技术方案之前,首先对本公开实施例提供的数据聚类的应用场景进行简要说明。
示例性的,图1为本公开实施例提供的数据聚类方法的一种场景示意图,如图1所示,该场景包括至少三个服务器,例如图1中的服务器11至13,两两服务器相互连接,服务器11和服务器12分别代表不同数据平台的服务器,例如服务器11为金融平台的服务器,服务器12为电商平台的服务器。服务器13代表第三方平台的服务器。
服务器11和服务器12之间可以交换部分数据,例如服务器11向服务器12发送服务器11中存储的用户标识,服务器12向服务器11发送服务器12中存储的用户标识,通过数据交换,服务器11和服务器12确定需要进行用户数据预处理的用户有哪些,即确定用户集合,用户集合中的用户在两个服务器中均存在。其中,对用户数据的预处理主要是确定用户集合中的两两用户的特征数据的距离值,用于表征用户之间的特征相似度。相似度越高,距离值越小,相似度越低,距离值越大。
服务器13接收服务器11以及服务器12发送的预处理后的数据包,数据包中包括多个距离值,服务器13根据服务器11以及服务器12发送的数据包,确定两两用户的联合特征数据的距离值,基于两两用户的联合特征数据的距离值,确定用户的聚类中心,采用密度聚类确定每个用户的聚类结果。
下面以具体地实施例对本公开的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本公开实施例提供的数据聚类方法的流程示意图一,本实施例提供的数据聚类方法可应用于如图1所示的服务器13,服务器13为第三方的服务器,独立于发起方以及参与方的服务器。
如图2所示,该方法包括:
步骤101、接收来自发起方的距离值集合以及参与方的距离值集合。
本实施例中,发起方的距离值集合包括发起方的用户集合中两两用户的第一特征数据的距离值,参与方的距离值集合包括参与方的用户集合中两两用户的第二特征数据的距离值。
其中,发起方和参与方的用户集合相同,即发起方的用户集合中的用户同时也在参与方的用户集合中。
示例性的,发起方和参与方的用户集合均包括用户1、用户2和用户3,发起方和参与方的距离值集合均包括用户1与用户2的特征数据的距离值,用户1与用户3的特征数据的距离值,用户2与用户3的特征数据的距离值。
其中,发起方的距离值集合中的距离值指示两两用户的第一特征数据的距离值,参与方的距离值集合中的距离值指示两两用户的第二特征数据的距离值。
示例性的,发起方为金融平台,参与方为电商平台,金融平台的用户的特征数据包括活期存款的数量,购买金融产品的数量,消费渠道等。电商平台的用户的特征数据包括下单数量,下单金额,下单或浏览产品或服务的类别等。从上述示例可知,发起方和参与方的用户的特征数据不同,即第一特征数据与第二特征数据不同。
在本公开的一个实施例中,第一特征数据或第二特征数据用于指示用户的一个特征,即发起方或参与方的用户的特征数据均为单一维度的特征数据。
在本公开的一个实施例中,第一特征数据或第二特征数据用于指示用户的至少两个特征,即发起方或参与方的用户的特征数据均为多维度的特征数据。
本实施例中,无论是发起方还是参与方,两两用户的特征数据的距离值的确定方式相同。下面以发起方为例,结合两个具体实例对两两用户的特征数据的距离值的确定过程进行说明。
实例1:发起方的用户的第一特征数据为单一维度的特征数据。
用户a和用户b为发起方的用户集合中的任意两个用户,假设用户a在发起方的第一特征数据包括特征A1_a,用户b在发起方的第一特征数据包括特征A1_b,则用户a与用户b的第一特征数据的距离值可表示为disthost=(A1_a-A1_b)2。
本实例中,用户a与用户b的第一特征数据的距离值表征了这两个用户在单一特征维度的相似度。
实例2:发起方的用户的第一特征数据为多维度的特征数据。
用户a和用户b为发起方的用户集合中的任意两个用户,假设用户a在发起方的第一特征数据包括特征A1_a,特征A2_a,特征A3_a,用户b在发起方的第一特征数据包括特征A1_b,特征A2_b,特征A3_b,则用户a与用户b的第一特征数据的距离值可表示为disthost=(A1_a-A1_b)2+(A2_a-A2_b)2+(A3_a-A3_b)2。
本实例中,用户1与用户2的第一特征数据的距离值表征了这两个用户在多个特征维度的总的相似度。
基于相同的原理,可以确定参与方的两两用户的第二特征数据的距离值,得到参与方的距离值集合。
在本公开的一个实施例中,在发起方和参与方向第三方发送距离值集合之前,发起方和参与方需要利用联邦交集技术(intersect)对齐双方的用户标识id。发起方和参与方在确定双方都存在的用户之后,将双方都存在的用户保存到一个用户集合,提取用户集合中每个用户的特征数据,计算用户集合中两两用户的特征数据的距离值,生成各方的距离值集合。
从上述描述可知,本实施例的发起方和参与方都没有设置初始化用户中心点,无需计算每一个用户与初始用户中心点的特征数据的距离值,而是通过遍历每一个用户,计算每一个用户与用户集合中其他用户的特征数据的距离值,生成距离值集合,这样可以降低传统方法调整用户聚类中心个数的难度,可以得到更为合理的聚类结果。
步骤102、根据发起方的距离值集合以及参与方的距离值集合,确定用户集合中每一个用户的聚类结果,聚类结果用于指示每一个用户所在的类。
在本实施例中,根据来自发起方的两两用户的第一特征数据的距离值,以及参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心,再基于多个用户聚类中心,确定用户集合中每一个用户的聚类结果。
由于发起方和参与方的用户集合中的用户相同,因此发起方和参与方的两两用户的特征数据的距离值是对应的,例如发起方的距离值集合包括用户1与用户2的特征数据的距离值,参与方的距离值集合也包括用户1与用户2的特征数据的距离值。根据发起方和参与方的距离值集合中相同的两个用户的特征数据的距离值,可以确定这两个用户的联合特征数据的距离值,从而得到多组联合特征数据的距离值,再根据多组联合特征数据的距离值,确定多个用户聚类中心。
用户聚类中心实际是从用户集合的多个用户中确定的用户,可以表征一类用户。具体的,根据多个用户聚类中心,确定用户集合中每一个用户的聚类结果,包括:遍历每一个用户聚类中心,将用户聚类中心邻域范围内的所有用户归为一类,从而确定用户集合中每一个用户的聚类结果。
步骤103、将聚类结果返回至发起方和参与方。
在确定每一个用户的聚类结果后,将每一个用户的聚类结果返回至发起方和参与方,完成用户数据聚类。
本实施例提供的数据聚类方法,协同发起方和参与方的重叠用户的数据特征,实现对重叠用户的综合聚类。发起方和参与方通过向第三方传输两两用户的特征数据的距离值,确保各方用户的特征数据不离开本地,第三方基于各方发送的距离值集合,确定用户集合中每一个用户的聚类结果,再将每一个用户的聚类结果返回发起方和参与方。上述数据聚类过程,综合考虑各方用户的特征数据,得到的聚类结果更加准确。
可选的,在一些实施例中,第三方接收的距离值集合可以来自三个或三个以上的参与方,其中多个参与方具有较大数量的重叠用户,各个参与方的用户的特征数据不同,例如参与方1的服务器中保存有用户的第一特征数据,参与方2的服务器中保存有用户的第二特征数据,参与方3的服务器中保存有用户的第三特征数据。基于上述实施例的实现原理,第三方可综合三个或三个以上参与方发送的距离值集合,确定用户集合中两两用户的联合特征数据的距离值,联合特征数据包括上述三种特征数据。根据用户集合中两两用户的联合特征数据的距离值,确定多个用户聚类中心,从而实现对用户集合中每一用户的类别划分。
下面结合具体的实施例对第三方根据各方发送的距离值集合,确定用户聚类中心的实现方式进行说明。图3为本公开实施例提供的数据聚类方法的流程示意图二,如图3所示,该方法包括:
步骤201、通过遍历用户集合中的每一个用户,确定每一个用户与用户集合中其他用户的联合特征数据的距离值。
其中,联合特征数据包括第一特征数据和第二特征数据。
下面以第一用户和第二用户为例,对两两用户的联合特征数据的距离值的确定过程进行说明,第一用户为用户集合中的任意一个用户,第二用户为用户集合中除第一用户之外的任意一个用户。
首先,从发起方的距离值集合中获取第一用户与第二用户的第一特征数据的第一距离值,从参与方的距离值集合中获取第一用户与第二用户的第二特征数据的第二距离值。然后,根据第一距离值和第二距离值,确定第一用户与第二用户的联合特征数据的距离值。
实例1:第一特征数据和第二特征数据均为单一维度的特征数据,第一用户和第二用户的第一特征数据分别为A1_a和A1_b,第一用户和第二用户的第二特征数据分别为B1_a和B1_b。
第一用户与第二用户的第一特征数据的第一距离值可表示为disthost_1=(A1_a-A1_b)2,第一用户与第二用户的第二特征数据的第二距离值可表示为disthost_2=(B1_a-B1_b)2,第一用户与第二用户的联合特征数据的距离值可表示为:
实例2:第一特征数据和第二特征数据均为多维度的特征数据。
发起方的第一用户的第一特征数据为{A1_a,A2_a,A3_a},第二用户的第一特征数据为{A1_b,A2_b,A3_b},第一用户和第二用户的第一特征数据的第一距离值可表示为disthost_1=(A1_a-A1_b)2+(A2_a-A2_b)2+(A3_a-A3_b)2。
同样的,参与方的第一用户的第二特征数据为{B1_a,B2_a},第二用户的第二特征数据为{B1_b,B2_b},第一用户和第二用户的第二特征数据的第二距离值可表示为disthost_2=(B1_a-B1_b)2+(B2_a-B2_b)2。
第一用户与第二用户的联合特征数据的距离值可表示为:
从上述实例可知,用户集合中两两用户的联合特征数据的距离值是对两两用户的第一特征数据的距离值和第二特征数据的距离值进行加和开根号确定的。
步骤202、若与第一用户的联合特征数据的距离值小于或等于预设距离值的其他用户的个数大于预设用户数量,则将第一用户作为一个用户聚类中心。
示例性的,假设用户集合中有10个用户,第一用户与用户集合中其他9个用户的联合特征数据的距离值分别为5,6,3,3,4,6,1,7,8,预设距离值设置为6,预设用户数量设置为5,可以确定与第一用户的联合特征数据的距离值小于或等于6的其他用户的个数为6个,其他用户的个数大于预设用户数量5,因此第一用户可以看作一个用户聚类中心。
应理解,在实际应用中,用户集合中的用户数量更多,可以根据应用需求设置预设距离值和预设用户数量,对此本实施例不作任何限制。
通过上述实施例遍历用户集合中的每一个用户,确定每一个用户是否可以作为一个用户聚类中心。然而,通过上述方式确定的多个用户聚类中心存在两个相邻聚类中心距离较近的情况,因此可以通过下面一个实施例对确定的多个用户聚类中心进行优化处理,确定用户集合中每一个用户的聚类结果。
图4为本公开实施例提供的数据聚类方法的流程示意图三,图5为本公开实施例提供的用户聚类中心的示意图一,图6为本公开实施例提供的用户聚类中心的示意图二。
如图4所示,该方法包括:
步骤301、从多个用户聚类中心中随机选取一个用户聚类中心,确定随机选取的用户聚类中心所在邻域范围内是否存在其他用户聚类中心。
步骤302、若存在其他用户聚类中心,将随机选取的用户聚类中心以及其他用户聚类中心所在领域范围内的所有用户归为一类。
示例性的,假设发起方和参与方的用户的特征数据均为单一维度的特征数据,第三方根据发起方和参与方的两两用户的联合特征数据的距离值,可以确定每一个用户与其他用户的联合特征数据的相对位置关系,图5示出了用户集合中各个用户的一种相对位置关系,采用图3所示实施例,可以从用户集合中确定出5个用户聚类中心,如图5所示的聚类中心点A,B,C,D,E,将这5个用户聚类中心放入聚类中心集合中。从聚类中心集合中随机选取一个用户聚类中心,例如聚类中心点A,由于聚类中心点A所在邻域范围内有聚类中心点D,因此,可以将聚类中心点A和聚类中心点D所在邻域范围内的所有用户归为一类。
其中,每一个聚类中心点的邻域范围是指与聚类中心点的距离值小于预设距离值的范围,本实施例具体是指与聚类中心的用户的联合特征数据的距离值小于预设距离值的范围。
可选的,在一些实施例中,聚类中心点所在邻域范围内有其他聚类中心点,除了将这两个聚类中心点所在邻域范围内的所有用户归为一类之外,还需要进一步判断,聚类中心点所在邻域范围内的其他聚类中心点的邻域范围内是否还存在聚类中心点,直至最新加入的聚类中心点所在邻域范围内没有新的聚类中心点。
图6示出了用户集合中各个用户的另一种相对位置关系,与图5类似,同样包括5个用户聚类中心,分别为聚类中心点A,B,C,D,E。与图5不同的是,聚类中心点A所在邻域范围内有聚类中心点D,进一步判断聚类中心点D所在邻域范围内是否存在其他聚类中心点,如图6所示,聚类中心点D所在邻域范围内还包括聚类中心点C,因此,可以将聚类中心点A、D和C所在邻域范围内的所有用户归为一类。进一步判断,聚类中心点C没有新的聚类中心点,将聚类中心点A、D和C从聚类中心集合中删除,再从聚类中心集合的剩余聚类中心点中随机选取一个聚类中心点,执行上述判断过程,直至聚类中心集合为空。
通过上述实施例提供的技术方案,将距离较近的用户聚类中心归为一类,从而将同一类的用户聚类中心的邻域范围内的所有用户划分为一类,实现基于密度的聚类,该聚类方法对离群点的敏感性低,但却同时可以发现离群点与异常点,另外,不需要设置初始的聚类中心个数,且对非凸数据集的聚类结果较理想。
在上述各实施例的基础上,下面一个实施例主要是对发起方、参与方与第三方传输数据的改进,虽然上述实施例中,发起方和参与方向第三方发送的数据并非用户的原始特征数据,但仍然存在安全风险,因此下面一个实施例提供一种加密传输方案,利用安全聚合(secure aggregation)计算实现数据的加密传输。
具体的,第三方在接收来自发起方的距离值集合以及参与方的距离值集合之前,首先向发起方发送第一随机数,并向参与方发送第二随机数。其中,第一随机数与第二随机数互为相反数。
第一随机数用于发起方对发起方的用户集合中两两用户的第一特征数据的距离值进行加密处理,第二随机数用于参与方对参与方的用户集合中两两用户的第二特征数据的距离值进行加密处理。
第三方接收发起方经加密处理后的用户集合中两两用户的第一特征数据的距离值,以及参与方经加密处理后的用户集合中两两用户的第二特征数据的距离值。随后根据发起方和参与方的距离值集合,确定多个用户聚类中心,完成对用户集合中每一个用户的类别划分。
示例性的,发起方利用第三方发送的第一随机数a,对两两用户的第一特征数据的距离值进行加密,参与方利用第三方发送的第二随机数-a,对两两用户的第二特征数据的距离值进行加密。发起方和参与方的加密方式均是将特征数据的距离值与随机数相加,由于第一随机数和第二随机数互为相反数,那么第三方在计算任意两个用户的联合特征数据的距离值时,可以直接对加密处理后的任意两个用户的特征数据的距离值,进行加和开根号,而无需对距离值进行解密处理,可提高第三方的数据处理速度。
需要说明的是,在实际应用中,第三方可以向三个或三个以上参与方发送随机数,随机数的总和为0,各参与方无法获取其他参与方的随机数,通过随机数对距离值进行加密,可确保传输数据的安全性。
本公开实施例可以根据上述方法实施例对数据聚类装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以使用硬件的形式实现,也可以使用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。下面以使用对应各个功能划分各个功能模块为例进行说明。
对应于上文实施例的数据聚类方法,图7为本公开实施例提供的数据聚类装置的结构示意图。为了便于说明,仅示出了与本公开实施例相关的部分。如图7所示,本实施例提供的数据聚类装置400包括:接收模块401,处理模块402以及发送模块403。
接收模块401,用于接收来自发起方的距离值集合以及参与方的距离值集合,所述发起方的距离值集合包括所述发起方的用户集合中两两用户的第一特征数据的距离值,所述参与方的距离值集合包括所述参与方的用户集合中两两用户的第二特征数据的距离值,所述发起方和所述参与方的用户集合相同,所述第一特征数据与所述第二特征数据不同;
处理模块402,用于根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,所述聚类结果用于指示所述每一个用户所在的类;
发送模块403,用于将所述聚类结果返回至所述发起方和所述参与方。
在本公开的一个实施例中,所述第一特征数据或所述第二特征数据用于指示所述用户的至少一个特征。
在本公开的一个实施例中,所述接收模块401,具体用于:
接收所述发起方经加密处理后的用户集合中两两用户的第一特征数据的距离值,以及所述参与方经加密处理后的用户集合中两两用户的第二特征数据的距离值。
在本公开的一个实施例中,所述发送模块403,还用于:
在接收模块401接收来自发起方的距离值集合以及参与方的距离值集合之前,向所述发起方发送第一随机数,并向所述参与方发送第二随机数,所述第一随机数与所述第二随机数互为相反数;
所述第一随机数用于所述发起方对所述发起方的用户集合中两两用户的第一特征数据的距离值进行加密处理,所述第二随机数用于所述参与方对所述参与方的用户集合中两两用户的第二特征数据的距离值进行加密处理。
在本公开的一个实施例中,所述处理模块402,具体用于:
根据来自所述发起方的两两用户的第一特征数据的距离值,以及所述参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心;
基于所述多个用户聚类中心,确定所述用户集合中每一个用户的聚类结果。
在本公开的一个实施例中,所述处理模块402,具体用于:
通过遍历所述用户集合中的每一个用户,确定所述每一个用户与所述用户集合中其他用户的联合特征数据的距离值;所述联合特征数据包括所述第一特征数据和所述第二特征数据;
若第一用户与所述用户集合中其他用户的联合特征数据的距离值小于预设距离值,且所述其他用户的个数大于预设用户数量,则将所述第一用户作为一个用户聚类中心,所述第一用户为所述用户集合中的任意一个用户。
在本公开的一个实施例中,所述处理模块402,具体用于:
获取所述发起方发送的所述第一用户与第二用户的第一特征数据的第一距离值,以及所述参与方发送的所述第一用户与所述第二用户的第二特征数据的第二距离值;所述第二用户为所述用户集合中除所述第一用户之外的任意一个用户;
根据所述第一距离值和所述第二距离值,确定所述第一用户与所述第二用户的联合特征数据的距离值。
在本公开的一个实施例中,所述处理模块402,具体用于:
从所述多个用户聚类中心中随机选取一个用户聚类中心,确定随机选取的用户聚类中心所在邻域范围内是否存在其他用户聚类中心;
若存在其他用户聚类中心,将随机选取的用户聚类中心以及所述其他用户聚类中心所在领域范围内的所有用户归为一类。
本公开实施例提供的数据聚类装置,用于执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
图8为本公开实施例提供的电子设备的结构示意图。如图8所示,本实施例的电子设备500可以包括:
至少一个处理器501(图8中仅示出了一个处理器);以及
与所述至少一个处理器通信连接的存储器502;其中,
所述存储器502存储有可被所述至少一个处理器501执行的计算机程序,所述计算机程序被所述至少一个处理器501执行,以使电子设备500能够执行前述任一方法实施例的技术方案。
可选的,存储器502既可以是独立的,也可以跟处理器501集成在一起。
当存储器502是独立于处理器501之外的器件时,电子设备500还包括:总线503,用于连接存储器502和处理器501。
本公开实施例提供的电子设备可以执行前述任一方法实施例的技术方案,其实现原理和技术效果类似,在此不再赘述。
本公开实施例还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,当所述计算机程序被处理器执行时用于实现前述任一方法实施例的技术方案。
本公开实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现前述任一方法实施例的技术方案。
本公开实施例还提供了一种芯片,包括:处理模块与通信接口,该处理模块能执行前述任一方法实施例的技术方案。
进一步地,该芯片还包括存储模块(如,存储器),存储模块用于存储指令,处理模块用于执行存储模块存储的指令,并且对存储模块中存储的指令的执行使得处理模块执行前述任一方法实施例的技术方案。
应理解,上述处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application Specific Integrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本公开附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称:ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电子设备中。
最后应说明的是:以上各实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述各实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的范围。
Claims (11)
1.一种数据聚类方法,其特征在于,包括:
接收来自发起方的距离值集合以及参与方的距离值集合,所述发起方的距离值集合包括所述发起方的用户集合中两两用户的第一特征数据的距离值,所述参与方的距离值集合包括所述参与方的用户集合中两两用户的第二特征数据的距离值,所述发起方和所述参与方的用户集合相同,所述第一特征数据与所述第二特征数据不同;
根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,所述聚类结果用于指示所述每一个用户所在的类;
将所述聚类结果返回至所述发起方和所述参与方。
2.根据权利要求1所述的方法,其特征在于,所述接收来自发起方的距离值集合以及参与方的距离值集合,包括:
接收所述发起方经加密处理后的用户集合中两两用户的第一特征数据的距离值,以及所述参与方经加密处理后的用户集合中两两用户的第二特征数据的距离值。
3.根据权利要求2所述的方法,其特征在于,所述接收来自发起方的距离值集合以及参与方的距离值集合之前,所述方法包括:
向所述发起方发送第一随机数,并向所述参与方发送第二随机数,所述第一随机数与所述第二随机数互为相反数;
所述第一随机数用于所述发起方对所述发起方的用户集合中两两用户的第一特征数据的距离值进行加密处理,所述第二随机数用于所述参与方对所述参与方的用户集合中两两用户的第二特征数据的距离值进行加密处理。
4.根据权利要求1所述的方法,其特征在于,所述根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,包括:
根据来自所述发起方的两两用户的第一特征数据的距离值,以及所述参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心;
基于所述多个用户聚类中心,确定所述用户集合中每一个用户的聚类结果。
5.根据权利要求4所述的方法,其特征在于,所述根据来自所述发起方的两两用户的第一特征数据的距离值,以及所述参与方的两两用户的第二特征数据的距离值,确定多个用户聚类中心,包括:
通过遍历所述用户集合中的每一个用户,确定所述每一个用户与所述用户集合中其他用户的联合特征数据的距离值;所述联合特征数据包括所述第一特征数据和所述第二特征数据;
若第一用户与所述用户集合中其他用户的联合特征数据的距离值小于预设距离值,且所述其他用户的个数大于预设用户数量,则将所述第一用户作为一个用户聚类中心,所述第一用户为所述用户集合中的任意一个用户。
6.根据权利要求5所述的方法,其特征在于,所述确定所述每一个用户与所述用户集合中其他用户的联合特征数据的距离值,包括:
获取所述发起方发送的所述第一用户与第二用户的第一特征数据的第一距离值,以及所述参与方发送的所述第一用户与所述第二用户的第二特征数据的第二距离值;所述第二用户为所述用户集合中除所述第一用户之外的任意一个用户;
根据所述第一距离值和所述第二距离值,确定所述第一用户与所述第二用户的联合特征数据的距离值。
7.根据权利要求4所述的方法,其特征在于,所述基于所述多个用户聚类中心,确定所述用户集合中每一个用户的聚类结果,包括:
从所述多个用户聚类中心中随机选取一个用户聚类中心,确定随机选取的用户聚类中心所在邻域范围内是否存在其他用户聚类中心;
若存在其他用户聚类中心,将随机选取的用户聚类中心以及所述其他用户聚类中心所在领域范围内的所有用户归为一类。
8.一种数据聚类装置,其特征在于,包括:
接收模块,用于接收来自发起方的距离值集合以及参与方的距离值集合,所述发起方的距离值集合包括所述发起方的用户集合中两两用户的第一特征数据的距离值,所述参与方的距离值集合包括所述参与方的用户集合中两两用户的第二特征数据的距离值,所述发起方和所述参与方的用户集合相同,所述第一特征数据与所述第二特征数据不同;
处理模块,用于根据所述发起方的距离值集合以及所述参与方的距离值集合,确定所述用户集合中每一个用户的聚类结果,所述聚类结果用于指示所述每一个用户所在的类;
发送模块,用于将所述聚类结果返回至所述发起方和所述参与方。
9.一种电子设备,其特征在于,所述电子设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110361982.7A CN112949764B (zh) | 2021-04-02 | 数据聚类方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110361982.7A CN112949764B (zh) | 2021-04-02 | 数据聚类方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112949764A true CN112949764A (zh) | 2021-06-11 |
CN112949764B CN112949764B (zh) | 2024-10-29 |
Family
ID=
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
WO2018077031A1 (zh) * | 2016-10-24 | 2018-05-03 | 菜鸟智能物流控股有限公司 | 一种资源分配方法和相关装置 |
CN109002858A (zh) * | 2018-07-23 | 2018-12-14 | 合肥工业大学 | 一种用于用户行为分析的基于证据推理的集成聚类方法 |
CN111242165A (zh) * | 2019-12-30 | 2020-06-05 | 北京顺达同行科技有限公司 | 商户聚类方法、装置、计算机设备和存储介质 |
CN112101579A (zh) * | 2020-11-18 | 2020-12-18 | 杭州趣链科技有限公司 | 基于联邦学习的机器学习方法、电子装置和存储介质 |
CN112231760A (zh) * | 2020-11-20 | 2021-01-15 | 天翼电子商务有限公司 | 一种隐私保护的分布式纵向K-means聚类 |
WO2021036906A1 (zh) * | 2019-08-27 | 2021-03-04 | 华为技术有限公司 | 一种图片处理方法及装置 |
CN112508203A (zh) * | 2021-02-08 | 2021-03-16 | 同盾控股有限公司 | 一种联邦数据聚类方法、装置、计算机设备及存储介质 |
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018077031A1 (zh) * | 2016-10-24 | 2018-05-03 | 菜鸟智能物流控股有限公司 | 一种资源分配方法和相关装置 |
CN107067045A (zh) * | 2017-05-31 | 2017-08-18 | 北京京东尚科信息技术有限公司 | 数据聚类方法、装置、计算机可读介质和电子设备 |
CN109002858A (zh) * | 2018-07-23 | 2018-12-14 | 合肥工业大学 | 一种用于用户行为分析的基于证据推理的集成聚类方法 |
WO2021036906A1 (zh) * | 2019-08-27 | 2021-03-04 | 华为技术有限公司 | 一种图片处理方法及装置 |
CN111242165A (zh) * | 2019-12-30 | 2020-06-05 | 北京顺达同行科技有限公司 | 商户聚类方法、装置、计算机设备和存储介质 |
CN112101579A (zh) * | 2020-11-18 | 2020-12-18 | 杭州趣链科技有限公司 | 基于联邦学习的机器学习方法、电子装置和存储介质 |
CN112231760A (zh) * | 2020-11-20 | 2021-01-15 | 天翼电子商务有限公司 | 一种隐私保护的分布式纵向K-means聚类 |
CN112508203A (zh) * | 2021-02-08 | 2021-03-16 | 同盾控股有限公司 | 一种联邦数据聚类方法、装置、计算机设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
曾俊;: "基于划分的数据挖掘K-means聚类算法分析", 现代电子技术, no. 03, 1 February 2020 (2020-02-01) * |
申晋祥;鲍美英;: "基于用户聚类与项目划分的优化推荐算法", 计算机系统应用, no. 06, 15 June 2019 (2019-06-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jung et al. | Accounttrade: Accountable protocols for big data trading against dishonest consumers | |
US12107947B2 (en) | Multi-blockchain digital transaction information segregation system | |
US20200285898A1 (en) | Systems and methods for training a data classification model | |
WO2020132084A1 (en) | Mint-and-burn blockchain-based feedback-communication protocol | |
CN109255255A (zh) | 基于区块链的数据处理方法、装置、设备和存储介质 | |
TW202009760A (zh) | 身份資訊的識別方法及裝置 | |
US20070073837A1 (en) | Online multimedia file distribution system and method | |
TWI588763B (zh) | 基於實體資產授信虛擬貨幣之系統及其方法 | |
CN105389488B (zh) | 身份认证方法及装置 | |
CN112465627B (zh) | 基于区块链和机器学习的金融借贷审核方法及系统 | |
US20230198785A1 (en) | Computer-implemented digital communication using cryptography | |
KR20190122200A (ko) | 분산형 브리징 네트워크 플랫폼을 식별 방지하는 방법 | |
KR101723865B1 (ko) | 빅데이터 분석을 이용한 p2p 뱅킹 신용도 평가에서의 개인정보 관리 방법 및 시스템 | |
CN112328886A (zh) | 一种基于区块链的信贷推荐方法、设备及存储介质 | |
WO2022237175A1 (zh) | 图数据的处理方法、装置、设备、存储介质及程序产品 | |
JP7257172B2 (ja) | 通信プログラム、通信装置、および、通信方法 | |
WO2019196254A1 (zh) | 电子资源包的处理方法、装置、终端设备及介质 | |
WO2020000631A1 (zh) | 虚拟货币价值估算方法、装置、电子设备及存储介质 | |
CN113191894A (zh) | 数字货币交易的执行方法及装置和电子设备 | |
US20100125526A1 (en) | Three Party Services Transaction System | |
CN112949764B (zh) | 数据聚类方法、装置、设备及存储介质 | |
CN116681527A (zh) | 基于元宇宙文化产品的数字资产交易方法、装置与系统 | |
CN112949764A (zh) | 数据聚类方法、装置、设备及存储介质 | |
CN113515716B (zh) | 一种具有隐私保护的目标模式匹配系统及方法 | |
CN112712353B (zh) | 一种数字货币兑零支付方法、系统及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |