CN114638316A - 一种数据聚类方法、装置和设备 - Google Patents
一种数据聚类方法、装置和设备 Download PDFInfo
- Publication number
- CN114638316A CN114638316A CN202210328668.3A CN202210328668A CN114638316A CN 114638316 A CN114638316 A CN 114638316A CN 202210328668 A CN202210328668 A CN 202210328668A CN 114638316 A CN114638316 A CN 114638316A
- Authority
- CN
- China
- Prior art keywords
- data
- clustering
- clustering result
- stage
- target
- 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.)
- Pending
Links
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
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- 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
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据聚类方法、装置和设备,所述数据聚类方法包括:根据网络平台上基础数据,确定所述基础数据的第一聚类结果;获取每一阶段加入所述基础数据的增量数据;根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。本发明方案,可以实现实时获得全量数据的聚类结果,减少数据聚类方法处理数据时间长,并且可以避免全量数据的多次读入和读出,有效减少内存消耗,降低硬件设备的成本。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据聚类方法、装置和设备。
背景技术
随着物联网和5G网络等技术的快速发展产生了大量且连续的动态流数据,及时快速的分析出流数据中的有价值信息,将带来巨大的盈利。由于流数据的新特性,传统方法用于流数据处理存在时间上和资源上的弊端。首先,使用传统的静态数据聚类方法会耗费大量的处理时间,由于数据价值与时间成反比,处理时间长造成数据价值降低。其次,传统方法以全量数据为计算对象,每次执行都需要较大的内存空间,造成计算资源的浪费,提高数据分析的成本。
因此,需要一种数据聚类方法,解决现有数据聚类方法处理数据时间长且消耗内存大的问题。
发明内容
本发明实施例提供一种数据聚类方法、装置和设备,用以解决现有技术中,数据聚类方法处理数据时间长且消耗内存大的问题。
为了解决上述技术问题,本发明实施例提供如下技术方案:
本发明实施例提供一种数据聚类方法,包括:
根据网络平台上基础数据,确定所述基础数据的第一聚类结果;
获取每一阶段加入所述基础数据的增量数据;
根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;
根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
可选地,所述方法还包括:
根据所述目标聚类结果,得到所述全量数据的目标特征参数。
可选地,根据网络平台上基础数据,确定所述基础数据的第一聚类结果,包括:
通过预选中心算法,确定所述基础数据的第一初始中心;
根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
可选地,获取每一阶段加入所述基础数据的增量数据,包括:
在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
可选地,根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果,包括:
通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
可选地,根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果,包括:
通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
可选地,根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果,包括:
在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
可选地,所述方法还包括:
存储所述基础数据和每一阶段的所述增量数据。
本发明实施例还提供一种数据聚类装置,包括:
第一确定模块,用于根据网络平台上基础数据,确定所述基础数据的第一聚类结果;
获取模块,用于获取每一阶段加入所述基础数据的增量数据;
第二确定模块,用于根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;
第三确定模块,用于根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
可选地,所述装置还包括:
第四确定模块,用于根据所述目标聚类结果,得到所述全量数据的目标特征参数。
可选地,所述第一确定模块,包括:
第一确定单元,用于通过预选中心算法,确定所述基础数据的第一初始中心;
第一聚类单元,用于根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
可选地,所述获取模块,包括:
获取单元,用于在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
可选地,所述第二确定模块,包括:
第二确定单元,用于通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
第二聚类单元,用于根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
可选地,所述第三确定模块,包括:
第三确定单元,用于通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
第三聚类单元,用于根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
第四确定单元,用于根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
可选地,所述第四确定单元,具体用于在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
可选地,所述装置还包括:
存储模块,用于存储所述基础数据和每一阶段的所述增量数据。
本发明实施例还提供一种数据聚类设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如上中任一项所述的数据聚类方法的步骤。
本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如上中任一项所述的数据聚类方法中的步骤。
本发明的有益效果是:
本发明方案,通过确定基础数据的第一聚类结果,并确定每一阶段加入基础数据的增量数据的第二聚类结果,并根据第一聚类结果和第二聚类结果,确定全量数据的目标聚类结果,可以实现实时获得全量数据的聚类结果,减少数据聚类方法处理数据时间长,并且可以避免全量数据的多次读入和读出,有效减少内存消耗,降低硬件设备的成本。
附图说明
图1表示本发明实施例提供的数据聚类方法的流程图之一;
图2表示本发明实施例提供的初始中心的有效范围示意图;
图3表示本发明实施例提供的初始中心集合中的初始中心不变的示意图;
图4表示本发明实施例提供的初始中心集合中新增初始中心的示意图;
图5表示本发明实施例提供的数据聚类方法的流程图之二;
图6表示本发明实施例提供的商品推荐方法的流程图;
图7表示本发明实施例提供的数据聚类装置的结构示意图;
图8表示本发明实施例提供的数据聚类设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
首先对一些概念进行解释如下:
流数据
流数据通常被定义为不断到达的元组件所构成的元组序列,是一个连续、没有明确结束界限、随时间变化的无限数据集,其具有数据总量无限、数据价值随时间的增加而逐渐降低等特点。
聚类算法
聚类是按照某个特定标准(如距离)把一个数据集划分为不同的类或者簇,使得同一个簇内的数据的特征具有尽可能大的相似性,同时不在同一个簇中的数据的特征尽可能地大差异性。
经典数据聚类算法
经典数据聚类算法包括:基于密度的聚类算法,比如DBSCAN经典算法和DenStream数据流聚类算法;基于划分的聚类算法,比如K-means经典算法和STREAM数据流聚类算法;基于层次的聚类算法,比如CURE经典算法和CluStream数据流聚类算法;基于网格的聚类算法,比如STING经典算法和D-Stream数据流聚类算法。
本发明针对现有技术中,数据聚类方法处理数据时间长且消耗内存大的问题,提供一种数据聚类方法、装置和设备。
如图1所示,本发明实施例提供一种数据聚类方法,包括:
步骤101:根据网络平台上基础数据,确定所述基础数据的第一聚类结果。
需要说明的是,本发明实施例提供的数据聚类方法使用流处理框架Apache Flink实现。
在本步骤中,首先读入网络平台上的基础数据,在基础数据读入后,针对基础数据,通过聚类算法进行聚类,得到基础数据的第一聚类结果。
步骤102:获取每一阶段加入所述基础数据的增量数据。
随着流数据的不断输入,在本步骤中,将流入基础数据的数据分为不同阶段,依次读取每一阶段加入基础数据的增量数据。
步骤103:根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果。
在本步骤中,读入每一阶段的增量数据后,针对每一阶段的增量数据,通过聚类算法,得到每一阶段的增量数据的第二聚类结果。
步骤104:根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
在本步骤中,通过获取每一阶段的增量数据的第二聚类结果,并根据第一聚类结果和第二聚类结果,通过聚类算法进行聚类,得到全量数据的目标聚类结果。
本发明实施例,通过增量聚类的方式,减少聚类的计算耗时,并且先对基础数据进行聚类,再对增量数据的进行聚类,再将基础数据的第一聚类结果和增量数据的第二聚类结果合并聚类,避免多次的全量数据的读入和读出,有效减少内存消耗,降低硬件设备成本。
可选地,所述方法还包括:
根据所述目标聚类结果,得到所述全量数据的目标特征参数。
在获取全量数据的目标聚类结果后,对目标聚类结果进行分析,得到全量数据的目标特征参数,以便于后续应用目标特征参数。
可选地,根据网络平台上基础数据,确定所述基础数据的第一聚类结果,包括:
通过预选中心算法,确定所述基础数据的第一初始中心;
根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
下面具体说明得到基础数据的第一聚类结果的过程:
读入基础数据,将基础数据的集合记为D,同时使用预选中心算法确定基础数据的第一初始中心的集合C0,以C0作为初始聚类中心集合,在重新读入基础数据后,通过k-means聚类算法执行聚类,得到基础数据对应的第一聚类结果C。如下式所示:
C=fx(C0,D)
其中,x为聚类过程中的迭代次数,C0为第一初始中心的集合,D为基础数据的集合。
在k-means聚类算法中迭代变量为k个初始中心点:
持续计算新的初始中心值,输入的迭代变量即为迭代值,输出的迭代变量即为进阶值。迭代函数的功能是计算每个数据点到中心的距离,本发明实施例使用欧几里得距离计算数据之间的相似度,以相似度为划分数据点到具体类的依据,即认为两个数据的距离与相似度成反比。设所有数据存在集合D中,D内任意元素d是元组<id,x,y>(以二维特征为例),id是数据的唯一标识,x和y为数据经过转换后的坐标。由此,将k-means聚类算法的迭代函数function表示如下:
使用预选中心算法的步骤如下:
读入基础数据的第一个数据点X1,添加到初始中心集合中并记为C1,初始中心C1的有效范围为以C1为圆心、距离阈值T为半径的圆形区域,具体请参阅图2,同理,初始中心集合中的初始中心C2的有效范围为以C2为圆心、距离阈值T为半径的圆形区域,初始中心C1和初始中心C2的有效范围内的公有样本为两个圆形区域的重合区域内的样本。
计算基础数据的下一个数据点Xi与初始中心集合中所有初始中心的相似度,相似度用数据点Xi与初始中心之间的距离Sk表示。若存在数据点Xi与某个初始中心之间的距离小于距离阈值T,则表示数据点Xi与该初始中心的有效范围内的样本的特征较为相似,可以聚为一类,此时初始中心集合不变,示例性地,请参阅图3,初始中心集合包括初始中心C1和初始中心C2,数据点Xi与初始中心C1之间的距离S1大于T,数据点Xi与初始中心C2之间的距离S2小于T,则表示数据点Xi与初始中心C2的有效范围内的样本的特征较为相似,可以聚为一类,此时初始中心集合不变。若存在数据点Xi与任一个初始中心之间的距离均不小于距离阈值T,则表示该数据点Xi不属于任何一个已存在的初始中心的有效范围内,也就是,该数据点Xi的特征与各个初始中心对应的数据集中的数据的特征差异较大,此时,将数据点Xi加入初始中心集合,并作为一个新的初始中心。示例性地,请参阅图4,初始中心集合包括初始中心C1和初始中心C2,数据点Xi与初始中心C1之间的距离S1大于T,数据点Xi与初始中心C2之间的距离S2大于T,数据点Xi的特征与初始中心C1对应的数据集中的数据的特征和初始中心C2对应的数据集中的数据的特征差异较大,此时将数据点Xi加入初始中心集合,并作为一个新的初始中心C3。循环对数据流中的每个基础数据的数据点执行上述步骤。
基础数据中每个数据点通过上述步骤后即可以得到k-means聚类算法所需要的全部初始中心,同时,可以进一步计算出初始中心集合中的初始中心的数量。
可选地,获取每一阶段加入所述基础数据的增量数据,包括:
在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
也就是,当加入基础数据的增量数据的达到预设阈值(固定数据量)的情况下,或者,在加入基础数据的增量数据的加入时长达到预设时长(固定时间内的数据)的情况下,确定为一个阶段的增量数据,针对该阶段的增量数据,确定第二聚类结果。
可选地,根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果,包括:
通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
下面具体说明得到增量数据的第二聚类结果的过程:
随着流数据的不断输入,在数据读入过程中使用预选中心算法确定第二初始中心的集合。获取新加入的且未参与前一阶段聚类的增量数据,记该阶段的增量数据的集合为d,此时,基础数据的集合D和增量数据的集合d的并集记为全量数据,当该阶段的新增数据达到预设阈值或者加入时长达到预设时长时,使用预选中心算法确定该阶段的增量数据的集合d的第二初始中心的集合ΔC0,以ΔC0作为初始聚类中心集合,在重新读入该阶段的增量数据后,通过k-means聚类算法执行聚类,得到增量数据对应的第二聚类结果ΔC。如下式所示:
ΔC=fy(ΔC0,d)
其中,y为聚类过程中的迭代次数,ΔC0为第二初始中心的集合,d为增量数据的集合。
使用预选中心算法的步骤与上述基本一致,在此不再赘述。
可选地,根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果,包括:
通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
以第一聚类结果C和第二聚类结果ΔC中的数据作为全量数据的数据点,使用预选中心算法得到第三初始中心的集合c,以c作为初始聚类中心集合,通过k-means聚类算法执行聚类,得到第三聚类结果。需要说明的是,该第三聚类结果也就是全量数据的初始聚类中心如下式所示:
其中,z为聚类过程中的迭代次数,c为第三初始中心的集合,C为第一聚类结果C,ΔC为第二聚类结果。
使用预选中心算法的步骤与上述基本一致,在此不再赘述。
第一聚类结果C和第二聚类结果ΔC为基础数据D和增量数据d的提前聚类结果,本步骤为将第一聚类结果C和第二聚类结果ΔC合并后找到全量数据的较优初始点并进行聚类的过程,之后可以根据第三聚类结果和预设的时效性要求,得到全量数据的目标聚类结果。
可选地,根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果,包括:
在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
具体来说,在获取第三聚类结果后,一方面可以在实时性较高(第一时效性要求)的场景下,可以直接将第三聚类结果作为全量数据的目标聚类结果,另一方面在实时性要求不高(第二时效性要求)的场景下,可以将第三聚类结果作为初始聚类中心,利用k-means聚类算法对加入下一阶段的增量数据的基础数据,也就是新的全量数据执行聚类,得到目标聚类结果,如下式所示:
得到的目标聚类结果更加精确,并且经过上述将第一聚类结果C和第二聚类结果ΔC作为基础数据D和增量数据d的提前聚类结果,将第一聚类结果C和第二聚类结果ΔC合并后找到全量数据的较优初始点并进行聚类,可以使得得到全量数据的目标聚类结果的迭代次数大大降低。
可选地,所述方法还包括:
存储所述基础数据和每一阶段的所述增量数据。
在获取基础数据和每一阶段的增量数据后,将基础数据和增量数据存入数据库中,便于后续针对基础数据和增量数据的离线分析。
下面结合图5,具体说明本发明实施例的数据聚类方法。
基础步。对已存在的基础数据执行基础步操作,具体为:读入基础数据,将基础数据的集合记为D,同时使用预选中心算法确定基础数据的第一初始中心的集合C0,以C0作为初始聚类中心集合,在重新读入基础数据后,通过k-means聚类算法执行聚类,得到基础数据对应的第一聚类结果C,也就是基础结果集。
增量步。随着流数据的不断输入,在读入一个阶段的增量数据的过程中,使用预选中心算法确定第二初始中心的集合。将新输入的且未参加前一阶段聚类的增量数据的集合记为d,此时,基础数据的集合D和增量数据的集合d的并集记为全量数据,当该阶段的新增数据达到预设阈值或者加入时长达到预设时长时,执行增量步,将通过预选中心算法确定该阶段的增量数据的集合d的第二初始中心的集合ΔC0作为初始聚类中心集合,在重新读入该阶段的增量数据后,通过k-means聚类算法执行聚类,得到增量数据对应的第二聚类结果ΔC,也就是增量结果集。合并步。以第一聚类结果C和第二聚类结果ΔC中的数据作为全量数据的数据点,使用预选中心算法得到第三初始中心的集合c,以c作为初始聚类中心集合,通过k-means聚类算法执行聚类,得到第三聚类结果,该第三聚类结果也就是全量数据的初始聚类中心第一聚类结果C和第二聚类结果ΔC为基础数据D和增量数据d的提前聚类结果,合并步为将第一聚类结果C和第二聚类结果ΔC合并后找到全量数据的较优初始点并进行聚类的过程,在获取第三聚类结果后,一方面可以在实时性较高(第一时效性要求)的场景下,可以直接将第三聚类结果作为全量数据的目标聚类结果,另一方面在实时性要求不高(第二时效性要求)的场景下,可以将第三聚类结果作为初始聚类中心,进行下一阶段迭代,即利用k-means聚类算法对加入下一阶段的增量数据的基础数据,也就是新的全量数据执行聚类,得到目标聚类结果,也就是进阶结果集。
本发明实施例提供的数据聚类方法,可以适用于无边界的流数据,针对流数据的场景中不断新增数据的特性,结合k-means聚类算法过程中的迭代特性,考虑到基础数据的特征和新增数据的特征,对两个数据集合分别处理,可以实现流数据的实时处理,并且可以减少对流数据的全量数据的重新聚类迭代导致的运算资源浪费和性能损失,也避免了多次全量数据的读入和读出,有效减少内存消耗,降低硬件设备的成本。
互联网的发展使人们可以在短期内访问大量的在线资源,当前购物网站推荐系统的功能为根据使用者的行为数据推荐他们最有可能想要的事物,让用户更加轻松的找到自己喜欢和乐意购买的商品。个性化推荐系统旨在有效应对信息过量给用户带来的困扰,通过收集和分析用户在互联网上的行为信息,为用户制定独特的推荐方案。聚类算法根据相似度将最接近的个体聚为一个簇进而找到用户关注的商品品类及具体商品,因其天然的特性,经常被使用在各种推荐场景下。
下面结合图6,说明一个应用本发明实施例的数据聚类方法的商品推荐方法。
在数据平台层(WEB层)收集用户的浏览、收藏和购买等行为数据作为流数据;通过Apache Kafka消息队列将流数据实时可靠地传输到Apache Flink流处理框架中进行任务处理。在Apache Flink流处理框架中,进行数据清洗和处理,合并多个维度的字段,将同一行为产生的用户特征段、行为特征段和商品特征段作为一条记录。在时间窗口内,将用户的行为操作产生的若干条记录作为一次兴趣,即新增数据集,对兴趣特征数据(新增数据)使用本发明的数据聚类方法进行聚类,得到聚类结果。根据聚类结果对用户行为特征进行分析,确定具有相似行为的用户群体,并将用户群体数据存储到redis数据库中,便于web端实时查看;将用户数据(用户的行为操作产生的若干条记录)存储到hbase数据库中,用于后续离线分析。根据用户群体数据结果得出推荐的关联商品列表,并向用户推送列表内容,完成推荐过程。
本发明实施例提供的商品推荐方法,使用增量聚类方式,减少聚类计算耗时,使得用户在购物过程中能够得到平台的实时反馈,提高用户购物时的满意度。对于用户的行为数据,每次对数据流中的单一记录进行处理,极易造成聚类结果偏移大,聚类结果受当前操作记录影响过大的情况,造成矫枉过正。本发明实施例,采用用户最近一段时间窗口内的多维度数据进行增量聚类,提高了用户近期行为数据在全量数据中的权重,降低旧数据、误操作数据对聚类结果的影响,提高了推荐内容的准确度。由于用户的行为特征具有持续性、不确定性,使用本发明实施例的方法能够基于时间窗口对用户的每组行为数据进行聚类分析,从而最大程度降低用户的误操作和无关操作对分析结果的影响;将数据区分为增量数据和基础数据,根据数据量、时效性分别计算,减少了重新聚类迭代导致的运算资源浪费和性能损失;对用户当前一段时间内的行为即时进行分析,并将分析结果应用于对用户的推荐方案中,最大化利用用户浏览数据的价值,提高了推荐方案的准确度和用户满意度。
如图7所示,本发明实施例还提供一种数据聚类装置,包括:
第一确定模块701,用于根据网络平台上基础数据,确定所述基础数据的第一聚类结果;
获取模块702,用于获取每一阶段加入所述基础数据的增量数据;
第二确定模块703,用于根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;
第三确定模块704,用于根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
本发明实施例,通过确定基础数据的第一聚类结果,并确定每一阶段加入基础数据的增量数据的第二聚类结果,并根据第一聚类结果和第二聚类结果,确定全量数据的目标聚类结果,可以实现实时获得全量数据的聚类结果,减少数据聚类方法处理数据时间长,并且可以避免全量数据的多次读入和读出,有效减少内存消耗,降低硬件设备的成本。
可选地,所述装置还包括:
第四确定模块,用于根据所述目标聚类结果,得到所述全量数据的目标特征参数。
可选地,所述第一确定模块701,包括:
第一确定单元,用于通过预选中心算法,确定所述基础数据的第一初始中心;
第一聚类单元,用于根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
可选地,所述获取模块702,包括:
获取单元,用于在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
可选地,所述第二确定模块703,包括:
第二确定单元,用于通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
第二聚类单元,用于根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
可选地,所述第三确定模块704,包括:
第三确定单元,用于通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
第三聚类单元,用于根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
第四确定单元,用于根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
可选地,所述第四确定单元,具体用于在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
可选地,所述装置还包括:
存储模块,用于存储所述基础数据和每一阶段的所述增量数据。
需要说明的是,本发明实施例提供的数据聚类装置,是能够执行上述的数据聚类方法的装置,则上述的数据聚类方法的所有实施例均适用于该装置,且能够达到相同或者相似的技术效果。
如图8所示,本发明实施例还提供一种数据聚类设备,包括:处理器801、存储器802,及存储在所述存储器802上并可在所述处理器801上运行的程序,所述程序被所述处理器801执行时实现上述的车辆碰撞预警方法。
可选地,还包括:收发机803,所述收发机803,用于在所述处理器801的控制下接收和发送数据。
具体地,所述处理器801,用于:根据网络平台上基础数据,确定所述基础数据的第一聚类结果;获取每一阶段加入所述基础数据的增量数据;根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
可选地,所述处理器801,还用于:
根据所述目标聚类结果,得到所述全量数据的目标特征参数。
可选地,所述处理器801,具体用于:
通过预选中心算法,确定所述基础数据的第一初始中心;
根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
可选地,所述处理器801,具体用于:
在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
可选地,所述处理器801,具体用于:
通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
可选地,所述处理器801,具体用于:
通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
可选地,所述处理器801,具体用于:
在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
可选地,所述处理器801,还用于:
存储所述基础数据和每一阶段的所述增量数据。
其中,在图8中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器801代表的一个或多个处理器和存储器802代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供用户接口804。收发机803可以是多个元件,即包括发送机和接收机,提供用于在传输介质上与各种其他装置通信的单元。处理器801负责管理总线架构和通常的处理,存储器802可以存储处理器801在执行操作时所使用的数据。
另外,本发明具体实施例还提供一种可读存储介质,其上存储有计算机程序,其中,该程序被处理器执行时实现如上中任一项所述的数据聚类方法中的步骤。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (11)
1.一种数据聚类方法,其特征在于,包括:
根据网络平台上基础数据,确定所述基础数据的第一聚类结果;
获取每一阶段加入所述基础数据的增量数据;
根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;
根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
2.根据权利要求1所述的数据聚类方法,其特征在于,所述方法还包括:
根据所述目标聚类结果,得到所述全量数据的目标特征参数。
3.根据权利要求1所述的数据聚类方法,其特征在于,根据网络平台上基础数据,确定所述基础数据的第一聚类结果,包括:
通过预选中心算法,确定所述基础数据的第一初始中心;
根据所述第一初始中心,对所述基础数据进行聚类,得到所述第一聚类结果。
4.根据权利要求1所述的数据聚类方法,其特征在于,获取每一阶段加入所述基础数据的增量数据,包括:
在目标阶段加入所述基础数据的目标数据的数据量达到预设阈值的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
或,
在目标阶段加入所述基础数据的目标数据的加入时长达到预设时长的情况下,确定所述目标数据为所述目标阶段加入所述基础数据的增量数据;
其中,所述目标阶段为所述每一阶段的其中之一。
5.根据权利要求1所述的数据聚类方法,其特征在于,根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果,包括:
通过预选中心算法,确定每一阶段的所述增量数据的第二初始中心;
根据所述第二初始中心,对每一阶段的所述增量数据进行聚类,得到所述第二聚类结果。
6.根据权利要求1所述的数据聚类方法,其特征在于,根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果,包括:
通过预选中心算法,确定所述第一聚类结果和所述第二聚类结果的第三初始中心;
根据所述第三初始中心,对所述全量数据进行聚类,得到第三聚类结果;
根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果。
7.根据权利要求6所述的数据聚类方法,其特征在于,根据所述第三聚类结果和预设的时效性要求,得到所述目标聚类结果,包括:
在所述预设的时效性要求为第一时效性要求的情况下,将所述第三聚类结果作为所述目标聚类结果;
在所述预设的时效性要求为第二时效性要求的情况下,在所述全量数据中加入下一阶段的增量数据,根据所述第三聚类结果,对所述全量数据进行聚类,得到所述目标聚类结果;
其中,所述第一时效性要求高于所述第二时效性要求。
8.根据权利要求1所述的数据聚类方法,其特征在于,所述方法还包括:
存储所述基础数据和每一阶段的所述增量数据。
9.一种数据聚类装置,其特征在于,包括:
第一确定模块,用于根据网络平台上基础数据,确定所述基础数据的第一聚类结果;
获取模块,用于获取每一阶段加入所述基础数据的增量数据;
第二确定模块,用于根据每一阶段的所述增量数据,确定每一阶段的所述增量数据的第二聚类结果;
第三确定模块,用于根据所述第一聚类结果和所述第二聚类结果,得到全量数据的目标聚类结果;
其中,所述全量数据包括所述基础数据,当前阶段加入所述基础数据的增量数据,以及当前阶段之前加入所述基础数据的增量数据。
10.一种数据聚类设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至8中任一项所述的数据聚类方法的步骤。
11.一种可读存储介质,其特征在于,所述可读存储介质上存储有程序,所述程序被处理器执行时实现如权利要求1至8中任一项所述的数据聚类方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328668.3A CN114638316A (zh) | 2022-03-30 | 2022-03-30 | 一种数据聚类方法、装置和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210328668.3A CN114638316A (zh) | 2022-03-30 | 2022-03-30 | 一种数据聚类方法、装置和设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114638316A true CN114638316A (zh) | 2022-06-17 |
Family
ID=81952324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210328668.3A Pending CN114638316A (zh) | 2022-03-30 | 2022-03-30 | 一种数据聚类方法、装置和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114638316A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794043A (zh) * | 2023-01-31 | 2023-03-14 | 帆软软件有限公司帆软南京分公司 | Bi工具的表数据聚合处理的计算系统及计算方法 |
-
2022
- 2022-03-30 CN CN202210328668.3A patent/CN114638316A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115794043A (zh) * | 2023-01-31 | 2023-03-14 | 帆软软件有限公司帆软南京分公司 | Bi工具的表数据聚合处理的计算系统及计算方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110321422B (zh) | 在线训练模型的方法、推送方法、装置以及设备 | |
Xiaojun | An improved clustering-based collaborative filtering recommendation algorithm | |
Kuzelewska | Clustering algorithms in hybrid recommender system on movielens data | |
Ouadah et al. | SEFAP: an efficient approach for ranking skyline web services | |
CN105868334B (zh) | 一种基于特征递增型的电影个性化推荐方法及系统 | |
Sánchez et al. | Building user profiles based on sequences for content and collaborative filtering | |
CN114418035A (zh) | 决策树模型生成方法、基于决策树模型的数据推荐方法 | |
CN111382283A (zh) | 资源类别标签标注方法、装置、计算机设备和存储介质 | |
Pujahari et al. | Model-based collaborative filtering for recommender systems: An empirical survey | |
CN112989169A (zh) | 目标对象识别方法、信息推荐方法、装置、设备及介质 | |
CN113343091A (zh) | 面向产业和企业的科技服务推荐计算方法、介质及程序 | |
Mehta et al. | Collaborative personalized web recommender system using entropy based similarity measure | |
Chen et al. | A cluster feature based approach for QoS prediction in web service recommendation | |
Zhang et al. | Feature relevance term variation for multi-label feature selection | |
Sumathi et al. | Automatic Recommendation of Web Pages in Web Usage Mining C | |
CN114638316A (zh) | 一种数据聚类方法、装置和设备 | |
Li et al. | Recommendation algorithm based on improved spectral clustering and transfer learning | |
Ali et al. | Dynamic context management in context-aware recommender systems | |
Tian | Collaborative filtering recommendation algorithm in cloud computing environment | |
Zhang et al. | A contextual bandit approach to personalized online recommendation via sparse interactions | |
Guan et al. | Enhanced SVD for collaborative filtering | |
Cao et al. | A novel course recommendation model fusing content-based recommendation and K-means clustering for Wisdom education | |
CN111125541B (zh) | 面向多用户的可持续多云服务组合的获取方法 | |
CN111552827B (zh) | 标注方法和装置、行为意愿预测模型训练方法和装置 | |
CN111460300B (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 |