CN102737327B - 一种划分客户群集的计算机实现的方法和系统 - Google Patents
一种划分客户群集的计算机实现的方法和系统 Download PDFInfo
- Publication number
- CN102737327B CN102737327B CN201110080939.XA CN201110080939A CN102737327B CN 102737327 B CN102737327 B CN 102737327B CN 201110080939 A CN201110080939 A CN 201110080939A CN 102737327 B CN102737327 B CN 102737327B
- Authority
- CN
- China
- Prior art keywords
- client
- attribute
- user logging
- type
- trooping
- 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
Classifications
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及对数据库的数据分析,尤其涉及对商业数据库进行数据挖掘。公开一种用于划分客户群集的计算机实现的方法和系统。该方法包含:接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值;对原始客户记录集合进行预处理,以生成预处理后的客户记录集合;对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集。其中,所述预处理包含:确定原始客户记录集合中的每个客户记录所代表的客户的类型;在相应的客户记录中用一个类型属性表示该客户的类型;对数据属性和类型属性的值进行归一化;对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值。
Description
技术领域
本发明涉及对数据库的数据分析,尤其涉及对商业数据库进行数据挖掘,针对不同的应用,对商家的客户进行聚类。
背景技术
在商业实践中,商家希望能识别客户的特征,以便对客户进行有效的管理。商家为了有效地开展业务,需要挖掘和分析客户的特征,为此,常常需要采用聚类(clustering)技术来的分析其在数据库中存储的客户数据。
聚类技术广泛应用于统计学、模式识别、机器学习、电信服务等技术领域。采用计算机技术和聚类技术,可以将一个数据库中的大量数据记录划分成K个(K为整数)群集(groupings)或聚类(cluster)。每个群集中的一个数据记录与该群集中的另一个数据记录的相似度,大于与其它群集中的数据记录的相似度。聚类技术采用的常用算法包括:K均值聚类(K-meansClustering)算法,PAM算法等等。
商家采用聚类技术,可以对数据库的客户记录进行聚类,即把客户记录(或客户)划分为不同的群集,进而总结各个群集中的客户的相似特征,由此能针对不同的客户群集,提供相适应的服务。
在有些应用中,假设在运行聚类过程之前,聚类产生的群集的数目(通常记为整数K)是已知的。在有些现实应用中,在运行聚类过程之前,群集的数目是未知的,需要试探用不同的K来运行聚类过程,最后根据一定的聚类标准来确定K的值,以及采用该K运行聚类过程所获得的聚类结果。
聚类算法的复杂度,与数据库中数据记录的个数有关,与每个数据记录包含的属性个数有关,与聚类产生的群集的数目K的大小有关,与群集的数目K事先是否已知有关。采用聚类技术对数据库的客户记录进行聚类的过程,通常需要运行许多小时,甚至几天。如何在具体应用中提高对数据库的客户记录进行聚类的效率,对于商家来说非常重要。
发明内容
本发明的一个目的是改进现有技术中划分客户群集的方法。
一方面,本发明提供一种用于划分客户群集的计算机实现的方法和系统。该方法包含:接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值;对原始客户记录集合进行预处理,以生成预处理后的客户记录集合;对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集。其中,所述预处理包含:确定原始客户记录集合中的每个客户记录所代表的客户的类型;在相应的客户记录中用一个类型属性表示该客户的类型;对数据属性和类型属性的值进行归一化;对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值。
另一方面,本发明还提供一种用于划分客户群集的系统,包含:接收装置,被配置为接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值;预处理装置,被配置为对原始客户记录集合进行预处理,以生成预处理后的客户记录集合;聚类装置,被配置为对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集。其中,所述预处理装置包含:类型表示装置,被配置为确定原始客户记录集合中的每个客户记录所代表的客户的类型,在相应的客户记录中用一个类型属性表示该客户的类型;归一化装置,被配置为对数据属性和类型属性的值进行归一化;加权装置,被配置为对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值。
与现有技术相比,本发明的方法和系统降低了计算复杂度,并且能灵活调整聚类结果的群集组合的散度和纯度。
附图说明
发明内容部分和所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对示例性实施例的详细说明可更好地理解发明本身以及其使用模式、另外的目标、特征以及优点,在附图中:
图1表示对一个客户集合进行聚类产生的群组组合的示意图;
图2示意性表示一种现有技术的方法为客户划分群集的过程的流程图;
图3A和3B示意性表示按照本发明方法的一个实施例为客户划分群集的过程的流程图;
图4A-4I示意性表示按照本发明的实施例对原始客户记录集合进行的预处理;
图5表示按照本发明一个实施例执行的K均值聚类算法的流程图;
图6A-6E例示按照本发明一个实施例执行K均值聚类算法过程中的数据处理;
图7示意性表示按照本发明实施例的用于为客户划分群集的系统的框图。
具体实施方式
如背景技术部分所述,在商业实践中,商家希望能识别客户的特征,以便对客户进行有效的管理。在商业实践中,有这样一种情形。例如,对于某项服务或产品,商家已经积累了一定数量的客户,但是商家仍然希望增加该项服务/产品的客户。为此,商家需要识别该服务/产品的潜在客户,以便有针对性地对潜在客户展开精准的营销活动。商家识别潜在客户的一种方式是,根据已经积累的客户,识别潜在客户。
以银行为例,某银行已经积累了一定数量的信用卡客户。在银行的数据库中存储有客户(例如有工资账户的客户,)的月收入、年龄等数据。此外,在数据库中存储的信息,还能标识哪些客户是持有银行发行的信用卡的客户,即信用卡客户。该银行希望根据已有的信用卡客户,识别其它的潜在的信用卡客户,以便能准确、有效地展开营销活动。根据已有的信用卡客户识别潜在的信用卡客户的一种方式,是识别与已有的信用卡客户相似的客户,其中的关键,在于发现已有信用卡客户与待识别的客户共有的差异性特征。
为此,银行可以通过聚类技术,将例如有工资账户的客户划分为不同的群集,在信用卡客户相对集中的群集中,识别潜在的信用卡客户。通过聚类技术产生的每个群集内的客户之间比较相似;就是说,在信用卡客户比较集中的群集内的非信用卡客户,与信用卡客户相对来说比较相似,因此成为未来的信用卡客户的可能性较大,因此可以将信用卡客户比较集中的群集内的非信用卡客户,识别为潜在的信用卡客户。
这种根据已有的信用卡客户识别潜在的信用卡客户的方式,可以由图1进一步例示。
图1表示对一个客户集合进行聚类产生的群组组合的示意图。图1中的人形图案,表示某个银行的客户,其中,加方框的人形图案的代表持有该银行信用卡的客户(简称“信用卡客户”),无方框的人形图案代表不持有该银行信用卡的客户(简称“非信用卡客户”)。
标记10表示银行的一个客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性(例如“年龄”、“收入”),每个数据属性有一个属性值(例如“年龄”=30,“收入”=7000)。如图所示的集合10包含的客户记录代表40个客户,其中,有8个是信用卡客户,有32个不是信用卡客户。
按照客户的属性(或客户记录的属性),对客户集合10进行聚类,产生四个客户群集101、102、103和104。客户集合10中的客户在这四个群集中的分布如表1所示。
表1
群集101 | 群集102 | 群集103 | 群集104 | |
信用卡客户数 | 6 | 1 | 1 | 0 |
非信用卡客户数 | 4 | 14 | 9 | 5 |
客户总数 | 10 | 15 | 10 | 5 |
纯度 | 60% | 6.7% | 10% | 0 |
例如,群集101有10个客户,其中,有6个是信用卡客户,4个非信用卡客户。
一般而言,对一个数据点集合进行聚类的产生的群集组合中,每个群集中的数据点,有一定的相似性。例如,对于图1所示的由客户集合经过聚类产生的群集来说,每个群集中的客户的属性(例如年龄、收入等),具有一定的相似性。
评估聚类结果的指标,包括“散度”(Dispersion)指标。散度指标用来表征聚类产生的群集中的数据点相似性。群集的散度越大,数据点之间的相似度越小;散度越小,数据点之间的相似度越大。散度是由数据点、群集个数等因素决定的。
除了散度,本发明还采用“纯度”(Purity),作为评估聚类结果的一个指标。群集的纯度,是群集中某种类型的数据点与群集中的数据点总数的比率。例如,上面表1的最后一行列出的群集“纯度”,是群集内的信用卡客户数与客户总数的比率。例如,最后一行第2列的数值“60%”,是群集101的纯度,即群集101内的信用卡客户数与客户总数的比率6/10。群集的纯度越高,表示群集中的信用卡客户越集中。
为了根据已有的信用卡客户识别潜在的信用卡客户,希望对客户集合进行聚类所产生的群集,除了具有较低的散度,还要具有较高的纯度。如表1所示,群集101的纯度最高。可以将群集101作为对象,用于发展信用卡客户。就是说,可以将本例中的群集101中的4个非信用卡客户,作为潜在的信用卡客户来对待。
一般来说,在对客户进行聚类的应用中,所使用的关于客户的信息包含两类,一类信息是客户的数据属性,例如客户的年龄、收入等。另一类信息是客户的类别属性。类别属性将客户分为两类:种子客户和非种子客户。如何用类别属性划分客户,取决于具体的应用。在图1所示的例子中,用加方框的人形图案表示的信用卡客户,就是一种种子客户。
客户的数据属性和类别属性都是可以从商家在数据库中存储的客户记录中获得的。
为了根据种子客户识别潜在的客户,希望对客户集合进行聚类所产生的群集,除了具有较低的散度,还要具有较高的纯度。
图2表示一种现有技术的划分客户群集的方法过程200。该方法采用聚类技术对客户集合进行聚类,目标是使聚类结果的群集散度最低,纯度最大。
该过程从步骤S201开始,该步骤输入一个包含N个客户记录的客户记录集合。客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值。
然后,在步骤S202,为输入的客户记录集合随机产生一个群集组合。
步骤S201和S202是为运行PAM过程而对原始数据进行的初始化处理。
在步骤S203,使用客户的数据属性对步骤S202产生的群集组合运行PAM过程,生成当前的群集组合,即K个群集。
PAM算法是一种与K-means类似的常用聚类方法。PAM算法针对一个输入的群组组合-即K个群组,执行一个迭代的过程。每次迭代都产生一个群集组合,直到满足以下两个条件之一时停止:
(1)当前的群集组合的散度不再减小;或者
(2)当前的群集组合与输入的群集组合矛盾,即:当前的的群集组合将输入的群集组合中某两个群组的中心点分配到同一个群组中。
迭代停止时,最后一次的聚类群组将作为PAM的输出。
在步骤S204.利用客户的类别属性,计算当前群集组合的纯度,即群集组合中每个群集的纯度的平方和。
在步骤S205,判断当前群集组合的纯度是否大于上一个群集组合的纯度。如果当前群集组合的纯度大于上一个群集组合的纯度,过程200前进到步骤206。一个例外是,如果当前群组组合是步骤203产生的群组组合,总是假设的当前群组组合的纯度大于群集组合的纯度,或者说,此时过程200直接前进到步骤206。
如果当前群集组合的纯度不是大于上一个群集组合的纯度,过程200前进到步骤210。此时,输出当前的群集组合,作为过程200的结果,过程200结束。
在步骤S206,通过穷举法搜索出纯度最大的群集组合。
步骤S206进一步包含步骤S206-1和步骤S206-2。
在步骤S206-1,对于每个第i群集(其中i=1,2,..,K),将其中心点用第j个点代替(其中j=1,2,...,N),得到K*N种中心点的组合。
这个步骤可以用下面一段伪代码来表示。
显然,步骤S206-1的计算复杂度为K*N。
在步骤S206-2,对于步骤S206-1获得的K*N种中心点的组合中的每个组合,计算每个数据点到每个中心点的距离,使每个数据点和离它最近的中心点划分在同一群集,如此得到K个群集;按照步骤204的同样的方法可以计算这K个群集的总纯度。
通过步骤S206-1和S206-2,可以纯度最大的群集组合。
步骤206-2需要计算K*N次距离,因此,其计算复杂度是K*N。综合步骤206-1和步骤206-2二者的计算复杂度,步骤206的计算复杂度是(K*N)*(K*N),即K2*N2。
在步骤S207.使用客户的数据属性对步骤S206产生的群集组合运行PAM过程,生成当前的群集组合,即K个群集。
然后返回步骤204,进入下一轮循环。该循环将重复有限的t次。
图2所示的方法,分开使用客户的数据属性和类别属性,交替地运用PAM算法和穷举法,即先对数据属性进行聚类,得到“散度”较小的聚类结果,再根据类别属性进行调整,使得“纯度”变大。由于要交替地运用PAM算法和穷举法,该方法具有很高的计算复杂度:0(N2*K2*t),其中,N是被聚类的集合中的记录总数,K是聚类结果中的群集个数。在实际应用中,N和K的值通常较大,因此该方法往往需要很长的时间才能获得聚类结果。
本发明提出一种改进的方法,可以缩短获得聚类结果所需的时间。图3表示按照本发明方法一个实施例为客户划分群集过程300的流程。如图3所示,过程300始于步骤310,在该步骤,输入一个原始客户记录集合。客户记录集合,是指一个由一个或多个客户记录组成的数据集合。客户记录具有一定数据结构的数据记录,其中记录了关于客户的信息。
客户记录通常被保存在计算机系统的非易失性存储介质上的数据库中。客户记录集合的输入,是指把计算机系统的存储介质中存储的数据库中的一个或多个这样的客户记录,输入到计算机系统的内存(例如RAM)。
原始客户记录集合中的每个客户记录代表一个客户,并且包含至少一个数据属性,每个数据属性有一个属性值。
图4A中示意性表示了一个这样的原始客户记录集合。如图4A所示的表T4A,表示一个原始客户记录集合。该原始客户记录集合有4条记录,分别代表4个客户(客户1、客户2、客户3、客户4),其中,每条记录有2个属性:分别是“年龄”属性和“收入”属性。例如,代表客户1的客户记录的属性值分别是“年龄”=25,“收入”=6000。
在步骤320,对客户记录集合进行预处理,以生成预处理后的客户记录集合。
对客户记录集合进行预处理,包含如图3B所示的三个子步骤321、322和323。
在步骤321,确定原始客户记录集合中的每个客户记录所代表的客户的类型,在相应的客户记录中用一个类型属性表示该客户的类型。
在具体应用中,可以根据划分客户群集的目的,确定每个客户记录所代表的客户的类型。
例如,表T4A(图4A)中的客户,有两种类型:类型1-信用卡客户;类型2-非信用卡客户。
步骤S321的结果,可以用图4B所示的表T4B来表示。该表的第2列表示客户记录的类型属性,其中,客户2和客户4的类型属性值为1,表示客户2和客户4是类型1的客户,即信用卡客户;客户2和客户4类型属性值为0的,表示客户2和客户4是类型2的客户,即非信用卡客户。
步骤321的结果,也可以用图4C所示的表T4C来表示。表T4C实际上是通过客户ID将表T4A与表T4B的合并的结果。
按照本发明一个实施例,所述在相应的客户记录中用一个类型属性表示该客户的类型,包含在相应的客户记录中增加一个类型属性。
例如,图4A所示原始客户记录集合,没有包含表明客户是不是信用卡客户的属性。在这种情况下,可以从银行的数据库中获得这种信息,并在客户记录中增加一个类型属性,以表示对应的客户的是不是信用卡客户。
当然,如果原始客户记录集合已经包含表明客户是不是信用卡客户的属性,则只要按表T4B或表T4C那样,将表明客户是不是信用卡客户的属性标识为类型属性即可,无需在客户记录中额外增加一个类型属性。
在步骤322,对数据属性和类型属性的值进行归一化。对一个属性的值的归一化,是指将一个属性(例如年龄)的每个数值都线性按比例缩放到区间[0,1]内。具体来说,假设该属性中最大值为MAX,最小值为MIN,则某个数值X的归一化值为(X-MIN)/(MAX-MIN)。
以表T4A中的属性“年龄”属性的值为例。属性“年龄”的最大值MAX=35,最小值MIN=25,则客户1的年龄值25的归一化值为:(25-25)/(35-25)=0,客户2的年龄值30的归一化值为:(30-25)/(35-25)=0.5。以同样的方式,对表T4A中的所有属性的值进行归一化。结果如图4D中的表T4D所示。
表T4B中的属性的值为0或1,对表T4B中的属性的值进行归一化,结果的内容不变,仍然可以用表T4B表示。
在步骤323,分别对数据属性的值和类型属性的值加权,获得数据属性的加权属性值和类型属性的加权属性值。
具体方法是,对于数据属性,将归一化的属性值,各乘以一个散度权重因子α;对于类型属性,将归一化的属性值,各乘以一个纯度权重因子β。
例如,如图4F所示,设α=0.5,将表T4D中的属性值,各乘以一个散度权重因子α=0.5,得到加权的属性值,结果如表T4F所示。
例如,如图4E所示,设β=0.5,将表T4B中的属性值,各乘以一个纯度权重因子β=0.5,得到加权的属性值,结果如表T4E所示。
经过预处理后的客户记录集合,如图4G中的表T4G所示,该表实际上是表T4F与表T4E的合并。
在步骤330,对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集。对经过预处理的客户记录集合执行一个聚类过程,将客户记录集合所代表的客户划分成预定个数的群集。
在以下的说明中,用字母“K”来代表所述预定个数记,一般来说,K是从一个指定范围中选择的整数。在以下的说明中,也将所述预定个数的群集,称为运行聚类过程所产生的群集组合,或“群集组合”。将预处理后的客户记录集合划分成K个群集,相当于将客户记录集合所代表的客户划分成K个群集。
按照本发明一个实施例,在步骤330中,所述对经过预处理的客户记录集合执行一个聚类过程,包含执行K均值聚类(K-meansclustering)算法。
按照本发明一个实施例,散度权重因子α和纯度权重因子β的关系是,α+β=1(0<=α<=1,0<=β<=1)。
作为聚类算法的输入,经过预处理的客户记录集合中的属性值,是用散度权重因子α和纯度权重因子β加权过的属性值,这是本发明的特点之一。权重因子α和β,可以用来调节聚类结果的散度和纯度。散度权重因子α的相对值越大,则聚类结果的散度越小,即群集中的数据越集中。纯度权重因子β相对值越大,则聚类结果的纯度越大。
K均值聚类算法是一种常用的聚类方法。该方法对于给定的N个数据点(例如,表T4G中的4个客户记录),将所有数据点分为K个群集(clusters/groups),使得K个群集的“类内距之和”(within-clustersumofsquares)最小。“类内距之和”可以用如下的公式(1)表示:
其中,K是作为聚类结果的群集的个数,j是群集i(i=1...K)中的一个数据点,center_i是群集i的中心点。
公式(1)中,(j-center_i)2指群集i中的一个数据点j的到群集i的中心点center_i的欧氏距离。
表示群集i的“类内距”,即群集i的中心点到群集i内所有其他数据点的距离之和。
因此,公式(1)表示的“类内距之和”,是K个群集中每个群集的“类内距”的和。
下面仍然以表T4G作为经过预处理的客户记录集合作为对象,结合图5的示意性流程,举例说明用K均值聚类算法执行聚类过程的实施例。
预设K=2,即要将表T4G中4个客户记录(代表客户1-4)划分到2个群集(K=2)。
如图5所示,用K均值聚类算法执行的聚类过程,可分为5个步骤510-550。
步骤510是一个初始化步骤,该步骤随机为每一个客户记录分配群集。例如,如图6A所示,将客户1和客户2的客户记录分配到群集1;将客户3和客户4的客户记录分配到群集2。
在步骤520,计算每个群集的中心点。群集的中心点,是该群集内所有数据点的平均值。
在本发明实施例中,每个客户记录就是一个数据点,就是说,一个数据点代表一个客户或客户记录。数据点用多维数组表示,多维数组的内容就是客户记录中的属性值。例如,图T4G中的客户2的客户记录对应的数据点是(年龄:0.25,收入:0.335,类型:0.5)。
根据图6A所示的客户记录在两个群集中的分布,可以计算每个群集的中心点。计算的结果如图6B所示。其中,Center_1表示群集1的中心点,Center_2表示群集2的中心点。例如,群集1包含两个数据点:(年龄:0.00;收入:0.00;类型:0);(年龄:0.25;收入:0.335;类型:0.5)。群集1的中心点Center_1为
<年龄:(0.00+0.0125)/2;收入:(0.00+0.335)/2;类型(0+0.5)/2>,即
<年龄:0.0125;收入:0.1675;类型:0.25>。
在步骤530,计算每个数据点到每个群集中心点的距离。计算的结果如图6C中的距离矩阵所示。例如,距离矩阵中,客户1所在的行中的数值0.1062是代表客户1的数据点到群集1的中心点Center_1的距离,该距离是通过下式计算的:
类似地,客户1所在的行中的数值0.2537,是代表客户1的数据点到群集2的中心点Center_2的距离。
在步骤535,计算当前K(K=2)个群集的“类内距之和”D(X)。
首先,由如图6C所示的距离矩阵,根据前文所述的公式(2),计算群集1的“类内距”和群集2的“类内距”:
群集1的“类内距”=(0.1062+0.1062);
群集2的“类内距”=(0.1362+0.1362)。
再根据前文所述的公式(1)计算得出,在当前的群集分布情况下,K(K=2)个群集的“类内距之和”D(x)为:
(0.1062+0.1062)+(0.1362+0.1362)=0.4848。
步骤540.为数据点重新分配群集。重新分配的规则是:将一个数据点分配到离其最近的那个群集中心点所在的群集。例如,从图6C中可以发现,客户2离Center_2的距离更近。根据重新分配的规则,将客户2分配到群集2。重新分配之后的群集组合如图6D所示。
步骤550.计算重新分配之后K个群集的“类内距之和”D(x+1)。
如果计算重新分配之后K个群集的“类内距之和”D(x+1)小于重新分配之前K个群集的“类内距之和”D(x),则返回到步骤520,继续迭代。否则,重新分配之后的K个群集,即为最终的聚类结果。
就本例而言,在540步骤中为数据点重新分配群集后的群集组合的“类内距之和”D(x+1)=0.3190,而重新分配之前的群集组合的“类内距之和”D(x)=0.4848,即D(x+1)<D(x),因此返回步骤520。
经过步骤520和步骤530后,得到如图6E所示的新的距离矩阵。此时的群集组合仍然如图6D所示,其“类内距之和”D(x)=0.3190。
在步骤540中,根据图6E所示的距离矩阵进行第二次重新分配。
从图6E可见,尽管代表客户2的数据点离群组2的中心点Cneter_2的距离(0.0311)比离群组1的中心点Center_1的距离(0.4248)近,该数据点已经被分配到群集2中;按照重新分配的规则,不必为该数据点重新分配群组。同样,也不必为代表客户3、客户4的数据点重新分配群组,也不必为代表客户1的数据点重新分配群组。因此,步骤540的执行,不改变如图6D所示的数据点在两个群集中的分布,如果执行步骤550,所计算的K个群集的“类内距之和”D(x+1)仍然等于0.3190。
由于D(x+1)不小于D(x+),因此,迭代结束。最终的聚类结果仍然如图6D所示,即:群集1包含客户1的客户记录,群集2包含客户2、客户3和客户4的客户记录。
按照本发明的一个实施例,在步骤330之后,可以从所述预定个数(K)的群集中选择纯度较高的群集,输出该群集中的原始客户记录的数据属性的值。群集的纯度,是该群集中的具有特定的类型属性的客户记录占该群集中的总客户记录数的比率。
按照该实施例输出纯度较高的群集中的原始客户记录的数据属性的值,有助于发现已有信用卡客户与待识别的客户的共同的差异性特征。
参看图4B的表T4B可知,客户1和客户3是非信用卡客户,客户2和客户4是信用卡客户。不难计算,这种群集组合中,群集1的纯度为0,群集2的纯度为2/3=67%。群集2的纯度67%较高,表明信用卡用户在群集2中的比较集中,由此可以推断,客户3虽然不是信用卡客户,但是与很多信用卡客户有很高的相似性,银行如果要发展信用卡用户,则应优先将客户3作为潜在的信用卡客户对待。
按照本发明实施例的方法,通过对原始客户记录集合进行预处理,在聚类算法中对数据属性和类型属性作统一的处理,从而降低了计算复杂度。所属技术领域的技术人员不难得出,按照本发明实施例的方法的计算复杂度为0(N*K*t),远低于图2所示的现有技术的方法的计算复杂度0(N2*K2*t)。
按照本发明实施例的方法能通过调整数据属性和类型属性的相对权重,灵活调整聚类结果的群集组合的散度和纯度,这易于寻找到散度和纯度令人满意的群组或群组组合。
在以上的例子中,在步骤323分别对数据属性的值和类型属性的值加权时,选择的加权因子是α=0.5、β=0.5。这样的加权因子组合,是一种平衡散度和纯度的组合。在实际应用中,一般可以将α=0.5、β=0.5作为初始选择,如果在这种选择的情况下,聚类产生的群集的散度和纯度不合要求,则可以按照对散度和纯度的要求,重新调整α和β的值。下面用两个假设的极端例子,说明调整α和β所具有的效果。
假设在步骤323(图3)选择α=1、β=0,则经过预处理后的客户记录集合将如图4H所示。这时,所有客户记录的类型属性的值都是0,因此,在以后执行的图5所示的过程,将依据属性“年龄”和“收入”进行聚类,以保证所生成的群集的散度最小。
假设在步骤323选择α=0、β=1,则经过预处理后的客户记录集合将如图4I所示。这时,所有客户记录的数据属性的值都是0,于是,在以后执行的图5所示的过程,将依据类型属性进行聚类,这可以保证所生成的群集的纯度最大,即群集中的客户记录要么都是类型为1的,要么都是类型为0的。
从上述两个假设的特例可以看出,按照本发明实施例的方法,可以通过对数据属性和类型属性分别加权,灵活调整群集的散度和纯度,具有明显的技术效果。
以上描述了根据本发明的实施例的用于划分客户群集的计算机实现的方法。按照同一个发明构思,本发明也提供一种用于划分客户群集的系统。图7示意性表示按照本发明实施例的用于划分客户群集的系统700的框图。
如图7所示,用于划分客户群集的系统700包含:接收装置710、预处理装置720和聚类装置730。
接收装置710被配置得用于接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值。
预处理装置720被配置得用于对原始客户记录集合进行预处理,以生成预处理后的客户记录集合。
聚类装置730被配置得用于对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集。
所述预处理装置包含类型表示装置721、归一化装置722和加权装置723。
类型表示装置721被配置得用于确定原始客户记录集合中的每个客户记录所代表的客户的类型,在相应的客户记录中用一个类型属性表示该客户的类型。
归一化装置722被配置得用于对数据属性和类型属性的值进行归一化。
加权装置723被配置得用于对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值。
按照本发明一个实施例,所述类型表示装置721进一步被配置得用于在相应的客户记录中增加一个类型属性。
按照本发明一个实施例,所述加权装置723被配置得用于用散度权重因子α对数据属性的属性值加权,用纯度权重因子β,对类型属性的属性值加权,其中α+β=1。
按照本发明一个实施例,其中所述聚类装置执行的聚类算法是K均值聚类算法。
按照本发明一个实施例,所述预定个数是从一个指定范围中选择的整数。
按照本发明一个实施例,进一步包含一个输出装置(图中未予示出),其被配置得用于从所述预定个数的群集中选择纯度较高的群集,输出该群集中的原始客户记录的数据属性的值,其中,一个群集的纯度,是该群集中的具有特定的类型属性的客户记录占该群集中的总客户记录数的比率。
以上描述了按照本发明实施例的用于划分客户群集的系统,由于上文已经详细地描述了按照本发明实施例的用于划分客户群集的计算机实现的方法,在上述对系统的描述中,省略了明显与对方法的描述重复、或者很容易从对方法的描述中引申得出的内容。
应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的步骤,对步骤的编号,是为了使说明更加简明,而不是对各步骤之间的顺序关系的严格限定,各步骤与步骤之间的顺序可以与所描述的不同。例如,在本发明的一些实施例中,可以没有上述一个或多个可选步骤。每个步骤的具体执行方式可以与所描述的不同。所有这些变化都处于本发明的精神和范围之内。
本发明可以硬件、软件、或硬件与软件的结合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机系统,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,并构成本发明的装置。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行所述方法。
以上参照优选实施例具体示出和说明了本发明,本领域技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。
Claims (10)
1.一种用于划分客户群集的计算机实现的方法,包含:
接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值;
对原始客户记录集合进行预处理,以生成预处理后的客户记录集合;
对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集,
其中,所述预处理包含:
确定原始客户记录集合中的每个客户记录所代表的客户的类型;
在相应的客户记录中用一个类型属性表示该客户的类型;
对数据属性和类型属性的值进行归一化;
对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值,其中,所述对数据属性的值和类型属性的值分别加权,包含用散度权重因子α对数据属性的属性值加权,用纯度权重因子β,对类型属性的属性值加权,其中α+β=1,其中,可调节散度权重因子和纯度权重因子,以影响对预处理后的客户记录集合执行该聚类算法而产生的预定个数的群集的纯度,其中,一个群集的纯度,是该群集中的具有特定的类型属性的客户记录占该群集中的总客户记录数的比率。
2.根据权利要求1的方法,其中,所述在相应的客户记录中用一个类型属性表示该客户的类型,包含在相应的客户记录中增加一个类型属性。
3.根据权利要求1或2的方法,其中,所述聚类算法是K均值聚类算法。
4.根据权利要求3的方法,其中,所述预定个数是从一个指定范围中选择的整数。
5.根据权利要求1的方法,进一步包含:
从所述预定个数的群集中选择纯度较高的群集,输出该群集中的原始客户记录的数据属性的值。
6.一种用于划分客户群集的系统,包含:
接收装置,被配置得用于接收一个原始客户记录集合,其中,客户记录集合中的每个客户记录代表一个客户,每个客户记录包含至少一个数据属性,每个数据属性有一个属性值;
预处理装置,被配置得用于对原始客户记录集合进行预处理,以生成预处理后的客户记录集合;
聚类装置,被配置得用于对预处理后的客户记录集合执行一个聚类算法,将预处理后的客户记录集合划分成预定个数的群集,
其中,所述预处理装置包含:
类型表示装置,被配置得用于确定原始客户记录集合中的每个客户记录所代表的客户的类型,在相应的客户记录中用一个类型属性表示该客户的类型;
归一化装置,被配置得用于对数据属性和类型属性的值进行归一化;
加权装置,被配置得用于对数据属性的值和类型属性的值分别加权,获得数据属性的加权属性值和类型属性的加权属性值,其中,所述对数据属性的值和类型属性的值分别加权,包含用散度权重因子α对数据属性的属性值加权,用纯度权重因子β,对类型属性的属性值加权,其中α+β=1,其中,可调节散度权重因子和纯度权重因子,以影响对预处理后的客户记录集合执行该聚类算法而产生的预定个数的群集的纯度,其中,一个群集的纯度,是该群集中的具有特定的类型属性的客户记录占该群集中的总客户记录数的比率。
7.根据权利要求6的系统,其中,所述类型表示装置进一步被配置得用于在相应的客户记录中增加一个类型属性。
8.根据权利要求6或7的系统,其中,所述聚类算法是K均值聚类算法。
9.根据权利要求8的系统,其中,所述预定个数是从一个指定范围中选择的整数。
10.根据权利要求8的系统,进一步包含:
输出装置,被配置得用于从所述预定个数的群集中选择纯度较高的群集,输出该群集中的原始客户记录的数据属性的值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110080939.XA CN102737327B (zh) | 2011-03-31 | 2011-03-31 | 一种划分客户群集的计算机实现的方法和系统 |
US13/432,361 US8914372B2 (en) | 2011-03-31 | 2012-03-28 | Clustering customers |
US13/561,468 US8918397B2 (en) | 2011-03-31 | 2012-07-30 | Clustering customers |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110080939.XA CN102737327B (zh) | 2011-03-31 | 2011-03-31 | 一种划分客户群集的计算机实现的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102737327A CN102737327A (zh) | 2012-10-17 |
CN102737327B true CN102737327B (zh) | 2016-02-10 |
Family
ID=46928644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110080939.XA Active CN102737327B (zh) | 2011-03-31 | 2011-03-31 | 一种划分客户群集的计算机实现的方法和系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US8914372B2 (zh) |
CN (1) | CN102737327B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102737327B (zh) * | 2011-03-31 | 2016-02-10 | 国际商业机器公司 | 一种划分客户群集的计算机实现的方法和系统 |
US10599620B2 (en) * | 2011-09-01 | 2020-03-24 | Full Circle Insights, Inc. | Method and system for object synchronization in CRM systems |
US10621206B2 (en) | 2012-04-19 | 2020-04-14 | Full Circle Insights, Inc. | Method and system for recording responses in a CRM system |
US8943060B2 (en) * | 2012-02-28 | 2015-01-27 | CQuotient, Inc. | Systems, methods and apparatus for identifying links among interactional digital data |
CN104036409A (zh) * | 2013-03-08 | 2014-09-10 | 姚德明 | 提升电子商务企业竞争力的方法和系统 |
US9311372B2 (en) | 2013-05-31 | 2016-04-12 | Wal-Mart Stores, Inc. | Product record normalization system with efficient and scalable methods for discovering, validating, and using schema mappings |
US10445341B2 (en) * | 2014-06-09 | 2019-10-15 | The Mathworks, Inc. | Methods and systems for analyzing datasets |
CN105279176A (zh) * | 2014-06-30 | 2016-01-27 | 江苏韦度一号信息科技有限公司 | 一种办公系统的数据挖掘方法 |
CN106033510B (zh) * | 2015-03-13 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种用户设备识别方法及系统 |
US20160314483A1 (en) * | 2015-04-22 | 2016-10-27 | Tata Consultancy Services Limited | Grouping of entities for delivery of tangible assets |
CN106570718B (zh) * | 2015-10-13 | 2020-06-19 | 深圳市腾讯计算机系统有限公司 | 信息的投放方法及投放系统 |
US10534866B2 (en) | 2015-12-21 | 2020-01-14 | International Business Machines Corporation | Intelligent persona agents for design |
CN107679917A (zh) * | 2017-10-17 | 2018-02-09 | 京北方信息技术股份有限公司 | 基于数据处理的精准营销方法、装置、设备及存储介质 |
CN107944931A (zh) * | 2017-12-18 | 2018-04-20 | 平安科技(深圳)有限公司 | 种子用户拓展方法、电子设备及计算机可读存储介质 |
CN108171538A (zh) * | 2017-12-26 | 2018-06-15 | 中国联合网络通信集团有限公司 | 用户数据处理方法及系统 |
US11321359B2 (en) * | 2019-02-20 | 2022-05-03 | Tamr, Inc. | Review and curation of record clustering changes at large scale |
US20230260216A1 (en) * | 2019-05-08 | 2023-08-17 | Nippon Telegraph And Telephone Corporation | Point cloud annotation device, method, and program |
CN110245684B (zh) * | 2019-05-14 | 2023-02-03 | 杭州米雅信息科技有限公司 | 数据处理方法、电子设备和介质 |
JP7276437B2 (ja) * | 2019-05-23 | 2023-05-18 | 日本電信電話株式会社 | 3次元点群ラベル学習推定装置、3次元点群ラベル学習推定方法、及び3次元点群ラベル学習推定プログラム |
CN110415002A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | 客户行为预测方法及系统 |
US10555191B1 (en) | 2019-08-01 | 2020-02-04 | T-Mobile Usa, Inc. | Optimum network performance improvement solutions selection systems and methods |
CN111160468B (zh) * | 2019-12-30 | 2024-01-12 | 深圳市商汤科技有限公司 | 数据处理方法及装置、处理器、电子设备、存储介质 |
US11343683B2 (en) | 2020-04-22 | 2022-05-24 | T-Mobile Usa, Inc. | Identification and prioritization of optimum capacity solutions in a telecommunications network |
US11350289B2 (en) | 2020-05-14 | 2022-05-31 | T-Mobile Usa, Inc. | Identification of indoor and outdoor traffic usage of customers of a telecommunications network |
US11064382B1 (en) | 2020-05-07 | 2021-07-13 | T-Mobile Usa, Inc. | Management of telecommunications network congestion on roadways |
US11153765B1 (en) | 2020-05-15 | 2021-10-19 | T-Mobile Usa, Inc. | Capacity planning of telecommunications network by detecting anomalies in site behavior |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016497A (en) * | 1997-12-24 | 2000-01-18 | Microsoft Corporation | Methods and system for storing and accessing embedded information in object-relational databases |
US6449612B1 (en) | 1998-03-17 | 2002-09-10 | Microsoft Corporation | Varying cluster number in a scalable clustering system for use with large databases |
US7120431B1 (en) * | 1999-02-12 | 2006-10-10 | Lucent Technologies Inc. | System and method for adjusting antenna radiation in a wireless network |
US6510436B1 (en) * | 2000-03-09 | 2003-01-21 | International Business Machines Corporation | System and method for clustering large lists into optimal segments |
US20020111870A1 (en) * | 2000-09-26 | 2002-08-15 | I2 Technologies, Inc. | System and method for identifying a product |
US7590558B2 (en) * | 2000-09-26 | 2009-09-15 | I2 Technologies Us, Inc. | System and method for facilitating electronic commerce transactions |
US7398270B1 (en) | 2001-01-31 | 2008-07-08 | Choi Lawrence J | Method and system for clustering optimization and applications |
US20030177066A1 (en) * | 2001-04-12 | 2003-09-18 | Computer Sciences Corporation, A Nevada Corporation, | Integrated marketing promotion system and method |
US7590642B2 (en) * | 2002-05-10 | 2009-09-15 | Oracle International Corp. | Enhanced K-means clustering |
US20090177540A1 (en) * | 2003-07-08 | 2009-07-09 | Yt Acquisition Corporation | High-precision customer-based targeting by individual usage statistics |
US20080010132A1 (en) * | 2006-06-16 | 2008-01-10 | Aaron Jeffrey A | Methods, systems, and computer program products for targeting advertising to customers of content service providers |
WO2008067543A2 (en) | 2006-11-30 | 2008-06-05 | Mastercard International Incorporated | Techniques for targeted offers |
US7599945B2 (en) | 2006-11-30 | 2009-10-06 | Yahoo! Inc. | Dynamic cluster visualization |
US20110093420A1 (en) * | 2009-10-16 | 2011-04-21 | Erik Rothenberg | Computer-processing system scoring subjects relative to political, economic, social, technological, legal and environmental (pestle) factors, utilizing input data and a collaboration process, transforming a measurement valuation system regarding the value of subjects against an agenda |
CN102737327B (zh) * | 2011-03-31 | 2016-02-10 | 国际商业机器公司 | 一种划分客户群集的计算机实现的方法和系统 |
-
2011
- 2011-03-31 CN CN201110080939.XA patent/CN102737327B/zh active Active
-
2012
- 2012-03-28 US US13/432,361 patent/US8914372B2/en active Active
- 2012-07-30 US US13/561,468 patent/US8918397B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN102737327A (zh) | 2012-10-17 |
US20120254179A1 (en) | 2012-10-04 |
US8918397B2 (en) | 2014-12-23 |
US20120290580A1 (en) | 2012-11-15 |
US8914372B2 (en) | 2014-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102737327B (zh) | 一种划分客户群集的计算机实现的方法和系统 | |
US8015045B2 (en) | Method for optimizing net present value of a cross-selling marketing campaign | |
CN103748579B (zh) | 在映射化简框架中处理数据 | |
US20120254183A1 (en) | Method and System for Clustering Data Points | |
US20160085832A1 (en) | System and method of analyzing data using bitmap techniques | |
CN107463665A (zh) | 一种数据关联规则挖掘算法 | |
US20190251468A1 (en) | Systems and Methods for Distributed Generation of Decision Tree-Based Models | |
Sethia et al. | Data augmentation using generative models for credit card fraud detection | |
Kakushadze et al. | Statistical industry classification | |
US6889221B1 (en) | Parallel random sampling | |
US20160147824A1 (en) | Method for processing time series and system thereof | |
Chavan et al. | Mini batch k-means clustering on large dataset | |
Zhang et al. | Extracting sample data based on Poisson distribution | |
Wandeda et al. | The Efficiency of Public Spending in Sub-Saharan Africa | |
Wedashwara et al. | Combination of genetic network programming and knapsack problem to support record clustering on distributed databases | |
Zheng et al. | Sparse weighted Naive Bayes classifier for efficient classification of categorical data | |
CN108460258A (zh) | 一种用户信任综合评估方法 | |
Soutar et al. | A benefit segmentation of the financial planning market | |
CN102495788B (zh) | 一种嵌入式系统内存统计方法及装置 | |
CN110704470B (zh) | 一种账单数据排重方法、终端设备及存储介质 | |
You et al. | Finding the clusters with potential value in financial time series based on agglomerative hierarchical clustering | |
de AT de Carvalho et al. | Multi-view clustering on relational data | |
US10204381B2 (en) | Reciprocal distribution calculating method and reciprocal distribution calculating system for cost accounting | |
Abe et al. | Analyzing behavior of objective rule evaluation indices based on pearson product-moment correlation coefficient | |
Ugarković et al. | Supervised and Unsupervised Machine Learning Approaches on Class Imbalanced Data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20181026 Address after: Valhalla, New York, USA Patentee after: Utopas insight company Address before: New York grams of Armand Patentee before: International Business Machines Corp. |
|
TR01 | Transfer of patent right |