基于购物行为的商品聚类系统及其方法

文档序号:6461545阅读:314来源:国知局
专利名称:基于购物行为的商品聚类系统及其方法
技术领域
本发明涉及数据挖掘领域,尤其涉及商品聚类技术系统及其方法。

背景技术
商品销售领域,销售商经常需要把不同商品根据相似性或相关性分成若干类,以方便管理和消费者的购买。传统上这是由人工来做的。由于人的判断有一定主观性和疏忽性,这样的分类可能并不完全准确。随着数据挖掘技术的发展,越来越多的公司采用数据挖掘技术中聚类算法来辅助人工来做分类工作。
数据挖掘中把一堆对象分成若干类,有两大类型分类和聚类。数据挖掘中的分类特指事先给定一些类型,把每个对象分到最接近的类型里。而聚类指事先没有指定类型,根据对象之间彼此相似程度,尽量把相近的商品归于一类,差别大的分开到不同的类里,最终得到若干大类。
商品聚类的传统技术是基于编辑提供的商品描述内容进行聚类,其特点是对于内容相似的商品聚类效果很好,但这需要每种商品有较详细的文字描述,并且有自然语言处理的工具分析这些文字描述,技术门槛较高。另外,也有不少商品之间,从描述表面上看不到明显联系,但却因为在实用中相互辅助,如毛巾和香皂盒;或者同属一个兴趣点,如变形金刚DVD和高达游戏,而经常被消费者同时购买。对这些问题,基于内容的聚类基本上是无能为力的。
目前尚未发现国内外有类似的基于用户购买行为的商品聚类技术。


发明内容
为了克服上述方法的缺点,本发明目的在于提供一种新的商品聚类技术,它以消费者的集体购买习惯对商品聚类,而不同于传统的根据内容相似性聚类。
被同一消费者共同购买的商品常常是相关的。如果某几种商品被许多消费者都同时购买,那几乎可以断定它们是相关的,并且可能其他消费者也会同时购买这些商品。把这些商品归于一类,消费者更容易找到感兴趣的一批商品,从而做到了以消费者为中心。
本发明的技术方案如图1所示,由两部分组成 一、数据准备部分 它从保存了以前大量用户购买行为的数据库,且主要是每次每个人同时购买了哪些商品的数据库中找出所有被共同购买次数大于某个阈值TB的商品对。共同购买只有1次的商品,噪音比例非常高,必须滤掉,要求阈值TB≥2,具体数值视数据稠密程度而定,数据稠密了可取高些,这样聚类更准确,数据稀疏了可以取低些。也就是说如果取的值过大,导致保留的共同购买商品对过少,则难以聚得比较大的类,这样需把TB调低。这些找出的商品对以及相应的购买频率是执行聚类的基础。按公式计算这些商品对之间的距离 按以下公式计算它们间的相似度——商品对之间的原始距离 其中,在具体实例中 向量a表示包含商品a的订单, 向量b表示包含商品b的订单, 分子含义同时包含a和b的订单数, 分母含义表示包含商品a的订单数量的开方和表示包含商品b的订单数量的开方的乘积,作用是去除噪音。
对商品对,按以下公式从原始距离得到聚类用的距离 二、凝聚聚类处理部分 最初每个商品是单独的一个小类; 对于任意给定两大类商品A与B,A、B各包含至少1种商品,A与B中的商品至少发生了一次共同购买。假定顾客从A、B中购买了一些商品对(a1,b1),...,(an,bn)。每一对里两个商品的距离是按前面的定义算好的。
对于那些没有共同购买的商品对(ai,bj)(ai∈A,bj∈B),定义ai与bj经由(ax,bx)(x∈{1,...,n})的距离 distance(ai,bj,x)=distance(ai,ax)+distance(ax,bx)+distance(bx,bj) 如果distance(ai,ax)没有定义,即ai与ax没有共同购买过,则用类A内的所有有距离的商品对的距离均值——即类A内部距离来近似 inner_distance(A)=average{distance(ai,aj)|ai,aj∈A&common(ai,aj)>0}distance(ai,ax)≈inner_distance(A) 同样,用类B内部距离代替B中没有共同购买的商品对(bx,bj)的距离 distance(bi,bx)≈inner_distance(B) 两类商品A与B的距离定义为从A与B各取一个商品的所有商品对的距离的平均值; 如果两类商品之间没有任何共同购买,定义二者距离为无穷大∞; 用聚类技术里的凝聚算法,把足够相关的商品,即每次把达到最低共同购买次数阈值且距离最近的两类产品聚为一类,添加到商品类集合里,删除原来的这两类,同时更新结果类与其他类的距离;依次进行,较小的小类慢慢聚成较大的类,直至总的类数小于某个阈值TC,或者类间距离的最小值大于某个阈值TD后停止,从而得到聚类商品。
它按下面步骤工作 1.读入所有相关商品对的距离数据。
2.一开始,将每种商品看作是单独的一个小类; 3.两类商品A与B的距离定义为从A与B各取一个商品的所有商品对的距离的平均值,把距离最小,且达到最低共同购买次数阈值NAB的两小类A与B聚为一类。
4.如果类数小于某阈值TC,这个阈值由实施者根据经验指定,比如估计商品大概会分为10类,则指定TC=10;或者类间最小距离大于阈值TD,这个值也由实施者根据经验指定,一般可取100~10000,则进行下一步骤。否则,在其他类间距离保持不变的情况下,计算新类到其他类的距离,即重新开始第3、4步。
5.输出聚得的每堆商品。
有益效果,本发明实现了按照消费者购买习惯对产品进行聚类,从而销售商可以参考这样的分类对商品进行编排放置,即把同类商品放在一块,这样可以提醒消费者购买,从而既方便了消费者,也增加了相关商品的销售量。同时可以大量减少人工的使用。



