CN108038500B - 聚类方法、装置、计算机设备、存储介质和程序产品 - Google Patents
聚类方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN108038500B CN108038500B CN201711288774.9A CN201711288774A CN108038500B CN 108038500 B CN108038500 B CN 108038500B CN 201711288774 A CN201711288774 A CN 201711288774A CN 108038500 B CN108038500 B CN 108038500B
- Authority
- CN
- China
- Prior art keywords
- sample
- cluster
- samples
- candidate
- clustering
- 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.)
- Active
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
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Marketing (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为本发明实施例所提供的第六种聚类方法的流程示意图;
图9为本发明实施例提供的一种聚类装置的结构示意图;
图10为本发明实施例提供的另一种聚类装置的结构示意图;
图11示出了适于用来实现本申请实施方式的示例性计算机设备的框图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的聚类方法、装置、计算机设备、存储介质和程序产品。
图1为本发明实施例所提供的第一种聚类方法的流程示意图。
如图1所示,该聚类方法包括以下步骤:
步骤101,从样本集合中选取一个未被聚类的样本作为候选样本。
本发明实施例中,可以根据具体的业务需求,从样本数据库中选取样本集合,其中,样本集合中的样本可以为具有位置信息的样本,样本例如可以为订单记录,或者可以为其他任意具有位置信息的样本,本发明实施例对此不作限制。例如,当业务需求为发掘出某一时间段,比如午餐时间段,订餐率较高的热门区域,此时,可以从样本数据库中选取午餐时间段的样本集合,样本集合中的样本可以为订单记录。
可选地,在确定样本集合后,可以从样本集合中随机选取一个未被聚类的样本,作为候选样本。
步骤102,根据候选样本的位置信息,构建候选样本的邻域。
本发明实施例中,可以根据候选样本的位置信息,构建候选样本的邻域。可选地,可以以该候选样本的位置信息为中心,预设距离为半径画圆,所画的圆圈中的区域即为候选样本的邻域(包括圆的边界)。其中,预设距离可以根据候选样本的位置信息设置,当候选样本的位置信息不同时,预设距离可以不同或者相同。
举例而言,当候选样本的位置信息在某高校内时,候选样本的邻域可以为以该高校为中心的预设距离范围内,或者,当候选样本的位置信息在某科技园区内时,候选样本的邻域可以为以该科技园区为中心的预设距离范围内。
步骤103,如果邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值,则确定候选样本为核心对象。
本发明实施例中,当构建候选样本的邻域后,可以统计邻域内样本的个数,本发明实施例中记为第一样本数量,例如标记第一样本数量为N1。
本发明实施例中,当构建候选样本的邻域后,还可以统计邻域内样本所属用户的第一用户数量。可选地,可以根据邻域内每个样本的标识信息,确定样本所属用户。其中,样本的标识信息可以为用户的账号信息、电话号码等唯一标识所属用户的信息,通过该样本的标识信息可以确定出所隶属的用户,或者可以为其他任意可以唯一标识该样本的信息,对此不作限制。
当确定邻域内每个样本所属用户后,可以统计邻域内样本所属用户的数量,本发明实施例中记为第一用户数量,例如标记第一用户数量为S1。需要说明的是,当不同的样本所属的用户相同时,第一用户数量不累加。举例而言,当邻域中共有5个样本时,分别为样本A、B、C、D以及E,如果根据样本的标识信息,确定样本A和C所属用户相同,则该邻域第一用户数量为4。
在统计邻域内样本的第一样本数量N1和邻域内样本所属用户的第一用户数量S1后,可以判断N1和S1是否均超出各自的阈值,当N1和S1均超出各自的阈值时,可以确定候选样本为核心对象,否则,可以确定该候选样本非核心对象,此时,可以将候选样本作为噪声样本。其中,第一样本数量N1和第一用户数量S1对应的阈值为预先设置的。
作为一种示例,参见图2,图2为核心对象的确定示意图。其中,虚线圆1表示邻域1,虚线圆2表示邻域2,领域中的每个实线圆表示一个样本,实线圆中的数字表示对应的用户,例如,1表示用户1,2表示用户2。
以在线餐饮为例,下单记录中含有用户的位置信息和时间,基于时间和位置信息发掘出某一时间段订餐率较高的热门区域。现有技术中基于传统统计的聚类方法,在领域1内订单数量较多,会将领域1识别成一个感兴趣区域(或者聚类簇)。但是领域1内所有的订单均是由一个用户产生的,使得感兴趣区域的产生不具有普遍性。
而且实际应用中,在具有位置信息的数据中,订单所有者(即用户)对聚类簇的确定具有不同的重要性。为了使得聚类簇的聚类结果更加具有指导性,本发明实施例中,考虑了样本所属用户对聚类簇的确定具有不同的重要性,由于邻域1中的每个样本所属的用户均相同,因此,用户的第一用户数量为1,此时,领域1中的候选样本不为核心对象,可以将该候选样本作为噪声样本。而邻域2中的样本数为7,但是每个样本所属的用户均不相同,即用户的第一用户数量为7,此时,可以将邻域2中的候选样本作为核心对象。
本发明实施例中,不再单纯地考虑样本的数量,还需要考虑样本的所有者的数量,改变了核心对象的判定规则,以体现出样本所有者在聚类中的重要性。
步骤104,迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇,直到获取到核心对象最终的目标聚类簇。
本发明实施例中,可以判断样本集合中的每个样本,是否为核心对象的密度可达的样本,当样本为核心对象的密度可达的样本时,可以利用该核心对象的密度可达的样本,更新核心对象当前对应的聚类簇,而当样本不为核心对象的密度可达的样本时,可以丢弃该核心对象的非密度可达的样本,从而获取到核心对象的目标聚类簇。
作为一种可能的实现方式,可以将属于候选样本所在的邻域内除候选样本之外未被聚类的每个样本加入到候选集中,而后,针对候选集中每个未被聚类的样本,可以通过划分邻域和判断该样本是否为核心对象,不断更新候选集,直到候选集中的样本均被聚类,从而可以形成一个聚类簇。
具体地,可以从候选集中取出一个未被聚类的样本作为第一样本,进而通过根据第一样本是否为核心对象,确定第一样本是否为密度可达的样本。具体地,可以获取第一样本的邻域,判断第一样本的邻域内样本的个数和邻域内样本所属用户的数量是否均超出各自的阈值,若是,则确定第一样本为核心对象,此时,可以第一样本作为密度可达的样本,否则,则确定第一样本非核心对象,此时,可以将第一样本作为噪声样本,进行丢弃。而后可以利用第一样本所在邻域内的除第一样本之外的未被聚类的每个样本,对候选集进行更新,而后可以返回执行从候选集中取出一个样本作为第一样本以及后续操作,直到候选集为空集时停止迭代,从而可以在整个样本集合中迭代获取核心对象的密度可达的样本。
在获取到核心对象的密度可达的样本后,可以利用该核心对象所有的密度可达的样本,更新核心对象当前对应的聚类簇,从而获取到核心对象的目标聚类簇。
作为一种示例,参见图3,图3为本发明实施例中核心对象的目标聚类簇示意图。其中,实线圆表示样本集合,不同的字母分别标记不同的样本。以样本集合中的核心对象为样本P示例,核心对象密度可达的样本分别为样本M、O、U、T、Q、R、S、L,则核心对象样本P最终的目标聚类簇包括虚线框起来的各个样本。
步骤105,当样本集合中不存在未被聚类的样本时,完成对样本集合的聚类处理,获取样本集合所有的目标聚类簇。
本发明实施例中,可以从样本集合中逐一选取一个未被聚类的样本作为候选样本,而后确定每个候选样本是否为核心对象,当为核心对象时,可以获取到每个核心对象的目标聚类簇,直到样本集合中的样本均被聚类处理时,完成对样本集合的聚类处理,而后可以获取样本集合所有的目标聚类簇。
本实施例的聚类方法,通过从样本集合中选取一个未被聚类的样本作为候选样本;根据候选样本的位置信息,构建候选样本的邻域;如果邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值,则确定候选样本为核心对象;迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇,直到获取到核心对象最终的目标聚类簇;当样本集合中不存在未被聚类的样本时,完成对样本集合的聚类处理,获取样本集合所有的目标聚类簇。本实施例的聚类方法,不受传统基于规则区域的限制,可以在全局对样本集合进行聚类处理,有效提升该方法的适用性。
此外,本实施例的聚类方法,只有当候选样本的邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值时,确定候选样本为核心对象,从而迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇。由于在确定核心对象的过程中增加了用户数量的内容,使得用户数量成为影响样本聚类的重要因素,避免出现将单个或极少数用户的多个样本形成一个聚类簇,而这种聚类簇不能反映出大众偏好趋势,使得聚类簇不具有普遍性。本实施例中,能够有效提升聚类效果,从而使得后续对活跃聚类簇的确定,更能反映大众偏好趋势。
作为一种可能的实现方式,参见图4,在图1所示实施例的基础上,在步骤101之前,该聚类方法还可以包括以下步骤:
步骤201,获取每个样本的生成时间。
本发明实施例中,每个样本除了具有位置信息之外,还可以具有对应的生成时间。例如,当样本为订单记录时,订单记录上可以具有电话号码、用户名、位置信息、和/或生成时间等信息。因此,在获取每个样本时,可以获取每个样本对应的生成时间。
步骤202,选取生成时间属于预设时间段内的样本。
本发明实施例中,预设时间段可以根据具体的业务需求设置。例如,当样本为订单记录,且订单记录为餐饮订单记录时,为了统计目标聚类簇中用户的午餐偏好信息,预设时间段例如可以为11:00:00~13:00:00。
可选地,当根据实际需求设置好预设时间段后,可以选取生成时间属于预设时间段内的样本。
步骤203,利用选取的样本形成样本集合。
可选地,在选取生成时间属于预设时间段内的样本后,可以利用选取的样本形成样本集合。
本实施例的聚类方法,通过获取每个样本的生成时间,选取生成时间属于预设时间段内的样本,利用选取的样本形成样本集合。本实施例中,可以根据具体的业务需求,选取样本,从而可以提升该方法的适用性。
作为一种可能的实现方式,参见图5,在图1所示实施例的基础上,在步骤105之后,该聚类方法还可以包括以下步骤:
步骤301,针对每个目标聚类簇,统计目标聚类簇中所包括的样本的总个数。
本发明实施例中,可以设置不同的计数器,统计每个目标聚类簇中所包括的样本的总个数。
步骤302,判断总个数是否超出预设个数,若是,执行步骤303,否则,执行步骤304。
本发明实施例中,预设个数为预先设置的,应当理解的是,预设个数不应设置的过低,例如,预设个数可以为500。
可选地,当总个数超出预设个数时,可以将目标聚类簇作为活跃聚类簇,而当总个数未超出预设个数时,可以将目标聚类簇作为非活跃聚类簇,从而选取出的活跃聚类簇能够反映样本的趋势。
步骤303,将目标聚类簇作为活跃聚类簇。
步骤304,将目标聚类簇作为非活跃聚类簇。
本实施例的聚类方法,通过当总个数超出预设个数时,将目标聚类簇作为活跃聚类簇,从而选取出的活跃聚类簇能够反映样本的趋势。
作为一种可能的实现方式,参见图6,在图1所示实施例的基础上,在步骤105之后,该聚类方法还可以包括以下步骤:
步骤401,根据目标聚类簇中所包括的样本的位置信息,形成目标聚类簇的目标位置信息。
作为一种可能的实现方式,可以根据目标聚类簇中所包括的样本的位置信息,确定处于目标聚类簇中的中心样本,而后可以将该中心样本的位置信息作为目标聚类簇的目标位置信息。或者,可以将目标聚类簇中所有样本的位置信息加权求均值,从而将均值作为目标聚类簇的目标位置信息,对此不作限制。
步骤402,针对每个目标聚类簇,提取目标聚类簇中所包括的每个样本的特征信息;其中,样本为订单记录。
本发明实施例中,当样本为订单记录时,订单记录中具有对应的特征信息,例如,当订单记录为餐饮订单记录时,样本的特征信息可以为重辣、微辣、麻辣、酸、甜、咸等特征信息。因此,可以针对每个目标聚类簇,提取目标聚类簇中所包括的每个样本的特征信息。
步骤403,根据特征信息,形成目标聚类簇中用户的偏好信息。
可选地,在提取目标聚类簇中所包括的每个样本的特征信息后,可以根据特征信息,形成目标聚类簇中用户的偏好信息。仍以上述例子示例,形成的用户的偏好信息可以为:用户偏好麻辣食物、用户偏好甜食、用户偏好清淡食物等信息。
步骤404,根据目标位置信息,获取处于目标位置信息覆盖区域内的推广对象。
本发明实施例中,当样本为订单记录时,推广对象可以为商家。例如,当订单记录为餐饮订单记录时,推广对象可以为餐饮界的商家,或者,当订单记录为家电订单记录时,推广对象可以为家电商家。
可选地,由于每个推广对象的位置信息是固定的,当确定目标聚类簇的位置信息后,可以获取处于目标位置信息覆盖区域内的推广对象。因此,本发明实施例中,当形成目标聚类簇中用户的偏好信息后,可以根据目标聚类簇的位置信息,获取处于目标位置信息覆盖区域内的推广对象,从而可以向推广对象返回用户的偏好信息。
需要说明的是,图6中步骤403和步骤404之间并没有严格的时序关系,可以并行地执行,也可以顺序执行,此处并不做限制,例如,可以先执行步骤403,再执行步骤404,也可以先执行步骤404,再执行步骤403,此处并不做限制。
步骤405,向推广对象返回用户的偏好信息。
可选地,当获取处于目标位置信息覆盖区域内的推广对象后,可以向推广对象返回用户的偏好信息,从而可以实现对推广对象提供个性化服务,进而推广对象可以根据用户的偏好信息,合理调配资源,从而实现用户的精准定位。
作为一种示例,当样本为订单记录,且订单记录为餐饮订单记录时,推广对象为餐饮界的商家,向商家返回用户的偏好信息后,商家可以针对目标聚类簇内的用户提前备餐,而其他类型的商家可以有针对性的做一些促销活动,从而提升用户的购买率,实现用户的精准定位。
本实施例的聚类方法,通过根据目标聚类簇中所包括的样本的位置信息,形成目标聚类簇的目标位置信息,针对每个目标聚类簇,提取目标聚类簇中所包括的每个样本的特征信息,根据特征信息,形成目标聚类簇中用户的偏好信息,根据目标位置信息,获取处于目标位置信息覆盖区域内的推广对象,向推广对象返回用户的偏好信息。由此,可以实现对推广对象提供个性化服务,从而推广对象可以根据用户的偏好信息,合理调配资源,实现用户的精准定位,不仅可以提升推广对象的业务量,还能够提升用户体验。
作为一种可能的实现方式,参见图7,在图1所示实施例的基础上,步骤104具体包括以下子步骤:
步骤501,将属于候选样本所在的邻域内除候选样本之外未被聚类的每个样本加入到候选集中。
步骤502,从候选集中取出一个未被聚类的样本作为第一样本。
可选地,在确定候选集后,可以从候选集中随机选取一个未被聚类的样本,作为第一样本。
步骤503,获取第一样本的邻域。
具体地,可以根据第一样本的位置信息,构建第一样本的邻域。
步骤504,判断第一样本是否为核心对象,若是,执行步骤505,否则,执行步骤506。
本发明实施例中,可以根据第一样本的邻域中的样本的个数和领域内样本所属用户的数量,确定第一样本是否为核心对象。具体地,当第一样本的邻域中的样本的个数和领域内样本所属用户的数量,均超出各自的阈值时,确定候选样本为核心对象,此时,可以将将第一样本作为密度可达的样本,而当第一样本的邻域中的样本的个数和/或领域内样本所属用户的数量,未超出各自的阈值时,确定候选样本非核心对象,此时,可以将第一样本作为噪声样本,进行丢弃。
步骤505,将第一样本作为密度可达的样本。
步骤506,将第一样本作为噪声样本,进行丢弃。
步骤507,利用第一样本所在邻域内的除第一样本之外的未被聚类的每个样本,对候选集进行更新。
本发明实施例中,利用第一样本所在邻域内的除第一样本之外的未被聚类的每个样本,对候选集进行更新,而后返回执行从候选集中取出一个样本作为第一样本以及后续操作,即重新触发步骤502及后续步骤。
本发明实施例中,针对候选集中每个未被聚类的样本,通过划分邻域和判断该样本是否为核心对象,不断更新候选集,直到候选集中的样本均被聚类,从而可以形成一个聚类簇。
步骤508,判断候选集是否为空集,若是,执行步骤509,否则,执行步骤502。
本发明实施例中,当候选集为空时,表明样本集合中的每个样本均被聚类处理过,此时,可以停止迭代,而当候选集非空时,可以继续从候选集中取出一个样本作为第一样本以及后续操作,即重新触发步骤502。
步骤509,停止迭代。
步骤510,利用密度可达的样本,更新核心对象当前对应的聚类簇中所包括的样本的第二样本数量。
可选地,在每确定一个密度可达的样本后,可以将对应的计数器的值加一,从而可以更新核心对象当前对应的聚类簇中所包括的样本的第二样本数量。
步骤511,利用密度可达的样本的位置信息,更新当前对应的聚类簇的覆盖面积。
本发明实施例中,当利用密度可达的样本,更新核心对象当前对应的聚类簇后,可以根据核心对象当前对应的聚类簇中每个样本的位置信息,确定核心对象当前对应的聚类簇的边界的样本,而后可以将边界的样本进行连接,从而可以确定核心对象当前对应的聚类簇的形状,而后可以计算该形状的覆盖面积。
步骤512,根据第二样本数量与覆盖面积,获取当前对应的聚类簇的簇密度。
具体地,可以将覆盖面积与第二样本数量做比值,从而将比值作为当前对应的聚类簇的簇密度。
步骤513,判断当前获取到的簇密度是否大于或者等于前一次获取到的簇密度,若是,执行步骤514,否则,执行步骤515。
本发明实施例中,当当前获取到的簇密度小于前一次获取到的簇密度时,此时,可以不将密度可达的样本增加到当前对应的聚类簇中,而当当前获取到的簇密度大于或者等于前一次获取到的簇密度时,可以将密度可达的样本增加到当前对应的聚类簇中。
步骤514,将密度可达的样本增加到当前对应的聚类簇中。
步骤515,不将密度可达的样本增加到当前对应的聚类簇中。
步骤516,获取前一次获取到的簇密度与当前获取到的簇密度之间的差值。
本发明实施例中,可以将前一次获取到的簇密度与当前获取到的簇密度作差,从而获取两者之间的差值。
步骤517,判断差值是否落入预设的差值范围内,若是,执行步骤514,否则,执行步骤515。
本发明实施例中,预设的差值范围为预先设置的,应当理解的是,差值范围不应设置的太大。
可选地,当差值落入预设的差值范围内时,可以将密度可达的样本增加到当前对应的聚类簇中,而当差值未落入预设的差值范围内时,可以不将密度可达的样本增加到当前对应的聚类簇中。
本实施例的聚类方法,通过迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇,直到获取到核心对象最终的目标聚类簇,能够排除噪声干扰,提升聚类效果。
作为一种示例,参见图8,当样本为订单记录时,可以预先设置邻域中预设距离的值以及邻域内样本所属用户的阈值,而后可以根据实际业务需求从订单数据库中选取生成时间属于预设时间段内的样本,形成订单记录集合,而后可以从集合中随机抽取一条未被聚类的订单记录,判断该订单记录的邻域内的订单记录数量是否达到阈值,若是,则继续判断邻域内所有订单的所属用户数量是否大于给定的阈值,若是,则将该订单记录标记为核心对象,迭代获取该订单记录所有的密度可达的订单记录。本发明实施例中,在输出聚类簇之前,还需要判断迭代获取到的密度可达的订单记录,是否增加了聚类簇的密度,若是,则输出该聚类簇,否则将订单记录识别为噪声数据。
进一步地,在判断出订单记录邻域内的订单记录数量未达到阈值,或者邻域内所有订单的所属用户数量未大于给定的阈值,则说明该订单记录不是核心对象,可以将该订单记录识别为噪声数据。
为了实现上述实施例,本发明还提出一种聚类装置。
图9为本发明实施例提供的一种聚类装置的结构示意图。
如图9所示,该聚类装置900包括:选取模块901、构建模块902、确定模块903、迭代模块904,以及获取模块905。其中,
选取模块901,用于从样本集合中选取一个未被聚类的样本作为候选样本。
构建模块902,用于根据候选样本的位置信息,构建候选样本的邻域。
确定模块903,用于在邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值时,确定候选样本为核心对象。
迭代模块904,用于迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇,直到获取到核心对象最终的目标聚类簇。
作为一种可能的实现方式,迭代模块904,具体用于利用密度可达的样本,更新核心对象当前对应的聚类簇中所包括的样本的第二样本数量;利用密度可达的样本的位置信息,更新当前对应的聚类簇的覆盖面积;根据第二样本数量与覆盖面积,获取当前对应的聚类簇的簇密度;如果当前获取到的簇密度大于或者等于前一次获取到的簇密度,则将密度可达的样本增加到当前对应的聚类簇中;如果当前获取到的簇密度小于前一次获取到的簇密度,则不将密度可达的样本增加到当前对应的聚类簇中。
作为另一种可能的实现方式,迭代模块904,还用于获取前一次获取到的簇密度与当前获取到的簇密度之间的差值;如果差值落入预设的差值范围内,则将密度可达的样本增加到当前对应的聚类簇中;如果差值未落入差值范围内,则不将密度可达的样本增加到当前对应的聚类簇中。
作为又一种可能的实现方式,迭代模块904,还用于将属于候选样本所在的邻域内除候选样本之外未被聚类的每个样本加入到候选集中;从候选集中取出一个未被聚类的样本作为第一样本;获取第一样本的邻域;如果第一样本为核心对象,则将第一样本作为密度可达的样本;如果第一样本非核心对象,则将第一样本作为噪声样本,进行丢弃;利用第一样本所在邻域内的除第一样本之外的未被聚类的每个样本,对候选集进行更新;返回执行从候选集中取出一个样本作为第一样本以及后续操作,直到候选集为空集时停止迭代。
获取模块905,用于当样本集合中不存在未被聚类的样本时,完成对样本集合的聚类处理,获取样本集合所有的目标聚类簇。
进一步地,在本发明实施例的一种可能的实现方式中,参见图10,在图9所示实施例的基础上,该聚类装置900还可以包括:
统计选取模块906,用于在获取样本集合所有的目标聚类簇之后,针对每个目标聚类簇,统计目标聚类簇中所包括的样本的总个数;选取总个数超出预设个数的目标聚类簇作为活跃聚类簇。
形成模块907,用于在获取样本集合所有的目标聚类簇之后,根据目标聚类簇中所包括的样本的位置信息,形成目标聚类簇的目标位置信息。
提取形成模块908,用于在获取样本集合所有的目标聚类簇之后,针对每个目标聚类簇,提取目标聚类簇中所包括的每个样本的特征信息;其中,样本为订单记录;根据特征信息,形成目标聚类簇中用户的偏好信息。
获取推广模块909,用于在形成目标聚类簇中用户的偏好信息之后,根据目标位置信息,获取处于目标位置信息覆盖区域内的推广对象;向推广对象返回用户的偏好信息。
获取形成模块910,用于获取每个样本的生成时间;选取生成时间属于预设时间段内的样本;利用选取的样本形成样本集合。
需要说明的是,前述对聚类方法实施例的解释说明也适用于该实施例的聚类装置900,此处不再赘述。
本实施例的聚类装置,通过从样本集合中选取一个未被聚类的样本作为候选样本;根据候选样本的位置信息,构建候选样本的邻域;如果邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值,则确定候选样本为核心对象;迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇,直到获取到核心对象最终的目标聚类簇;当样本集合中不存在未被聚类的样本时,完成对样本集合的聚类处理,获取样本集合所有的目标聚类簇。本实施例的聚类装置,不受传统基于规则区域的限制,可以在全局对样本集合进行聚类处理,有效提升聚类处理的适用性。此外,本实施例的聚类装置,只有当候选样本的邻域内样本的第一样本数量和邻域内样本所属用户的第一用户数量,均超出各自的阈值时,确定候选样本为核心对象,从而迭代获取核心对象的密度可达的样本,利用每次迭代到的密度可达的样本,更新核心对象当前对应的聚类簇。由于在确定核心对象的过程中增加了用户数量的内容,使得用户数量成为影响样本聚类的重要因素,避免出现将单个或极少数用户的多个样本形成一个聚类簇,而这种聚类簇不能反映出大众偏好趋势,使得聚类簇不具有普遍性。本实施例中,能够有效提升聚类效果,从而使得后续对活跃聚类簇的确定,更能反映大众偏好趋势。
为了实现上述实施例,本发明还提出一种计算机设备,包括:处理器和存储器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如本发明前述实施例提出的聚类方法。
为了实现上述实施例,本发明还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如本发明前述实施例提出的聚类方法。
为了实现上述实施例,本发明还提出一种计算机程序产品,当所述计算机程序产品中的指令由处理器执行时实现如本发明前述实施例提出的聚类方法。
图11示出了适于用来实现本申请实施方式的示例性计算机设备的框图。图11显示的计算机设备12仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图11所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图11未显示,通常称为“硬盘驱动器”)。尽管图11中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如:光盘只读存储器(Compact Disc Read OnlyMemory;以下简称:CD-ROM)、数字多功能只读光盘(Digital Video Disc Read OnlyMemory;以下简称:DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本申请各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本申请所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(Local AreaNetwork;以下简称:LAN),广域网(Wide Area Network;以下简称:WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现前述实施例中提及的聚类方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种聚类方法,其特征在于,包括:
从样本集合中选取一个未被聚类的样本作为候选样本;
根据所述候选样本的位置信息,构建所述候选样本的邻域;
如果所述邻域内样本的第一样本数量和所述邻域内样本所属用户的第一用户数量,均超出各自的阈值,则确定所述候选样本为核心对象;
迭代获取所述核心对象的密度可达的样本,利用每次迭代到的所述密度可达的样本,更新所述核心对象当前对应的聚类簇,直到获取到所述核心对象最终的目标聚类簇;
当所述样本集合中不存在未被聚类的样本时,完成对所述样本集合的聚类处理,获取所述样本集合所有的目标聚类簇;
针对每个目标聚类簇,提取所述目标聚类簇中所包括的每个样本的特征信息;其中,所述样本为订单记录;
根据所述特征信息,形成所述目标聚类簇中用户的偏好信息。
2.根据权利要求1所述的聚类方法,其特征在于,所述获取所述样本集合所有的目标聚类簇之后,还包括:
针对每个目标聚类簇,统计所述目标聚类簇中所包括的样本的总个数;
选取所述总个数超出预设个数的所述目标聚类簇作为活跃聚类簇。
3.根据权利要求1所述的聚类方法,其特征在于,所述获取所述样本集合所有的目标聚类簇之后,还包括:
根据所述目标聚类簇中所包括的样本的位置信息,形成所述目标聚类簇的目标位置信息。
4.根据权利要求3所述的聚类方法,其特征在于,所述形成所述目标聚类簇中所述用户的偏好信息之后,还包括:
根据所述目标位置信息,获取处于所述目标位置信息覆盖区域内的推广对象;
向所述推广对象返回所述用户的偏好信息。
5.根据权利要求1所述的聚类方法,其特征在于,所述利用每次迭代到的所述密度可达的样本,更新所述核心对象当前对应的聚类簇,包括:
利用所述密度可达的样本,更新所述核心对象当前对应的所述聚类簇中所包括的样本的第二样本数量;
利用所述密度可达的样本的位置信息,更新当前对应的所述聚类簇的覆盖面积;
根据所述第二样本数量与所述覆盖面积,获取当前对应的所述聚类簇的簇密度;
如果当前获取到的所述簇密度大于或者等于前一次获取到的所述簇密度,则将所述密度可达的样本增加到当前对应的所述聚类簇中;
如果当前获取到的所述簇密度小于前一次获取到的所述簇密度,则不将所述密度可达的样本增加到当前对应的所述聚类簇中。
6.根据权利要求5所述的聚类方法,其特征在于,所述获取当前对应的所述聚类簇的簇密度之后,还包括:
获取所述前一次获取到的所述簇密度与所述当前获取到的所述簇密度之间的差值;
如果所述差值落入预设的差值范围内,则将所述密度可达的样本增加到当前对应的所述聚类簇中;
如果所述差值未落入所述差值范围内,则不将所述密度可达的样本增加到当前对应的所述聚类簇中。
7.根据权利要求1所述的聚类方法,其特征在于,所述从样本集合中选取一个样本作为候选样本之前,还包括:
获取每个样本的生成时间;
选取所述生成时间属于预设时间段内的所述样本;
利用选取的所述样本形成所述样本集合。
8.根据权利要求1-7任一项所述的聚类方法,其特征在于,所述迭代获取所述核心对象的密度可达的样本,包括:
将属于所述候选样本所在的所述邻域内除所述候选样本之外未被聚类的每个样本加入到候选集中;
从所述候选集中取出一个所述未被聚类的样本作为第一样本;
获取所述第一样本的所述邻域;
如果所述第一样本为所述核心对象,则将所述第一样本作为所述密度可达的样本;
如果所述第一样本非所述核心对象,则将所述第一样本作为噪声样本,进行丢弃;
利用所述第一样本所在邻域内的除所述第一样本之外的未被聚类的每个样本,对所述候选集进行更新;
返回执行从所述候选集中取出一个样本作为所述第一样本以及后续操作,直到所述候选集为空集时停止迭代。
9.一种聚类装置,其特征在于,包括:
选取模块,用于从样本集合中选取一个未被聚类的样本作为候选样本;
构建模块,用于根据所述候选样本的位置信息,构建所述候选样本的邻域;
确定模块,用于在所述邻域内样本的第一样本数量和所述邻域内样本所属用户的第一用户数量,均超出各自的阈值时,确定所述候选样本为核心对象;
迭代模块,用于迭代获取所述核心对象的密度可达的样本,利用每次迭代到的所述密度可达的样本,更新所述核心对象当前对应的聚类簇,直到获取到所述核心对象最终的目标聚类簇;
获取模块,用于当所述样本集合中不存在未被聚类的样本时,完成对所述样本集合的聚类处理,获取所述样本集合所有的目标聚类簇;
提取形成模块,用于针对每个目标聚类簇,提取所述目标聚类簇中所包括的每个样本的特征信息;其中,所述样本为订单记录;根据所述特征信息,形成所述目标聚类簇中用户的偏好信息。
10.一种计算机设备,其特征在于,包括处理器和存储器;
其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现如权利要求1-8中任一所述的聚类方法。
11.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的聚类方法。
12.一种计算机程序产品,其特征在于,当所述计算机程序产品中的指令由处理器执行时实现如权利要求1-8中任一所述的聚类方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288774.9A CN108038500B (zh) | 2017-12-07 | 2017-12-07 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711288774.9A CN108038500B (zh) | 2017-12-07 | 2017-12-07 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108038500A CN108038500A (zh) | 2018-05-15 |
CN108038500B true CN108038500B (zh) | 2020-07-03 |
Family
ID=62095968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711288774.9A Active CN108038500B (zh) | 2017-12-07 | 2017-12-07 | 聚类方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038500B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109003028B (zh) * | 2018-07-17 | 2022-05-27 | 北京百度网讯科技有限公司 | 用于划分物流区域的方法和装置 |
CN109064218B (zh) * | 2018-07-17 | 2021-04-27 | 北京三快在线科技有限公司 | 划分区域的方法、装置及电子设备 |
CN109255368B (zh) * | 2018-08-07 | 2023-12-22 | 平安科技(深圳)有限公司 | 随机选取特征的方法、装置、电子设备及存储介质 |
CN109472322B (zh) * | 2018-12-04 | 2020-11-27 | 东软集团股份有限公司 | 基于聚类的分类方法、装置、存储介质和电子设备 |
CN111372073B (zh) * | 2018-12-26 | 2021-12-10 | 中国移动通信集团四川有限公司 | 视频质量的评价方法、装置、设备和介质 |
CN111694862A (zh) * | 2019-03-11 | 2020-09-22 | 北京京东尚科信息技术有限公司 | 数据流的处理方法及系统、电子设备、存储介质 |
CN111028071B (zh) * | 2019-12-04 | 2022-07-15 | 北京三快在线科技有限公司 | 账单处理方法、装置、电子设备及存储介质 |
CN111291092A (zh) * | 2020-02-14 | 2020-06-16 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、服务器及存储介质 |
CN112348360B (zh) * | 2020-11-06 | 2021-05-04 | 华润三九(枣庄)药业有限公司 | 一种基于大数据技术的中药生产工艺参数分析系统 |
CN112465065B (zh) * | 2020-12-11 | 2022-10-14 | 中国第一汽车股份有限公司 | 一种传感器数据关联方法、装置、设备及存储介质 |
CN116933074B (zh) * | 2023-07-04 | 2024-04-05 | 天地科技股份有限公司北京技术研究分公司 | 煤矿三违行为识别模型训练方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984161A (zh) * | 2012-12-05 | 2013-03-20 | 北京奇虎科技有限公司 | 一种可信网站的识别方法和装置 |
CN103902655A (zh) * | 2014-02-28 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN103902654A (zh) * | 2014-02-28 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐系统及其构建方法 |
-
2017
- 2017-12-07 CN CN201711288774.9A patent/CN108038500B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102984161A (zh) * | 2012-12-05 | 2013-03-20 | 北京奇虎科技有限公司 | 一种可信网站的识别方法和装置 |
CN103902655A (zh) * | 2014-02-28 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN103902654A (zh) * | 2014-02-28 | 2014-07-02 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN103902655B (zh) * | 2014-02-28 | 2017-01-04 | 小米科技有限责任公司 | 聚类方法、装置及终端设备 |
CN105677846A (zh) * | 2016-01-06 | 2016-06-15 | 中国传媒大学 | 推荐系统及其构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108038500A (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038500B (zh) | 聚类方法、装置、计算机设备、存储介质和程序产品 | |
US9348898B2 (en) | Recommendation system with dual collaborative filter usage matrix | |
US9813309B2 (en) | Method, apparatus, and system for determining a location corresponding to an IP address | |
WO2017211191A1 (zh) | 信息推送方法及装置 | |
CN108683952B (zh) | 基于交互视频的视频内容片段推送方法及装置 | |
CN109376256B (zh) | 图像搜索方法及装置 | |
CN110110201B (zh) | 一种内容推荐方法和系统 | |
CN106709318A (zh) | 一种用户设备唯一性的识别方法、装置和计算设备 | |
US20140278799A1 (en) | Automated identification of marketing opportunities based on stored marketing data | |
CN109086822B (zh) | 一种主播用户分类方法、装置、设备及存储介质 | |
CN110516752A (zh) | 聚类簇质量评估方法、装置、设备及存储介质 | |
CN107767155B (zh) | 一种评估用户画像数据的方法及系统 | |
CN106934679A (zh) | 信息匹配方法及装置 | |
CN103366128A (zh) | 信息处理装置、信息处理方法、信息处理系统和程序 | |
CN108235126B (zh) | 在视频中插入推荐信息的方法和装置 | |
CN113343109A (zh) | 榜单推荐方法、计算设备及计算机存储介质 | |
CN112819476A (zh) | 风险识别方法、装置、非易失性存储介质和处理器 | |
CN110704776B (zh) | 账号类型的识别方法、装置和电子设备 | |
CN110348983B (zh) | 交易信息管理方法及装置、电子设备和非暂态存储介质 | |
CN110197191B (zh) | 电子游戏推荐方法 | |
CN110717787A (zh) | 一种用户的分类方法及装置 | |
CN110675009A (zh) | 小区便利性评价方法和装置 | |
CN105681097B (zh) | 获取终端设备更换周期的方法和装置 | |
CN111104609B (zh) | 人际关系的预测方法及其装置、存储介质 | |
CN109582863B (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 | ||
GR01 | Patent grant |