发明名称 多支持度的正负序列模式在客户购买行为分析中的应用
摘要 本发明涉及一种多支持度的正负序列模式在客户购买行为分析中的应用。本发明中提出一个名为E-msNSP的高效算法来挖掘基于多支持度的负序列模式,所述算法的主要思想是首先通过改进MS-GSP算法挖掘得到基于多支持度的正序列模式,然后用和e-NSP相同的方法通过公式来计算负序列侯选模式的支持度,无需再次扫描数据库。所述E-msNSP是第一个没有约束限制的基于多支持度的负序列模式挖掘算法。本发明筛选出某一段时间内,每一类产品中用户购买量比较大的商品,这样客户在购买产品时,利用本发明可以向他推荐一些其它客户购买频率比较大的类似相关产品,从而增加客户的交易机会,将网站浏览者转变为购买者,提高交叉销售能力,提高客户的忠诚度,以及提高网站的经济效益。
申请公布号 CN104504159A 申请公布日期 2015.04.08
申请号 CN201510026256.4 申请日期 2015.01.19
申请人 齐鲁工业大学 发明人 董祥军;徐田田
分类号 G06F17/30(2006.01)I;G06Q30/02(2012.01)I 主分类号 G06F17/30(2006.01)I
代理机构 济南金迪知识产权代理有限公司 37219 代理人 吕利敏
主权项 一种多支持度的正负序列模式在客户购买行为分析中的应用,其特征在于,包括步骤如下:(1)定义基于多支持度的负序列的最小支持度MIS(i)表示项i的最小项支持度,i是正项或负项;正元素,即已购买的商品,它的最小支持度是元素中项i的最小支持度值,对于负元素,即未购买的商品,则用相关的正元素的信息来计算它的最小支持度:对于负元素<img file="FDA0000658359110000014.GIF" wi="51" he="44" />(ab),其中a,b代表某种商品,该负元素的最小支持度是:<img file="FDA0000658359110000013.GIF" wi="1194" he="80" />基于多支持度的负序列S的最小支持度是序列中元素的最小支持度值,其中S中元素集包含:e<sub>1</sub>,e<sub>2</sub>...e<sub>r</sub>,其中S的最小支持度minsup(S)是:minsup(S)=min[MIS(e<sub>1</sub>),MIS(e<sub>2</sub>),...,MIS(e<sub>r</sub>)];对于一个购买序列S和它的最小支持度minsup(S),如果S只包含正元素,s(S)≥minsup(S),那么S被称为正序列模式;如果S包含负元素,s(S)≥minsup(S),那么S被称为负序列模式;(2)利用E‑msNSP算法的步骤如下:首先,用基于多最小支持度的MS‑GSP算法来挖掘得到所有的正序列模式,即在某一段时间内,客户购买量大的商品;然后,基于所述正序列模式生成相应的负侯选序列;其次,利用相关的正序列模式的支持度来计算所述负侯选序列的支持度;再从所述负侯选序列里筛选出符合最小支持度要求的负序列模式,再用适当的筛选方法将能用于决策的序列模式筛选出来,利用这些筛选后的序列模式对客户的购买行为进行分析;(3)E‑msNSP负侯选序列的生成对于大小为k的正序列模式,其负侯选序列是通过改变正序列模式中任意m个不相邻元素为负元素得到的:m=1,2,…,<img file="FDA0000658359110000011.GIF" wi="143" he="77" />其中<img file="FDA0000658359110000012.GIF" wi="138" he="74" />为大于k/2的最小整数;(4)计算负侯选序列的支持度定义一个负侯选序列<img file="FDA0000658359110000025.GIF" wi="226" he="73" />MPS(ns):负序列ns的最大正子序列,即包含负序列中所有的正元素;<img file="FDA0000658359110000024.GIF" wi="483" he="73" />1‑negMS<sub>ns</sub>:负序列ns的子序列,并且该子序列是由MPS(ns)以及一个负元素组成;1‑negMSS<sub>ns</sub>:包含负序列ns的所有1‑negMS<sub>ns</sub>子序列的集合;<img file="FDA0000658359110000026.GIF" wi="401" he="70" /><img file="FDA0000658359110000027.GIF" wi="422" he="76" />p(1‑negMS):序列1‑negMS中的正元素不变,将负元素转换为相应的正元素;如:<img file="FDA0000658359110000028.GIF" wi="922" he="71" />大小为m并且含有n个负元素的序列ns,对于<img file="FDA0000658359110000023.GIF" wi="245" he="60" />(只含有一个负元素的序列)∈1‑negMSS<sub>ns</sub>(含有一个负元素的序列的集合)(1≤i≤n),在序列数据库D中ns的支持度sup(ns)是:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mfenced open='' close=''><mtable><mtr><mtd><mi>sup</mi><mrow><mo>(</mo><mi>ns</mi><mo>)</mo></mrow><mo>=</mo><mo>|</mo><mo>{</mo><mi>MPS</mi><mrow><mo>(</mo><mi>ns</mi><mo>)</mo></mrow><mo>}</mo><mo>|</mo><mo>-</mo><mo>|</mo><msubsup><mo>&cup;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>{</mo><mi>p</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>neg</mi><msub><mi>MS</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>}</mo><mo>|</mo></mtd></mtr><mtr><mtd><mo>=</mo><mi>sup</mi><mrow><mo>(</mo><mi>MPS</mi><mrow><mo>(</mo><mi>ns</mi><mo>)</mo></mrow><mo>)</mo></mrow><mo>-</mo><mo>|</mo><msubsup><mo>&cup;</mo><mrow><mi>i</mi><mo>=</mo><mo>-</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>{</mo><mi>p</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>neg</mi><msub><mi>MS</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>}</mo><mo>|</mo></mtd></mtr></mtable></mfenced><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mi>i</mi><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000658359110000021.GIF" wi="1735" he="233" /></maths>如果ns只包含一个负元素,那么序列ns的支持度是:sup(ns)=sup(MPS(ns))‑sup(p(ns))  (ii)特别地,对于负序列<img file="FDA00006583591100000210.GIF" wi="147" he="72" /><img file="FDA0000658359110000029.GIF" wi="1155" he="90" />(5)算法伪代码设计一个数据结构来存储e‑msNSP相关数据,所述数据结构存储正侯选序列以及它的支持度和{sid},包含相应的正侯选序列的sid集合;所述e‑msNSP算法是基于正序列模式来挖掘负序列模式,算法E‑msNSP包括步骤如下:其中,输入:D:客户购买序列数据库;MIS(i):每款产品的最小项支持度;输出:NSP:用于分析客户购买行为的序列模式的集合;<img file="FDA0000658359110000022.GIF" wi="477" he="71" /><img file="FDA0000658359110000031.GIF" wi="1452" he="2412" />所述步骤(1)是用基于多最小支持度的MS‑GSP算法从序列数据库中挖掘出所有的正序列模式;所有的正侯选序列以及它的支持度和sid的集合都被存储到哈希表PSCHash,其中,所述步骤(2)是负侯选序列的哈希码作为关键码;所述步骤(4)是对于每一个正序列模式,通过刚才所说的“负侯选序列的生成”方法来生成负侯选序列NSC;步骤(5)至步骤(20),通过公式(i)‑(iii)计算出NSC中的每一个nsc的支持度;步骤(21)至步骤(23)然后判断出哪些是负序列模式NSP;步骤(6)至步骤(10),通过公式(ii)和公式(iii)计算出只含有一个负元素的nsc的支持度,对于包含多于一个负元素的nsc的支持度,通过公式(i)计算出如步骤(9)至步骤(11);对于后者,最关键的一步就是如何计算<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mo>|</mo><msubsup><mo>&cup;</mo><mrow><mi>i</mi><mo>=</mo><mn>1</mn></mrow><mi>n</mi></msubsup><mo>{</mo><mi>p</mi><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>neg</mi><msub><mi>MS</mi><mi>i</mi></msub><mo>)</mo></mrow><mo>}</mo><mo>|</mo><mo>,</mo></mrow>]]></math><img file="FDA0000658359110000041.GIF" wi="607" he="106" /></maths>将包含p(1‑negMS<sub>i</sub>)的sid集合存储到{p(1‑negMS<sub>i</sub>)}集合中,然后计算{p(1‑negMS<sub>i</sub>)}的并集,再计算出集合中含有的sid的个数;步骤(21)行计算出nsc的最小支持度,它是序列中所有元素的MIS值中最小的一个;如果nsc.support&gt;=minsup(nsc)那么nsc被加入到NSP中,如步骤(22)至步骤(23);返回结果,如步骤(26),再用适当的筛选方法将能用于决策的序列模式筛选出来,利用这些筛选后的序列模式来分析客户的购买行为。
地址 250353 山东省济南市长清西部新城大学科技园大学路3501号