图1是系统流程框图。
图2是数据预处理流程图。
图3是类间距离计算示例图。
图4是实施例1凝聚聚类过程(1-3)示例图。
图5是实施例1凝聚聚类过程(4-6)示例图。
图6是实施例1凝聚聚类过程(7-8)示例图
具体实施例方式 本发明系统由数据准备和凝聚聚类两大步骤构成。
一、数据准备部分如图2所示 1.建立空的商品对数据库; 2.从订单数据库中提取一定时间跨度的订单数据; 3.对每张订单里的所有商品,任意两个为一对(如pa,pb),如果未出现在商品对数据库中,把它添加到商品对数据库,频率设为1(freq(pa,pb)=1);否则商品对数据库中,该商品对频率加1(freq(pa,pb)++); 4.完成上一步后,将得到所有商品对的出现频率。按事先给定的频率阈值TB,抛弃低于此阈值的商品对。对保留的商品对,按以下公式计算它们间的相似度 其中,在具体实例中 向量a表示包含商品a的订单, 向量b表示包含商品b的订单, 分子含义同时包含a和b的订单数, 分母含义表示包含商品a的订单数量的开方和表示包含商品b的订单数量的开方的乘积,作用是去除噪音。
对商品对,按以下公式从原始距离得到聚类距离 可以看出,相似度越接近1的商品对,其距离越接近0;相似度趋近于0时,距离趋近于无穷大。相似度与距离成反比,这是符合直觉的。
二、凝聚聚类部分 一开始,每个商品是单独的一个小类。用聚类技术里的凝聚算法,即每次把达到最低共同购买次数阈值且距离最近的两类产品聚为一类,添加到商品类集合里,删除原来的这两类,同时更新结果类与其他类的距离;依次进行,较小的小类慢慢聚成较大的类,直至总的类数小于某个阈值TC,或者类间距离的最小值大于某个阈值TD后停止。
此部分的发明点 1.用平均值估计两类商品的距离 商品聚类过程中需要动态计算两个中间类之间的距离——即相关性。数据挖掘中常用做法是用两类的中心点之间距离代表两类的距离。但对于一堆商品,很难给出中心点的合理定义。本方案里,定义两类距离为两类中任意两两商品距离的平均值。
但商品数据具有时效性和稀疏性,即许多商品上架时间短,或者购买记录不够多等原因,导致数据中,许多事实上相关的商品共同购买次数很少或者为0。也就是说,商品购买历史并不能完全体现商品之间的相关性。对于没有共同购买的商品对,当然不能直接计算其距离。本方案提出根据已有的共同购买商品对来估计没有共同购买的商品对的距离。不精确的说,如果商品类A和C都与商品类B相关,而根据数据A与C之间不相关,则我们认为A与C也有一定的相关性,只是相关性较弱。具体而言,对于任意给定两类商品A与B,A、B各包含至少1种商品。假定顾客从A、B中购买了一些商品对(a1,b1),...,(an,bn)。每一对里两个商品的距离是按前面的定义算好的。对于没共同购买的商品对(ai,bj),定义ai与bj经由(ax,bx)的距离 distance(ai,bj,x)=distance(ai,ax)+distance(ax,bx)+distance(bx,bj) 这里边,如果distance(ai,ax)没有定义,即ai与ax没有共同购买过,则用类A内的所有有距离的商品对的距离均值——即类A内部距离来近似 inner_distance(A)=average{distance(ai,aj)|ai,aj∈A&common(ai,aj)>0} distance(ai,ax)≈inner_distance(A) 同样,用类B内部距离代替B中没有共同购买的商品对(bx,bj)的距离,ai与bj的距离定义为所有distance(ai,bj,x)对x取的均值,即 在此定义下,再计算从A与B中各任取1个商品的所有商品对的平均距离,得到估算的A与B的距离。
见图3所示类间距离计算的一个例子。
图中有两类类1和类2,类1包含a1-a55个点,类2包括b1-b55个点。类1内有2条边,长度分别为2和3,按上面内部距离的定义,inner_distance(类1)=(2+3)/2=2.5,类2内有2条边,长度分别为1和2.6,所以inner_distance(类2)=(1+2.6)/2=1.8。
(a1,a5)、(a1,a3)、(b1,b2)、(b1,b5)之间没有边,按上边的原则,以类内部距离近似,即distance(a1,a5)≈distance(a1,a3)≈2.5,distance(b1,b2)≈distance(b1,b5)≈1.8。
(a1,b1)之间的经由边1和2的间接距离分别为 distance(a1,b1,1)=distance(a1,a3)+distance(a3,b5)+distance(b5,b1)=2.5+6+1.8=10.3 distance(a1,b1,2)=distance(a1,a5)+distance(a5,b3)+distance(b3,b1)=2.5+7+1.8=11.3 distance(a1,b1)=(distance(a1,b1,1)+distance(a1,b1,1))/2=10.8 类似的可以算出其他距离。完整的距离表如下 所以类A与B的距离为上表的平均值9.94。
2.用共同购买频率判断两类商品是否足够相关,即大于最低共同购买次数阈值就足够相关 从直觉上说,两类商品只有在其中存在足够多的共同购买时,才可以判断为相关类。共同购买次数的阈值按照如下方案确定。
由于不同商品畅销度不同,畅销品可能跟几百种商品都共同销售过,因此它们与别的商品,只有共同销售次数很多时,才能认为二者相关,应该要求更高的共同购买次数。;而冷门商品可能只与别的商品共同销售过十几次,这个阈值应该相应调低。所以不能简单根据两类商品个数来得到一个共同购买次数阈值,而必须考虑两类各自的畅销度。
本方案从判断相关的相反角度考虑,假设两类商品是无关的,则它们之间出现的共同购买是全局随机的,并且是统计均匀的,即在属于各种类别的所有商品中随机均匀出现。这样可以计算出它们之间的某个共同购买次数N对应的概率p(N)。假设对于某个Ncb,p(Ncb)是个极小的数,如<1/10000,即两类假定为无关的商品之间发生了Ncb次共同购买的概率非常小,那么可以把Ncb作为一个判断基准如果两类商品共同购买次数超过Ncb,如果二者无关,那么意味着概率极小的事件发生了,这样可以推测“假定它们无关”很可能是不正确的,也就是说它们很可能是相关的,就可以把二者聚为一类。
具体地来说,假设商品共有M种。有类A和类B,各包含mA与mB种商品。类A与类A外商品共发生NA次共同购买,类A与类B商品共发生了NAB次共同购买。
则每次类A与类A外商品的共同购买(a,d),a∈A,dA,如果d在商品中是随机选出的,则d∈B的概率为mB/M。
对于NA次购买,A与B的商品的共同购买次数NAB的分布为二项分布,均值为E=NA·mB/M,方差为var=NA·mB/M·(1-mB/M)。一般mB<<M,(1-mB/M)≈1,所以方差var近似为NA·mB/M。当NA足够大时,此二项分布可视为正态分布。故给定概率p(Ncb),很容易算出对应的Ncb,使NAB≥Ncb的概率小于p(Ncb)。假设取p(Ncb)=1/10000,可以算出对于A来说,NcbA→B=E+3.8·var≈5·E=5·NA·mB/M。
由于购买是相互的,还需保证在B与B外的共同购买中,与A的共同购买次数达到要求。可以得到NcbB→A=E′+3.8·var′≈5·E′=5·NB·mA/M。所以 在本系统实施中,为了达到更准确的效果,可以取 下面是通过共同购买频率判断两类是否足够相关的例子 假设共有1349种商品,类A有16种商品,与A外商品发生共同购买116次;类B有68种商品,与B外商品共同购买127次。A、B间共同购买72次。则 即A与B共同购买次数超过35时,可以判断A与B足够相关。
由于NAB=72>Ncb=35,A与B足够相关,可以聚为1类。
实施例1 假设有11种书p1,p2,...,p11,分别是《养花指南》、《古今养兰经典》、《苏绣图案》、《剪纸万花筒——欢快动手做》、《我的专业生活安居三部曲》、《厨房、卫生间装修》、《怡情摆饰DIY》、《不织布卡通香包吊饰/DIY精致集》、《布贴画制作》、《简易编织披肩&斗篷》、《手工钩制工艺精品》。根据购买关系历史得出(p1,p2)距离为3.5,(p1,p3)距离为10,(p2,p5)距离为6,(p2,p5)距离为6,(p3,p6)距离为12,(p5,p6)距离为4,(p7,p8)距离为2,(p9,p10)距离为3,(p9,p11)距离为1,(p8,p11)距离为5。同时规定聚类希望得到的类数阈值TC=3。
最初每种产品为1小类。
具体凝聚聚类算法如下步骤图4、图5、图6给出了聚类的整个过程,其中图6用实线椭圆标出了三个结果类。图4所示为示例的第1-第3步,图5所示为示例的第4-第6步, 图6所示为示例的第7-第8步 第1步,当前距离最近的(p9,p11)聚为1类{p9,p11}。
第2步,当前距离最近的(p7,p8)聚为1类{p7,p8}。
第3步,当前距离最近的(p3,p4)聚为1类{p3,p4}。
第4步,当前距离最近的(p1,p2)聚为1类{p1,p2}。
第5步,当前距离最近的({p9,p11},p10)聚为1类{p9,p10,p11}。
第6步,当前距离最近的(p5,p6)聚为1类{p5,p6}。
第7步,当前距离最近的({p7,p8},{p9,p10,p11})聚为1类{p7,p8,p9,p10,p11}。
第8步,子类{p1,p2}和{p5,p6}聚到了一起{p1,p2,p5,p6}。当前类共有C1={p1,p2,p5,p6},C2={p3,p4},C3={p7,p8,p9,p10,p11}.因为当前类数为3,等于TC,因此聚类停止。
最终得到三类C1={p1,p2,p5,p6},C2={p3,p4},C3={p7,p8,p9,p10,p11}。
即这11种商品被分成三类 类1《养花指南》、《古今养兰经典》、《我的专业生活安居三部曲》、《厨房、卫生间装修》 类2《苏绣图案》、《剪纸万花筒——欢快动手做》 类3《怡情摆饰DIY》、《不织布卡通香包吊饰/DIY精致集》、《布贴画制作》、《简易编织披肩&斗篷》、《手工钩制工艺精品》 每类中的几种商品可以摆放在一起,以达到促进销售和方便顾客的目的。
权利要求
1.一种商品凝聚聚类系统,由数据准备和凝聚聚类处理两个部分组成,其中
(1)数据准备部分是从保存了以前大量用户每次每个人同时购买了哪些商品的数据库中找出所有被共同购买次数大于某个阈值TB≥2的商品对,按以下公式计算这些商品对之间的原始距离
其中,向量a表示包含商品a的订单,向量b表示包含商品b的订单,分子含义是同时包含a和b的订单数,分母含义是表示包含商品a的订单数量的开方和表示包含商品b的订单数量的开方的乘积;
然后按以下公式从原始距离得到聚类用的距离
(2)凝聚聚类处理部分
——最初每个商品是单独的一个小类;
——对于任意给定两类商品A与B,A、B各包含至少1种商品,假定顾客从A、B中购买了一些商品对(a1,b1),...,(an,bn),每一对里两个商品的距离是按前面的定义算好的;
——两类商品A与B的距离定义为从A与B各取一个商品的所有商品对的距离的平均值;
——用聚类技术里的凝聚算法,把足够相关的商品,即每次把达到最低共同购买次数阈值且距离最近的两类产品聚为一类,添加到商品类集合里,删除原来的这两类,同时更新结果类与其他类的距离;依次进行,较小的类慢慢聚成较大的类,直至总的类数小于某个阈值TC,或者类间距离的最小值大于某个阈值TD后停止,从而得到聚类商品。
2.如权利要求1所述的一种商品凝聚聚类系统,其特征在于根据已有的共同购买商品对的平均值来估计没有共同购买商品对的距离
对于任意给定两类商品A与B,A、B各包含至少1种商品,A与B中的商品至少发生了一次共同购买;假定顾客从A、B中购买了一些商品对(a1,b1),...,(an,bn);每一对里两个商品的距离是按前面的定义算好的;
对于那些没有共同购买的商品对(ai,bj)(ai∈A,bj∈B),定义ai与bj经由(ax,bx)(x∈{1,...,n})的距离
distance(ai,bj,x)=distance(ai,ax)+distance(ax,bx)+distance(bx,bj)
如果distance(ai,ax)没有定义,则用类A内部距离来近似
inner_distance(A)=average{distance(ai,aj)|ai,aj∈A&common(ai,aj)>0}distance(ai,ax)≈inner_distance(A)
同样,用类B内部距离代替B中没有共同购买的商品对(bx,bj)的距离,ai与bj的距离定义为所有distance(ai,bj,x)对x取的均值;
3.如权利要求1所述的一种商品凝聚聚类系统,其特征在于用共同购买频率判断两类商品是否足够相关,即聚为一类所要求的共同购买次数的阈值
从判断相关的相反角度考虑,假设两类商品是无关的,则它们之间出现的共同购买是全局随机的,并且是统计均匀的,即在属于各种类别的所有商品中随机均匀出现,这样可以计算出它们之间的某个共同购买次数N对应的概率p(N);
假设对于某个Ncb,p(Ncb)是个极小的数,如<1/10000,即两类假定为无关的商品之间发生了Ncb次共同购买的概率非常小,那么可以把Ncb作为一个判断基准如果两类商品共同购买次数超过Ncb,如果二者无关,那么意味着概率极小的事件发生了,这样可以推测“假定它们无关”很可能是不正确的,也就是说它们很可能是相关的,就可以把二者聚为一类。
4.如权利要求1所述的一种商品凝聚聚类系统,其特征在于阈值TB要求的具体数值视数据稠密程度而定,数据稠密了可取高些,数据稀疏了可以取低些。
5.如权利要求1所述的一种商品凝聚聚类系统,其特征在于阈值TC由实施者根据经验指定,比如估计商品大概会分为10类,则指定TC=10;或者阈值TD由实施者根据经验指定,一般可取100~10000。
6.一种商品凝聚聚类方法,由数据准备和凝聚聚类处理两个大步骤构成,其中
(1)数据准备部分按下列步骤进行
①建立空的商品对数据库;
②从订单数据库中提取一定时间跨度的订单数据;
③对每张订单里的所有商品,任意两个为一对(如pa,pb),如果未出现在商品对数据库中,把它添加到商品对数据库,频率设为1(freq(pa,pb)=1);否则商品对数据库中,该商品对频率加1(freq(pa,pb)++);
④完成上一步后,将得到所有商品对的出现频率,按事先给定的频率阈值TB,抛弃低于此阈值的商品对,对保留的商品对,按以下公式计算它们间的相似度
其中,在具体实例中
向量a表示包含商品a的订单,
向量b表示包含商品b的订单,
分子含义同时包含a和b的订单数,
分母含义表示包含商品a的订单数量的开方和表示包含商品b的订单数量的开方的乘积,作用是去除噪音,
对商品对,按以下公式从原始距离得到聚类距离
(2)凝聚聚类处理部分按下列步骤进行
①将每种商品看作单独的一个小类;
②对于任意给定两类商品A与B,A、B各包含至少1种商品,如果A与B中的商品至少发生了一次共同购买,假定顾客从A、B中购买了一些商品对(ai,b1),...,(an,bn);每一对里两个商品的距离是按前面的定义算好的;
对于那些没有共同购买的商品对(ai,bj)(ai∈A,bj∈B),定义ai与bj经由(ax,bx)(x∈{1,...,n})的距离
distance(ai,bj,x)=distance(ai,ax)+distance(ax,bx)+distance(bx,bj)
再计算A与B中各任取一个商品的所有商品对的平均距离,得到估算的A与B的距离;
如果两类商品之间没有任何共同购买,定义二者距离为无穷大∞;
③读入所有相关商品对的距离数据,把足够相关的商品,即每次把达到最低共同购买次数阈值且距离最小的两类聚为一类;
④如果类数大于某阈值TC,或者类间最小距离小于阈值TD,则在其他类间距离保持不变的情况下,计算新类到其他类的距离,即重新开始上一小步;
⑤如果类数小于某阈值TC,或者类间最小距离大于阈值TD,则输出聚得的每堆商品。
7.如权利要求6所述的一种商品凝聚聚类方法,其特征在于根据已有的共同购买商品对的平均值来估计没有共同购头商品对的距离
具体而言,对于任意给定两类商品A与B,A、B各包含至少1种商品,假定顾客从A、B中购买了一些商品对(a1,b1),...,(an,bn),每一对里两个商品的距离是按前面的定义算好的,对于没共同购买的商品对(ai,bj)(ai∈A,bj∈B),定义ai与bj经由(ax,bx)(x∈{1,...,n})的距离
distance(ai,bj,x)=distance(ai,ax)+distance(ax,bx)+distance(bx,bj)
这里边,如果distance(ai,ax)没有定义,即ai与ax没有共同购买过,则用类A内的所有有距离的商品对的距离均值——即类A内部距离来近似
inner_distance(A)=average{distance(ai,aj)|ai,aj∈A&common(ai,aj)>0}distance(ai,ax)≈inner_distance(A)
同样,用类B内部距离代替B中没有共同购买的商品对(bx,bj)的距离;ai与bj的距离定义为所有distance(ai,bj,x)对x取的均值,即
8.如权利要求6所述的一种商品凝聚聚类方法,其特征在于用共同购买频率判断两类商品是否足够相关,共同购买次数的阈值按照如下方案确定
从判断相关的相反角度考虑,假设两类商品是无关的,则它们之间出现的共同购买是全局随机的,并且是统计均匀的,即在属于各种类别的所有商品中随机均匀出现;
这样可以计算出它们之间的某个共同购买次数N对应的概率p(N);
假设对于某个Ncb,p(Ncb)是个极小的数,如<1/10000,即两类假定为无关的商品之间发生了Ncb次共同购买的概率非常小,那么可以把Ncb作为一个判断基准如果两类商品共同购买次数超过Ncb,如果二者无关,那么意味着概率极小的事件发生了,这样可以推测“假定它们无关”很可能是不正确的,也就是说它们很可能是相关的,就可以把二者聚为一类。
9.如权利要求8所述的一种商品凝聚聚类方法,其特征在于共同购买次数的阈值采用如下算法确定
假设商品共有M种,有类A和类B,各包含mA与mB种商品,类A与类A外商品共发生NA次共同购买,类A与类B商品共发生了NAB次共同购买;
则每次类A与类A外商品的共同购买(a,d),a∈A,dA,如果d在商品中是随机选出的,则d∈B的概率为mB/M;
对于NA次购买,A与B的商品的共同购买次数NAB的分布为二项分布,均值为E=NA·mB/M,方差为var=NA·mB/M·(1-mB/M),一般mB<<M,(1-mB/M)≈1,所以方差var近似为NA·mB/M,当NA足够大时,此二项分布可视为正态分布,故给定概率p(Ncb),能算出对应的Ncb,使NAB≥Ncb的概率小于p(Ncb),假设取p(Ncb)=1/10000,可以算出对于A来说,NcbA→B=E+3.8·var≈5·E=5·NA·mB/M;
由于购买是相互的,还需保证在B与B外的共同购买中,与A的共同购买次数达到要求;
可以得到NcbB→A=E′+3.8·var′≈5·E′=5·NB·mA/M;所以
10.如权利要求9所述的一种商品凝聚聚类方法,其特征在于在本方法实施中,为了达到更准确的效果,可以取
全文摘要
本发明公开了一种基于购物行为的商品聚类系统,由数据准备和凝聚聚类处理两个部分组成,从保存了以前大量用户每次每个人同时购买了哪些商品的数据库中找出所有被共同购买次数大于某个阈值TB≥2的商品对,计算得到聚类用的距离;起初把每个商品看成是单独的一个小类,利用凝聚算法,每次把达到最低共同购买次数阈值且距离最近的两小类产品聚为一类,同时更新结果类与其他小类的距离,依次进行,小类慢慢聚成大类,直至大类数小于某个阈值TC,或者类间距离的最小值大于某个阈值TD后停止,从而得到聚类商品。同时公开了这个基于购物行为的商品聚类方法。达到了提醒消费者购买,也增加了相关商品的销售量的效果。
文档编号G06F17/30GK101251859SQ20081008507
公开日2008年8月27日 申请日期2008年3月17日 优先权日2008年3月17日
发明者李韶华 申请人:北京科文书业信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1