本发明涉及计算机应用技术领域,特别涉及一种数据聚类方法和装置。
背景技术:
在大数据时代,如何对海量的数据进行分析和利用已经成为各服务商的重点方向之一。在进行数据分析的过程中,常常会遇到对数据进行聚类的问题,例如对用户数据进行聚类,然后利用聚类后得到的用户数据类别对用户提供更有针对性、更个性化或更人性化的服务。
目前主要采用的聚类方法主要包括以下过程:首先确定聚类期望类别数K、一个聚类的最少样本数、标准偏差控制参数、类间距离控制参数、每次迭代允许合并的最大聚类对数等控制参数;然后按照预设的聚类中心对数据进行聚类;聚类完成后计算各分配的标准偏差、所有数据偏离均值的平均距离,根据预设的合并和分裂策略,对聚类得到的类进行合并和分裂;判断是否达到终止条件,如果达到终止条件,则结束聚类过程。
然而,上述的聚类方法存在以下缺陷:
1)由于需要预先设定聚类期望类别数K,并且该K为最小类别数,一方面K值的确定比较困难,大部分用户都不能确定什么样的K值比较合适;另一方面会造成最终的聚类结果受到人为因素的干扰,聚类结果的准确性较差。
2)这种聚类方式需要进行类别的分裂,无论是计算量还是计算耗时都较大。
技术实现要素:
有鉴于此,本发明提供了一种数据聚类的方法和装置,以便于降低人为 因素的干扰,提高聚类结果的准确性。
具体技术方案如下:
本发明提供了一种数据聚类的方法,该方法包括:
获取待聚类的数据点集合;
逐一将各数据点作为当前数据点执行以下聚类处理,得到各类别:
判断是否当前已聚类的数据点中已经存在所述数据点集合中距离当前数据点最近的数据点,如果是,则将当前数据点归入所述距离当前数据点最近的数据点所在的类别;否则,将当前数据点单独作为一个类别,结束对当前数据点的聚类处理。
根据本发明一优选实施方式,在所述将当前数据点归入所述距离当前数据点最近的数据点所在的类别之前,进一步包括:
判断所述距离当前数据点最近的数据点与当前数据点是否满足突变条件,如果否,则继续执行所述将当前数据点归入所述距离当前数据点最近的数据点所在的类别的步骤;如果是,则将当前数据点单独作为一个类别,结束对当前数据点的聚类处理。
根据本发明一优选实施方式,所述突变条件包括:
Rx-y大于或等于突变距离;或者,
Rx-y>Ry-z并且Rx-y大于或等于突变距离;
其中,Rx-y为当前数据点x与距离当前数据点x最近的数据点y之间的距离,Ry-z为数据点y与距离数据点y最近的数据点z之间的距离。
根据本发明一优选实施方式,所述突变距离包括:
预设的经验值;或者,
所述数据点集合中在预设排次的数据点距离基准点的距离;或者,
所述当前数据点距离基准点的距离乘以预设比例值得到的距离。
根据本发明一优选实施方式,所述预设排次包括在十分之一处的排次;
所述预设比例值为十分之一。
根据本发明一优选实施方式,在所述聚类处理之后,还包括:分别对各类别进行两两的合并判别,如果判别出两个类别需要进行合并,则将两个类别合并成一个类别,合并后得到的类别继续参与所述对各类别进行两两的合并判别的处理。
根据本发明一优选实施方式,所述合并判别包括:
判断是否如果是,则将类别a和类别b合并成一个类别;或者,
判断是否并且如果是,则将类别a和类别b合并成一个类别;或者,
判断是否并且如果是,则将类别a和类别b合并成一个类别;
其中,所述Ra-b为类别a和类别b之间数据点的最近距离,Sa为类别a中距离类别b最近的数据点与基准点之间的距离,Sb为类别b中距离类别a最近的数据点与基准点之间的距离,max(Sa,Sb)为Sa和Sb中的最大值,h1和h2分别为类别a的中心点距离基准点的距离和类别b的中心点距离基准点的距离,max(h1,h2)为h1和h2中的最大值,k为类别a和类别b中中心点距离基准点近的类别的直径,m为类别a和类别b中中心点距离基准点远的类别中,各数据点与距离其最近的数据点之间的距离平均值,θ1、θ2和θ3分别取试验值。
根据本发明一优选实施方式,所述θ1、θ2和θ3分别取0.1、0.8和0.8。
根据本发明一优选实施方式,该方法还包括:
遍历合并后得到的各类别,分别对各类别中的数据点进行异常点检测,输出检测到的异常点。
根据本发明一优选实施方式,所述异常点检测包括:
判断类别中的数据点数量是否小于或等于最小数量阈值,如果是,则确定 该类别中的数据点为异常点;或者,
如果某类别与其他各类别间的距离均大于或等于距离阈值,则确定所述某类别中的数据点为异常点。
根据本发明一优选实施方式,所述待聚类的数据点为用户数据点,各用户数据点之间的距离为各用户数据点对应的特征向量的距离。
根据本发明一优选实施方式,将种子用户作为待聚类的数据点,执行所述数据聚类的方法,得到至少一个类别;
从得到的至少一个类别中确定目标类别;
将待挖掘用户作为待聚类的数据点,在所述至少一个类别的基础上继续执行所述数据聚类的方法;
将归入所述目标类别的待挖掘用户确定为潜在用户;
其中各数据点之间的距离为各用户对应的特征向量的距离。
本发明还提供了一种数据聚类的装置,该装置包括:
获取单元,用于获取待聚类的数据点集合;
聚类单元,用于逐一将各数据点作为当前数据点当前数据点执行以下聚类处理,得到各类别:
判断是否当前已聚类的数据点中已经存在所述数据点集合中距离当前数据点最近的数据点,如果是,则将当前数据点归入所述距离当前数据点最近的数据点所在的类别;否则,将当前数据点单独作为一个类别,结束对当前数据点的聚类处理。
根据本发明一优选实施方式,所述聚类单元具体包括:
第一判断子单元,用于判断是否当前已聚类的数据点中已经存在所述数据点集合中距离当前数据点最近的数据点;
第二判断子单元,用于在所述第一判断子单元的判断结果为是时,判断所述距离当前数据点最近的数据点与当前数据点是否满足突变条件;
分类子单元,用于在所述第二判断子单元的判断结果为是时,将当前数据点归入所述距离当前数据点最近的数据点所在的类别;在所述第一判断子单元 的判断结果为否,或者所述第二判断子单元的判断结果为否时,将当前数据点单独作为一个类别。
根据本发明一优选实施方式,所述突变条件包括:
Rx-y大于或等于突变距离;或者,
Rx-y>Ry-z并且Rx-y大于或等于突变距离;
其中,Rx-y为当前数据点x与距离当前数据点x最近的数据点y之间的距离,Ry-z为数据点y与距离数据点y最近的数据点z之间的距离。
根据本发明一优选实施方式,所述突变距离包括:
预设的经验值;或者,
所述数据点集合中在预设排次的数据点距离基准点的距离;或者,
所述当前数据点距离基准点的距离乘以预设比例值得到的距离。
根据本发明一优选实施方式,所述预设排次包括在十分之一处的排次;
所述预设比例值为十分之一。
根据本发明一优选实施方式,该装置还包括:
合并单元,用于分别对所述聚类单元得到的各类别进行两两的合并判别,如果判别出两个类别需要进行合并,则将两个类别合并成一个类别,合并后得到的类别继续参与所述对各类别进行两两的合并判别的处理。
根据本发明一优选实施方式,所述合并单元,具体用于:
判断是否如果是,则将类别a和类别b合并成一个类别;或者,
判断是否并且如果是,则将类别a和类别b合并成一个类别;或者,
判断是否并且如果是,则将类别a和类别b合并成一个类别;
其中,所述Ra-b为类别a和类别b之间数据点的最近距离,Sa为类别a中距离类别b最近的数据点与基准点之间的距离,Sb为类别b中距离类别a最近的数据点与基准点之间的距离,max(Sa,Sb)为Sa和Sb中的最大值,h1和h2分别为类别a的中心点距离基准点的距离和类别b的中心点距离基准点的距离,max(h1,h2)为h1和h2中的最大值,k为类别a和类别b中中心点距离基准点近的类别的直径,m为类别a和类别b中中心点距离基准点远的类别中,各数据点与距离其最近的数据点之间的距离平均值,θ1、θ2和θ3分别取试验值。
根据本发明一优选实施方式,所述θ1、θ2和θ3分别取0.1、0.8和0.8。
根据本发明一优选实施方式,该装置还包括:检测单元,用于遍历所述合并单元得到的各类别,分别对各类别中的数据点进行异常点检测,输出检测到的异常点。
根据本发明一优选实施方式,所述检测单元,具体用于:
判断类别中的数据点数量是否小于或等于最小数量阈值,如果是,则确定该类别中的数据点为异常点;或者,
如果某类别与其他各类别间的距离均大于或等于距离阈值,则确定所述某类别中的数据点为异常点。
根据本发明一优选实施方式,所述待聚类的数据点为用户数据点,各用户数据点之间的距离为各用户数据点对应的特征向量的距离。
根据本发明一优选实施方式,将种子用户作为待聚类的数据点,所述装置对所述种子用户进行数据聚类,得到至少一个类别;
所述装置将待挖掘用户作为待聚类的数据点,在所述至少一个类别的基础上继续执行所述数据聚类;
被归入目标类别的待挖掘用户被确定为潜在用户,其中各数据点之间的距离为各用户对应的特征向量的距离,所述目标类别从所述至少一个类别中确定。
由以上技术方案可以看出,本发明提供的聚类方式不受设定聚类期望类别数的限制,聚类结果取决于数据点的实际分布状况,降低了人为因素的干 扰,提高了聚类结果的准确性。
【附图说明】
图1为本发明实施例提供的一种数据聚类的方法流程图;
图2a为本发明实施例提供的一个数据点集合的实例图;
图2b对图2a所示数据点集合进行聚类处理后的实例图;
图3为本发明实施例提供的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
本发明的核心思想在于,对待聚类的数据点集合逐一采用基于最小距离的聚类方式进行聚类处理。更进一步地,对聚类处理后得到的各类别进行合并判别,对需要进行合并的类别合并成一个类别。下面结合具体实施例对本发明提供的数据聚类方法进行详细描述。
图1为本发明实施例提供的一种数据聚类的方法流程图,如图1中所示,该方法可以包括以下步骤:
在101中,获取待聚类的数据点集合。
本步骤中待聚类的数据点集合在具体的应用场景中可以是不同的数据,例如在需要对用户划分类别时,待聚类的数据点集合可以是待分类用户的用户数据,各用户的用户数据分别对应一个数据点。在获取数据点集合时,可以从数据库中获取,也可以通过接口从其他装置或设备中获取,在本发明实施例中对数据来源并不加以限制。
需要说明的是,数据点可以是一维数据、二维数据,也可以是多维数据。每个数据点可以看做是空间上的点。在本步骤中还可以对数据点集合中的各数据点进行排序和/或编号等处理,并提取各数据点的数据特征。
其中,在对数据点进行排序时,可以依据各数据点在空间拓扑上的位置 进行排序。在进行编号时,可以依据上述排序结果进行编号,也可以任意编号。
提取的各数据点的数据特征可以包括三个指标:数据点的位置或编号、数据点的最近邻点的位置或编号、数据点与最近邻点的距离。其中数据点的最近邻点指的是在数据点集合中与该数据点距离最近的数据点。举个例子,对于某数据点而言,其数据特征可以表示为(x,y,l),即该数据点编号为x,与数据点距离最近的数据点为y,数据点x和y之间的距离为l。
本发明实施例中涉及的数据点的距离可以采用但不限于欧式距离、余弦距离等。
在102中,从数据点集合中取出一个数据点作为当前数据点进行以下聚类处理。
在本步骤中,可以依据各数据点的位置或编号,逐一对各数据点进行聚类处理。也可以不依据一定的顺序,随机取出一个未进行聚类处理的数据点进行聚类处理。
在103中,判断是否当前已聚类的数据点中已经存在该数据点集合中距离当前数据点最近的数据点,如果是,则执行107;否则,执行104。
初始对于第一个数据点而言,由于尚不存在已聚类的数据点,因此直接将第一个数据点独自作为一个类别。
在104中,将当前数据点单独作为一个类别。
在105中,判断数据点集合中是否存在未进行聚类处理的数据点,如果是,执行106,否则,聚类处理结束,转至执行109中所示的合并判别。
在106中,从未进行聚类处理的数据点中取出一个数据点作为当前数据点,转至103。
在107中,判断距离当前数据点最近的数据点与当前数据点是否满足突变条件,如果是,执行104;否则,执行108。
在本步骤中,采用的突变条件可以包括但不限于以下几种:
第一种:Rx-y大于或等于突变距离,其中Rx-y为当前数据点x与距离当前数据点x最近的数据点y之间的距离。
第二种:Rx-y>Ry-z并且Rx-y大于或等于突变距离,其中Ry-z为数据点y与距离数据点y最近的数据点z之间的距离。即当前数据点为x,距离数据点x最近的数据点为y,而距离数据点y最近的数据点是z,如果数据点x与y之间的距离大于数据点y与z之间的距离,并且数据点x和y之间的距离大于或等于突变距离,则认为数据点x和y满足突变条件,应该分裂为两个类别,当前数据点x应该作为一个独立的类别,而不应该归入数据点y所在的类别。
上述两种方式中,突变距离的确定可以采用但不限于如下方式:
第一种方式:直接采用一个经验值,这种方式采用一个固定的值作为突变距离。
第二种方式:将数据点集合中在预设排次的数据点距离基准点的距离作为突变距离。上面已经提到,数据点集合中各数据点是空间拓扑中分布的数据点,本发明实施例中所涉及的基准点为各数据点所在空间中的原点。其中,预设排次可以取在排序过程中排在十分之一处的排次,假设数据点集合中有100个数据点,那么可以取第10个数据点距离基准点的距离作为突变距离。
这种方式的原理在于,通常根据经验可以获知排在十分之一处排次的数据点(假设标识为数据点c)开始,各数据点是比较稳定的,那么可以认为该数据点c到基准点的距离Sc是类别中各数据点可承受的最大距离,如果两个数据点之间的距离大于这个Sc,则说明这两个数据点之间的距离超出了一个类别可承受的最大距离,即是存在突变的,这两个数据点应该属于两个类别。
第三种方式:将当前数据点距离基准点的距离乘以预设比例值得到的距离作为突变距离。其中预设比例值可以取经验值,例如取
本步骤实际上是在聚类处理过程中进行的分裂控制,即在基于最小距离 进行聚类的同时,基于突变条件来控制类别的分裂,采用这种方式可以在聚类处理结束后,不必额外进行类别的分裂,从而减少了计算量并缩短了计算耗时。
在108中,将当前数据点归入距离当前数据点最近的数据点所在的类别,转至105。
在上述步骤102~108中实际上是逐一针对数据点集合中的各数据点分别执行了聚类处理,直至所有数据点都进行了聚类处理,得到各类别。此处得到的类别个数并不确定,由数据点集合中数据点的实际特征分布状况决定。
针对上述过程举一个简单的例子,假设图2a中所示数据点为数据点集合中所包含的一部分数据点,图中的数字为各数据点的编号。
首先取出数据点1,由于数据点1是第一个数据点,因此数据点1单独作为一个类别,假设标识为类别a,再取出数据点2,距离数据点2最近的是数据点1,且数据点2与数据点1之间不满足突变条件,因此将数据点2划入类别a。
取出数据点3,距离数据点3最近的是数据点5,不在已聚类的数据点中,因此数据点3单独作为一个类别,标识为类别b。再取出数据点4,距离数据点4最近的是数据点3,且数据点4与数据点3之间不满足突变条件,因此将数据点4划入类别b。再取出数据点5,距离数据点5最近的是数据点3,且数据点5与数据点3之间不满足突变条件,因此将数据点5划入类别b。
再取出数据点6,距离数据点6最近的是数据点4,但数据点6与数据点4之间满足突变条件,因此将数据点6单独作为一个类别,标识为类别c,这几个数据点的聚类结果可以如图2b中所示。
在109中,对各类别进行两两的合并判别,如果判别出两个类别需要进行合并,则执行110。
在本步骤中进行合并判别时,主要是基于两个类别之间的最近距离进行的,具体可以采用但不限于以下几种方式:
第一种方式:判断是否如果是,则判别出类别a和类别b需要进行合并。其中,Ra-b为类别a和类别b之间数据点的最近距离,Sa为类别a中距离类别b最近的数据点与基准点之间的距离,Sb为类别b中距离类别a最近的数据点与基准点之间的距离,max(Sa,Sb)为Sa和Sb中的最大值,θ1可以取试验值,例如取0.1。
这种方式主要体现的是,类别a和类别b之间的距离在整体分布上小于一定程度,则认为类别a和类别b之间需要合并。
第二种方式:判断是否并且如果是,则判别出类别a和类别b需要进行合并。其中,h1和h2分别为类别a的中心点距离基准点的距离和类别b的中心点距离基准点的距离,max(h1,h2)为h1和h2中的最大值,θ2可以取试验值,例如取0.8。
第三种方式:判断是否并且如果是,则判别出类别a和类别b需要进行合并。其中,k为类别a和类别b中中心点距离基准点近的类别的直径,m为类别a和类别b中中心点距离基准点远的类别中,各数据点与距离其最近的数据点之间的距离平均值,θ3可以取试验值,例如θ3取0.8。
其中,体现的是两个类别中,其中一个类别的数据点分布比较紧密,另一个类别的数据点分布相对分散。
在110中,将两个类别合并成一个类别,合并后得到的类别继续参与步骤109中对各类别进行两两的合并判别的处理,直至完成对所有类别的合并判别。
对于经过合并形成的新类别,还会对其进行两两的合并判别,以判别是否需要与其他类别进行合并,待对所有类别(包括合并形成的新类别)都判别完毕后,执行后续流程。
在111中,遍历合并后得到的各类别,分别对各类别中的数据点进行异常点检测,输出检测到的异常点。
在进行异常点检测时,可以判断类别中的数据点数量是否小于或等于最小数量阈值,如果是,则确定该类别中的数据点为异常点。这种方式实际上是对类别中的数据点数量进行限制,对于包含数据点很少的类别看做是异常状况。
其中最小数量阈值可以取一个经验值,例如取3。也可以是动态的值,例如可以首先确定各类别所包含数据点数量的差值,确定产生最大差值的类别中包含数据点数量多的类别,将该类别所包含数据点数量乘以预设比例值作为最小数量阈值,其中预设比例值可以取0.1。举个例子,假设各类别所包含数据点数量分别为:2、3、50、51、60等,产生最大差值的类别是4和50对应的类别,那么可以将50*0.1即5作为最小数量阈值,那么数据点数量为2、3的类别所包含的数据点都将是异常数据点。
除了对类别中的数据点数量进行限制之外,还可以基于类别的分布状况来检测异常点,即如果某类别与其他类别间的距离均大于或等于预设的距离阈值,则确定该类别中的数据点为异常点。也就是说,如果某类别距离其他类别都很远,那么在分布上该类别就属于异常。其中上述距离阈值可以由各类别之间的最大距离maxd确定,例如取0.8maxd的值作为距离阈值。
经过上述步骤之后,除了异常点之外的各类别就是最终数据聚类得到的类别。
以上是对本发明所提供方法进行的详细描述,下面结合图3对本发明提供的装置进行详细描述。图3为本发明实施例提供的装置结构图,如图3中所示,该装置可以包括获取单元10和聚类单元20,还可以包括合并单元30和检测单元40。各组成单元的主要功能如下:
获取单元10负责获取待聚类的数据点集合,在获取数据集合时,可以从数据库中获取,也可以通过接口从其他装置或设备中获取。另外,获取单元10还可以对数据点集合中的各数据点进行排序和/或编号等处理,并提取 各数据点的数据特征。
其中,在对数据点进行排序时,可以依据各数据点在空间拓扑上的位置进行排序。在进行编号时,可以依据上述排序结果进行编号,也可以任意编号。提取的各数据点的数据特征可以包括三个指标:数据点的位置或编号、数据点的最近邻点的位置或编号、数据点与最近邻点的距离。其中数据点的最近邻点指的是在数据点集合中与该数据点距离最近的数据点。
聚类单元20负责逐一将各数据点作为当前数据点当前数据点执行聚类处理,得到各类别。可以依据各数据点的位置或编号,逐一对各数据点进行聚类处理。也可以不依据一定的顺序,随机取出一个未进行聚类处理的数据点进行聚类处理。
其中,上述聚类处理可以具体包括:判断是否当前已聚类的数据点中已经存在数据点集合中距离当前数据点最近的数据点,如果是,则将当前数据点归入距离当前数据点最近的数据点所在的类别;否则,将当前数据点单独作为一个类别,结束对当前数据点的聚类处理。
作为一种优选的实施方式,聚类单元20可以具体包括:第一判断子单元21、第二判断子单元22和分类子单元23。
其中,第一判断子单元21先判断是否当前已聚类的数据点中已经存在数据点集合中距离当前数据点最近的数据点。在第一判断子单元的判断结果为是时,第二判断子单元22进一步判断距离当前数据点最近的数据点与当前数据点是否满足突变条件。在第二判断子单元22的判断结果为是时,分类子单元23将当前数据点归入距离当前数据点最近的数据点所在的类别。在第一判断子单元21的判断结果为否,或者第二判断子单元22的判断结果为否时,分类子单元23将当前数据点单独作为一个类别。
其中,突变条件可以包括但不限于以下几种:
第一种:Rx-y大于或等于突变距离,其中,Rx-y为当前数据点x与距离当前数据点x最近的数据点y之间的距离。
第二种:Rx-y>Ry-z并且Rx-y大于或等于突变距离,其中Ry-z为数据点y与距离数据点y最近的数据点z之间的距离。即当前数据点为x,距离数据点x最近的数据点为y,而距离数据点y最近的数据点是z,如果数据点x与y之间的距离大于数据点y与z之间的距离,并且数据点x和y之间的距离大于或等于突变距离,则认为数据点x和y满足突变条件,应该分裂为两个类别,当前数据点x应该作为一个独立的类别,而不应该归入数据点y所在的类别。
上述两种方式中,突变距离的确定可以采用但不限于如下方式:
第一种方式:直接采用一个经验值,这种方式采用一个固定的值作为突变距离。
第二种方式:数据点集合中在预设排次的数据点距离基准点的距离,其中,预设排次可以取在排序过程中排在十分之一处的排次。
第三种方式:当前数据点距离基准点的距离乘以预设比例值得到的距离,其中预设比例值可以取经验值,例如取
合并单元30负责分别对聚类单元20得到的各类别进行两两的合并判别,如果判别出两个类别需要进行合并,则将两个类别合并成一个类别,合并后得到的类别继续参与对各类别进行两两的合并判别的处理。
具体地,合并单元30可以采用但不限于以下几种方式进行合并判别:
第一种方式:判断是否如果是,则判别出类别a和类别b需要进行合并。其中,Ra-b为类别a和类别b之间数据点的最近距离,Sa为类别a中距离类别b最近的数据点与基准点之间的距离,Sb为类别b中距离类别a最近的数据点与基准点之间的距离,max(Sa,Sb)为Sa和Sb中的最大值,θ1可以取试验值,例如取0.1。
第二种方式:判断是否并且如果是,则判别出类别a和类别b需要进行合并。其中,h1和h2分别为类别a的中心点距离 基准点的距离和类别b的中心点距离基准点的距离,max(h1,h2)为h1和h2中的最大值,θ2可以取试验值,例如取0.8。
第三种方式:判断是否并且如果是,则判别出类别a和类别b需要进行合并。其中,k为类别a和类别b中中心点距离基准点近的类别的直径,m为类别a和类别b中中心点距离基准点远的类别中,各数据点与距离其最近的数据点之间的距离平均值,θ3可以取试验值,例如θ3取0.8。
检测单元40负责遍历合并单元30得到的各类别,分别对各类别中的数据点进行异常点检测,输出检测到的异常点。
检测单元40在进行异常点检测时,可以判断类别中的数据点数量是否小于或等于最小数量阈值,如果是,则确定该类别中的数据点为异常点。这种方式实际上是对类别中的数据点数量进行限制,对于包含数据点很少的类别看做是异常状况。
除了对类别中的数据点数量进行限制之外,检测单元40还可以基于类别的分布状况来检测异常点,即如果某类别与其他类别间的距离均大于或等于距离阈值,则确定该类别中的数据点为异常点。也就是说,如果某类别距离其他类别都很远,那么在分布上该类别就属于异常。
本发明提供的上述数据聚类的方法和装置可以应用于诸如对数据打类别标签、基于类别提供个性化服务、基于类别确定有针对性的解决方案等等。
举一个具体应用的例子,本发明提供的方法和装置可以应用于用户分类。可以将各用户作为数据点,即各数据点为用户数据点,各用户数据点之间的距离为各用户数据点对应的特征向量的距离。其中可以预先针对各用户提取诸如用户属性、行为特征等构成特征向量。然后采用本发明提供的方法或装置对用户进行聚类,就可以自动将各用户划分为至少一个类别。
再举一个应用的例子,本发明提供的方法和装置可以应用于潜在客户挖掘。可以预先提取一些用户作为种子用户,这些种子用户具有一些明确的用 户属性特征,并且是网站的优质用户或者忠实用户。对这些种子用户进行特征向量的提取,将各用户分别作为数据点,数据点之间的距离体现为用户的特征向量之间的距离。采用本发明提供的上述方法和装置对种子用户进行聚类,可以得到至少一个类别。可以从得到的类别中选出目标类别。
然后将待挖掘用户(例如网站中的新注册用户)参与上述聚类过程,即在已经得到的聚类结果基础上继续进行聚类,将归入目标类别的待挖掘用户确定为该目标类别的潜在用户。
由以上描述可以看出,本发明提供的方法和装置可以具备以下优点:
1)本发明提供的聚类方式不受设定聚类期望类别数的限制,聚类结果取决于数据点的实际分布状况,降低了人为因素的干扰,提高了聚类结果的准确性。
2)本发明基于最小距离进行聚类,并且在聚类过程中引入突变条件,在满足突变条件的数据点处分裂,无需在聚类结束后对各类别额外进行分裂处理,降低了计算量的消耗和计算耗时。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机 可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。