CN107944896A - 确定商品关联程度的方法以及装置 - Google Patents
确定商品关联程度的方法以及装置 Download PDFInfo
- Publication number
- CN107944896A CN107944896A CN201610890323.1A CN201610890323A CN107944896A CN 107944896 A CN107944896 A CN 107944896A CN 201610890323 A CN201610890323 A CN 201610890323A CN 107944896 A CN107944896 A CN 107944896A
- Authority
- CN
- China
- Prior art keywords
- user
- data
- shopping
- collection
- garbled
- 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.)
- Pending
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
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
Landscapes
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种确定商品关联程度的方法以及装置,具有指标全面、简便易行的优点。其中,确定商品关联程度的方法包括:获取用户购物品类数据集,其中用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为;设置支持度阈值,训练用户购物品类数据集得到训练结果集,训练结果集中的数据的频繁项表示支持度大于支持度阈值的购物行为,频次表示该购物行为对应的用户数量;对训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集;对训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集;将第一筛选数据集和第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
Description
技术领域
本发明涉及计算机及其软件技术领域,特别地涉及一种确定商品关联程度的方法以及装置。
背景技术
在电商购物网站中,经常需要知道用户喜欢购买什么品类的组合,通过分析购物行为数据,找出用户经常购买的组合。这些分析结果可以很好的服务于营销人员,提示营销人员做出相应的组合促销,以达到提升销售额的目的。
目前可以使用Apriori算法来实现关联规则指标,但是Apriori算法运行效率慢。
目前还经常使用的FP-Growth算法进行分析。但FP-Growth算法只能计算出关联规则常用指标中的支持度指标,没有实现置信度指标,同时还缺少提升度指标。这在实际应用中带来极大的不便,因此亟需对现有的FP-Growth算法提出改进。
发明内容
有鉴于此,本发明提供一种评价指标全面、简便易行的确定商品关联程度的方法以及装置。
为实现上述目的,根据本发明的一个方面,提供了一种确定商品关联程度的方法。
本发明的确定商品关联程度的方法包括:获取用户购物品类数据集,其中所述用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为;设置支持度阈值,训练所述用户购物品类数据集得到训练结果集,所述训练结果集中的数据的频繁项表示支持度大于所述支持度阈值的购物行为,频次表示该购物行为对应的用户数量;对所述训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,所述第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量;对所述训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,所述第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量;将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
可选地,所述获取用户购物品类数据集的步骤包括:获取用户订单数据,所述用户订单数据包括订单用户名和订单商品品类;针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据;从所述用户汇总订单数据中获取所述用户购物品类数据集。
可选地,所述针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据的步骤包括:对所述用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据;所述从所述用户汇总订单数据中获取所述用户购物品类数据集的步骤包括:省略所述用户汇总订单数据中的用户名信息,以得到所述用户购物品类数据集。
可选地,所述训练所述用户购物品类数据集得到训练结果集的步骤包括:调用SPARK的FP-Growth算法包训练所述用户购物品类数据集以得到所述训练结果集。
可选地,所述将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度的步骤包括:将所述第一筛选数据集记为键值型数据(K,V),其中K为所述第一筛选数据集的频繁项,V为所述第一筛选数据集的频次;将所述第二筛选数据集记为键值型数据(K2,V2),其中K2为所述第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为所述第二筛选数据集的频次;根据所述(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在所述第一筛选数据集(K,V)中查询所述Kf对应的值,Vl表示在所述第一筛选数据集(K,V)中查询所述Kl对应的值;根据所述(K2,V2,Vf,Vl)以及所述用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
根据本发明的另一方面,提供了一种确定商品关联程度的装置。
本发明的确定商品关联程度的装置包括:获取模块,用于获取用户购物品类数据集,其中所述用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为;训练模块,用于设置支持度阈值,训练所述用户购物品类数据集得到训练结果集,所述训练结果集中的数据的频繁项表示支持度大于所述支持度阈值的购物行为,频次表示该购物行为对应的用户数量;第一筛选模块,用于对所述训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,所述第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量;第二筛选模块,用于对所述训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,所述第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量;计算模块,用于将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
可选地,所述获取模块还用于:获取用户订单数据,所述用户订单数据包括订单用户名和订单商品品类;针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据;从所述用户汇总订单数据中获取所述用户购物品类数据集。
可选地,所述获取模块还用于:对所述用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据;省略所述用户汇总订单数据中的用户名信息,以得到所述用户购物品类数据集。
可选地,所述训练模块还用于:调用SPARK的FP-Growth算法包训练所述用户购物品类数据集以得到所述训练结果集。
可选地,所述计算模块还用于:将所述第一筛选数据集记为键值型数据(K,V),其中K为所述第一筛选数据集的频繁项,V为所述第一筛选数据集的频次;将所述第二筛选数据集记为键值型数据(K2,V2),其中K2为所述第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为所述第二筛选数据集的频次;根据所述(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在所述第一筛选数据集(K,V)中查询所述Kf对应的值,Vl表示在所述第一筛选数据集(K,V)中查询所述Kl对应的值;根据所述(K2,V2,Vf,Vl)以及所述用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
根据本发明的技术方案,针对现有的FP-Growth算法的计算结果作进一步分析处理,能够实现了其原本没有实现的置信度和提升度指标,具有简便易行,可视化效果好等优点。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施方式的确定商品关联程度的方法的主要步骤的示意图;
图2是根据本发明实施方式的确定商品关联程度的装置的主要模块的示意图;
图3是根据本发明实施方式的确定商品关联程度的装置的工作过程的算法示意图。
具体实施方式
以下结合附图对本发明的示范性实施方式做出说明,其中包括本发明实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
为使本领域技术人员更好地理解,现对部分专业术语进行解释。
SPARK:是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写Hadoop分布式文件系统,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
FP-Growth算法:是韩家炜等人在2000年提出的关联分析算法,它采取如下策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息。在算法中使用了一种称为频繁模式树(Frequent Pattern Tree)的数据结构。FP-tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。FP-Growth算法基于以上的结构加快整个挖掘过程。
Map方法:是对弹性分布式数据集RDD(Resilient Distributed Datasets)中的每个元素都执行一个指定的函数来产生一个新的RDD;RDD之间的元素是一对一关系。
Filter方法:是对RDD元素进行过滤;返回一个新的数据集,由经过func函数后返回值为true的原元素组成。
Join方法:是连接操作,将输入数据集(K,V)和另外一个数据集(K,W)进行join,得到(K,(V,W));该操作是对于相同K的V和W集合进行笛卡尔积操作,也即V和W的所有组合。
GroupByKey方法:是数据分组操作,在一个由(K,V)对组成的数据集上调用,返回一个(K,Seq[V])对的数据集。
Distinct方法:是数据去重,返回一个新的数据集。
支持度(Support):表示项集{X,Y}在总项集里出现的概率,也就是事务集同时包含X,Y的概率。公式为:
Support(X→Y)=P(X,Y)/P(I)=P(X∪Y)/P(I)=num(XUY)/num(I)。
其中,I表示总事务集。num()表示求事务集里特定项集出现的次数。比如,num(I)表示总事务集的个数。num(X∪Y)表示含有{X,Y}的事务集的个数(个数也叫次数、频次)。
置信度(Confidence):表示在先决条件X发生的情况下,由关联规则”X→Y“推出Y的概率。即在含有X的项集中,含有Y的可能性,公式为:
Confidence(X→Y)=P(Y|X)=P(X,Y)/P(X)=P(XUY)/P(X)
提升度(Lift):表示提升度表示含有X的条件下,同时含有Y的概率,与Y总体发生的概率之比。公式为:
Lift(X→Y)=P(Y|X)/P(Y)
图1是根据本发明实施方式的方法的主要步骤的示意图。如图1所示,本发明实施方式的确定商品关联程度的方法可以主要包括如下的步骤A至步骤E。
步骤A:获取用户购物品类数据集,其中用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为。
根据本发明的实施方式,步骤A可以具体包括如下的步骤A1至步骤A3(图1中未示出)。
步骤A1:获取用户订单数据,用户订单数据包括订单用户名和订单商品品类。
步骤A2:针对用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据。例如,可以对用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据。
步骤A3:从用户汇总订单数据中获取用户购物品类数据集。例如,可以省略用户汇总订单数据中的用户名信息,以得到用户购物品类数据集。
步骤B:设置支持度阈值,训练用户购物品类数据集得到训练结果集,训练结果集中的数据的频繁项表示支持度大于支持度阈值的购物行为,频次表示该购物行为对应的用户数量。
根据本发明的实施方式,步骤B中的训练用户购物品类数据集得到训练结果集的步骤可以为:调用SPARK的FP-Growth算法包训练用户购物品类数据集以得到训练结果集。
步骤C:对训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量。
步骤D:对训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量。
步骤E:将第一筛选数据集和第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
根据本发明的实施方式,步骤E可以具体包括如下的步骤E1至步骤E4(图1中未示出)。
步骤E1:将第一筛选数据集记为键值型数据(K,V),其中K为第一筛选数据集的频繁项,V为第一筛选数据集的频次。
步骤E2:将第二筛选数据集记为键值型数据(K2,V2),其中K2为第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为第二筛选数据集的频次。
步骤E3:根据(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在第一筛选数据集(K,V)中查询Kf对应的值,Vl表示在第一筛选数据集(K,V)中查询Kl对应的值。
步骤E4:根据(K2,V2,Vf,Vl)以及用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
图2是根据本发明实施方式的确定商品关联程度的装置的主要模块的示意图。如图2所示,本发明实施方式的确定商品关联程度的装置20包括:获取模块21、训练模块22、第一筛选模块23、第二筛选模块24和计算模块25。
获取模块21用于获取用户购物品类数据集,其中用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为。
根据本发明的实施方式,获取模块21还可以用于:获取用户订单数据,用户订单数据包括订单用户名和订单商品品类;针对用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据;从用户汇总订单数据中获取用户购物品类数据集。
根据本发明的实施方式,获取模块21还可以用于:对用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据;省略用户汇总订单数据中的用户名信息,以得到用户购物品类数据集。
训练模块22用于设置支持度阈值,训练用户购物品类数据集得到训练结果集,训练结果集中的数据的频繁项表示支持度大于支持度阈值的购物行为,频次表示该购物行为对应的用户数量。
根据本发明的实施方式,训练模块22还可以用于:调用SPARK的FP-Growth算法包训练用户购物品类数据集以得到训练结果集。
第一筛选模块23用于对训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量。
第二筛选模块24用于对训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量。
计算模块25用于将第一筛选数据集和第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
根据本发明的实施方式,计算模块25还可以用于:将第一筛选数据集记为键值型数据(K,V),其中K为第一筛选数据集的频繁项,V为第一筛选数据集的频次;将第二筛选数据集记为键值型数据(K2,V2),其中K2为第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为第二筛选数据集的频次;根据(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在第一筛选数据集(K,V)中查询Kf对应的值,Vl表示在第一筛选数据集(K,V)中查询Kl对应的值;根据(K2,V2,Vf,Vl)以及用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
为使本领域技术人员更好地理解本发明的内容,下面结合具体实施例作详细描述。图3是根据本发明实施方式的确定商品关联程度的装置的工作过程的算法示意图。
在开始整个工作过程之前,需要对SPARK初始化,设置运行环境,相关细节略去不表。
a.获取用户订单数据。用户订单数据举例如表1所示,每一条记录包括用户名和订单商品品类。
表1用户订单数据示例
用户名 | 订单商品品类 |
13979217040 | 卫生巾 |
13989341650 | 洁面 |
13979217040 | 口腔清洁 |
13996501723 | 乳液面霜 |
13996501723 | 洁面 |
…… | …… |
b.去除重复数据,然后统计总的记录数I。
c.将去重后的数据转换成字符串string数据,然后存储在RDD数据集中。
d.编写逻辑,以分隔符切割字符串string数据,将切割结果转化成键值对格式,其中键值对的键表示用户名,键值对的值表示订单商品品类。例如,表1中第一条记录应当记为(键=13979217040,值=卫生巾)。
e.对上面的键值对数据做GroupByKey()的方法,旨在以键为规则进行聚类,将同一用户名下的所有购买商品品类聚合在一起,得到用户汇总订单数据。例如,表1中第一条记录(键=13979217040,值=卫生巾)和第三条记录(键=13979217040,值=口腔清洁)经过本步骤操作后,得到一条用户汇总订单数据(键=13979217040,值=卫生巾,口腔清洁)。
f.使用spark的map()方法,使用分隔符将所有的值串连一起,形成新的的RDD<String>类型。换言之,省略掉键信息(即省略掉用户名的信息),仅仅保留值信息。这时候得到的数据如下:
(卫生巾,口腔清洁);洁面;(乳液面霜,洁面)……
g.将上述数据列表化,即将string格式变成list格式,以符合FP-Growth算法包数据输入类型。
h.设置支持度阈值,调用FP-Growth算法进行训练。支持度阈值即最小支持度参数,它是在计算频繁项过程时的一个过滤条件,可以用于筛掉出现概率很低的频繁项。此外,设置支持度阈值的同时还可以设置运行分区数,设置运行分区数是为了考虑数据间并行计算时的数据交互开销,如果数据量小,可以把分区数调小。训练的目的是进行减枝操作,去掉不必要的低概率频繁项。训练结果集可以参见表2。
表2训练结果集数据示例
频繁项 | 频次 |
口腔清洁 | 1102 |
卫生巾 | 1941 |
乳液面霜 | 1023 |
洁面 | 1645 |
护发 | 257 |
蜜饯果干 | 8613 |
口腔清洁&卫生巾 | 355 |
乳液面霜&洁面 | 330 |
…… | …… |
训练结果集中的数据的频繁项表示支持度大于支持度阈值的购物行为,频次表示该购物行为对应的用户数量。例如:“护发257”表示购买了护发类型商品的用户有257人。“口腔清洁&卫生巾355”表示既购买了口腔清洁类型商品又购买了卫生巾类型商品的用户有355人。
i.将训练结果集转化成键值对格式。其中,键对应表2中的频繁项,值对应表2中的频次。
j.使用spark的filter方法对训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集。例如:表2中的第一条记录至第六条记录都属于第一筛选数据集。然后将结果记为键值对格式(K,V)。
需要补充说明的是,关于步骤j和后面步骤k中的筛选过滤规则如下:FP-Growth在找频繁项长度为1的项时,会扫描一遍所有数据集,找出每个集合中每个品类出现的次数,按(次数/总记录行数)>最小支持度为长度为1的频繁项;同理,长度为2的频繁项一定是从长度为1的频繁项组合而来,那么任意长度为1的频繁项两两组合形成长度2的集合,用这个组合去匹配根据同一用户购买品类集合,如果是购买品类集合的子集,则认为匹配上,根据匹配的次数/总记录行数>最小支持度,即可得出长度为2的频繁项。
k.使用spark的filter方法对训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集。例如:表2中的第七条记录“口腔清洁&卫生巾355”和第八条记录“乳液面霜&洁面330”。将结果记为键值对格式(K2,V2),其中K2为第二筛选数据集的频繁项,K2由前项Kf(f表示former)和后项Kl(l表示later)而成,V2为第二筛选数据集的频次。
然后进一步拼接得到复合键值对格式(Kf,(K2,V2))。拼接过程的实质是将频繁项和频繁项的次数及频繁项对应的前项的次数同时拼接到一起,得到新的数据可以参考表3。
表3(Kf,(K2,V2))数据示例
键=Kf | 值=(K2,V2)=(Kf&Kl,V2) |
口腔清洁 | 口腔清洁&卫生巾,355 |
乳液面霜 | 乳液面霜&洁面,330 |
l.使用spark的join()方法将步骤j得到的第一筛选数据集和步骤k得到的(Kf,(K2,V2))数据关联起来,得到如表4所示的新的数据(Kf,(K2,V2),Vf)。
表4(K1,(K2,V2),Vf)数据示例
键=Kf | 值=(K2,V2)=(Kf&Kl,V2) | 频次=Vf |
口腔清洁 | 口腔清洁&卫生巾,355 | 1102 |
乳液面霜 | 乳液面霜&洁面,330 | 1023 |
m.使用spark的map()方法将第二筛选数据集的频繁项的后项与前一步骤的结果集拼接起来,得到如表5所示的新的键值对格式数据(Kl,(Kf,(K2,V2),Vf))。
表5(Kl,(Kf,(K2,V2),Vf))数据示例
键=Kl | 值=(Kf,(K2,V2),Vf) |
卫生巾 | 口腔清洁,口腔清洁&卫生巾,355,1102 |
洁面 | 乳液面霜,乳液面霜&洁面,330,1023 |
n.使用spark的join()方法将步骤j得到的第一筛选数据集和步骤m得到的(Kl,(Kf,(K2,V2),Vf))数据关联起来,得到如表6所示的新的数据(Kl,(Kf,(K2,V2),Vf),Vl)。
表6(Kl,(Kf,(K2,V2),Vf),Vl)数据示例
键=Kl | 值=(Kf,(K2,V2),Vf) | 频次=Vl |
卫生巾 | 口腔清洁,口腔清洁&卫生巾,355,1102 | 1941 |
洁面 | 乳液面霜,乳液面霜&洁面,330,1023 | 1645 |
o.将步骤n得到的(Kl,(Kf,(K2,V2),Vf),Vl)数据进行简化,得到如表7所示的新的列表类型数据(K2,V2,Vf,Vl)。
表7(K2,V2,Vf,Vl)数据示例
频繁项K2 | 频次V2 | 前项的频次Vf | 后项的频次Vl |
口腔清洁&卫生巾 | 355 | 1102 | 1941 |
乳液面霜&洁面 | 330 | 1023 | 1645 |
p.计算支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。例如,假设步骤b中统计总的记录数I=100000,那么,可以得到表8所示的商品关联程度参数列表。将该商品关联程度参数列表可视化,然后向用户展示。
表8商品关联程度参数列表
前项 | 后项 | 支持度 | 置信度 | 提升度 |
口腔清洁 | 卫生巾 | 0.00355 | 0.32214 | 16.5967 |
乳液面霜 | 洁面 | 0.00330 | 0.32258 | 19.6098 |
综上所述,根据本发明实施方式的确定商品关联程度的方法以及装置,针对现有的FP-Growth算法的计算结果作进一步分析处理,能够实现了其原本没有实现的置信度和提升度指标,具有简便易行,可视化效果好等优点。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种确定商品关联程度的方法,其特征在于,包括:
获取用户购物品类数据集,其中所述用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为;
设置支持度阈值,训练所述用户购物品类数据集得到训练结果集,所述训练结果集中的数据的频繁项表示支持度大于所述支持度阈值的购物行为,频次表示该购物行为对应的用户数量;
对所述训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,所述第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量;
对所述训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,所述第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量;
将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
2.根据权利要求1所述的确定商品关联程度的方法,其特征在于,所述获取用户购物品类数据集的步骤包括:
获取用户订单数据,所述用户订单数据包括订单用户名和订单商品品类;
针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据;
从所述用户汇总订单数据中获取所述用户购物品类数据集。
3.根据权利要求2所述的确定商品关联程度的方法,其特征在于,
所述针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据的步骤包括:对所述用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据;
所述从所述用户汇总订单数据中获取所述用户购物品类数据集的步骤包括:省略所述用户汇总订单数据中的用户名信息,以得到所述用户购物品类数据集。
4.根据权利要求1所述的确定商品关联程度的方法,其特征在于,所述训练所述用户购物品类数据集得到训练结果集的步骤包括:调用SPARK的FP-Growth算法包训练所述用户购物品类数据集以得到所述训练结果集。
5.根据权利要求1所述的确定商品关联程度的方法,其特征在于,所述将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度的步骤包括:
将所述第一筛选数据集记为键值型数据(K,V),其中K为所述第一筛选数据集的频繁项,V为所述第一筛选数据集的频次;
将所述第二筛选数据集记为键值型数据(K2,V2),其中K2为所述第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为所述第二筛选数据集的频次;
根据所述(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在所述第一筛选数据集(K,V)中查询所述Kf对应的值,Vl表示在所述第一筛选数据集(K,V)中查询所述Kl对应的值;
根据所述(K2,V2,Vf,Vl)以及所述用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
6.一种确定商品关联程度的装置,其特征在于,包括:
获取模块,用于获取用户购物品类数据集,其中所述用户购物品类数据集中的元素表示同一用户购买何种品类商品的购物行为;
训练模块,用于设置支持度阈值,训练所述用户购物品类数据集得到训练结果集,所述训练结果集中的数据的频繁项表示支持度大于所述支持度阈值的购物行为,频次表示该购物行为对应的用户数量;
第一筛选模块,用于对所述训练结果集按照频繁项长度为1的条件进行筛选,得到第一筛选数据集,所述第一筛选数据集中的数据的频繁项表示购买了指定单品类购物的购物行为,频次表示该购物行为对应的用户数量;
第二筛选模块,用于对所述训练结果集按照频繁项长度为2的条件进行筛选,得到第二筛选数据集,所述第二筛选数据集中的数据的频繁项表示购买了指定双品类购物的购物行为,频次表示该购物行为对应的用户数量;
计算模块,用于将所述第一筛选数据集和所述第二筛选数据集进行关联,然后计算关联购买行为的支持度、置信度和提升度。
7.根据权利要求6所述的确定商品关联程度的装置,其特征在于,所述获取模块还用于:
获取用户订单数据,所述用户订单数据包括订单用户名和订单商品品类;
针对所述用户订单数据将同一用户对应的所有商品品类进行汇总并且去重,得到用户汇总订单数据;
从所述用户汇总订单数据中获取所述用户购物品类数据集。
8.根据权利要求7所述的确定商品关联程度的装置,其特征在于,所述获取模块还用于:对所述用户订单数据进行以用户名为规则的聚类操作,以得到用户汇总订单数据;省略所述用户汇总订单数据中的用户名信息,以得到所述用户购物品类数据集。
9.根据权利要求6所述的确定商品关联程度的装置,其特征在于,所述训练模块还用于:调用SPARK的FP-Growth算法包训练所述用户购物品类数据集以得到所述训练结果集。
10.根据权利要求6所述的确定商品关联程度的装置,其特征在于,所述计算模块还用于:
将所述第一筛选数据集记为键值型数据(K,V),其中K为所述第一筛选数据集的频繁项,V为所述第一筛选数据集的频次;
将所述第二筛选数据集记为键值型数据(K2,V2),其中K2为所述第二筛选数据集的频繁项,K2由前项Kf和后项Kl拼接而成,V2为所述第二筛选数据集的频次;
根据所述(K,V)和(K2,V2),拼接得到字符串型数据(K2,V2,Vf,Vl),其中Vf表示在所述第一筛选数据集(K,V)中查询所述Kf对应的值,Vl表示在所述第一筛选数据集(K,V)中查询所述Kl对应的值;
根据所述(K2,V2,Vf,Vl)以及所述用户购物品类数据集的总记录条数I,计算Kl对Kf的支持度S、置信度C和提升度L,其中S=V2/I,C=V2/Vf,L=(V2*I)/(Vf*Vl)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610890323.1A CN107944896A (zh) | 2016-10-13 | 2016-10-13 | 确定商品关联程度的方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610890323.1A CN107944896A (zh) | 2016-10-13 | 2016-10-13 | 确定商品关联程度的方法以及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107944896A true CN107944896A (zh) | 2018-04-20 |
Family
ID=61928299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610890323.1A Pending CN107944896A (zh) | 2016-10-13 | 2016-10-13 | 确定商品关联程度的方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107944896A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241063A (zh) * | 2018-09-27 | 2019-01-18 | 中国银行股份有限公司 | 一种数据合并方法及系统 |
CN110232590A (zh) * | 2019-05-22 | 2019-09-13 | 中国平安财产保险股份有限公司 | 一种方案的生成方法及设备 |
CN110555712A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 商品关联程度确定方法及装置 |
CN110880136A (zh) * | 2018-09-06 | 2020-03-13 | 北京京东尚科信息技术有限公司 | 配套产品的推荐方法、系统、设备和存储介质 |
CN111523918A (zh) * | 2019-02-02 | 2020-08-11 | 北京极智嘉科技有限公司 | 商品聚类的方法、装置、设备和存储介质 |
CN111612391A (zh) * | 2020-04-02 | 2020-09-01 | 杭州电子科技大学 | 基于FP-growth的物流拣选设备商品摆放方法 |
WO2021027280A1 (zh) * | 2019-08-12 | 2021-02-18 | 北京京东乾石科技有限公司 | 上架物品的方法、装置、设备和计算机可读介质 |
CN113926203A (zh) * | 2021-09-29 | 2022-01-14 | 杭州电魂网络科技股份有限公司 | 基于频率关联规则的游戏道具包设置方法和系统 |
CN117409326A (zh) * | 2023-12-13 | 2024-01-16 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
US12051038B2 (en) | 2018-12-30 | 2024-07-30 | Beijing Geekplus Technology Co., Ltd. | Order processing method, apparatus and device, and storage medium |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010132592A2 (en) * | 2009-05-14 | 2010-11-18 | Cardiac Pacemakers, Inc. | Systems and methods for programming implantable medical devices |
CN104317945A (zh) * | 2014-10-31 | 2015-01-28 | 亚信科技(南京)有限公司 | 一种基于搜索行为的电商网站商品推荐方法 |
-
2016
- 2016-10-13 CN CN201610890323.1A patent/CN107944896A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010132592A2 (en) * | 2009-05-14 | 2010-11-18 | Cardiac Pacemakers, Inc. | Systems and methods for programming implantable medical devices |
CN104317945A (zh) * | 2014-10-31 | 2015-01-28 | 亚信科技(南京)有限公司 | 一种基于搜索行为的电商网站商品推荐方法 |
Non-Patent Citations (1)
Title |
---|
匿名: "2015.8.25FPGrowth算法及源码介绍", 《HTTPS://WK.BAIDU.COM/VIEW/7CD93F376BEC0975F565E23B》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110555712A (zh) * | 2018-05-31 | 2019-12-10 | 北京京东尚科信息技术有限公司 | 商品关联程度确定方法及装置 |
CN110555712B (zh) * | 2018-05-31 | 2024-06-18 | 北京京东尚科信息技术有限公司 | 商品关联程度确定方法及装置 |
CN110880136A (zh) * | 2018-09-06 | 2020-03-13 | 北京京东尚科信息技术有限公司 | 配套产品的推荐方法、系统、设备和存储介质 |
CN109241063A (zh) * | 2018-09-27 | 2019-01-18 | 中国银行股份有限公司 | 一种数据合并方法及系统 |
US12051038B2 (en) | 2018-12-30 | 2024-07-30 | Beijing Geekplus Technology Co., Ltd. | Order processing method, apparatus and device, and storage medium |
CN111523918A (zh) * | 2019-02-02 | 2020-08-11 | 北京极智嘉科技有限公司 | 商品聚类的方法、装置、设备和存储介质 |
CN111523918B (zh) * | 2019-02-02 | 2023-09-19 | 北京极智嘉科技股份有限公司 | 商品聚类的方法、装置、设备和存储介质 |
CN110232590B (zh) * | 2019-05-22 | 2023-07-11 | 中国平安财产保险股份有限公司 | 一种方案的生成方法及设备 |
CN110232590A (zh) * | 2019-05-22 | 2019-09-13 | 中国平安财产保险股份有限公司 | 一种方案的生成方法及设备 |
WO2021027280A1 (zh) * | 2019-08-12 | 2021-02-18 | 北京京东乾石科技有限公司 | 上架物品的方法、装置、设备和计算机可读介质 |
CN111612391B (zh) * | 2020-04-02 | 2023-04-07 | 杭州电子科技大学 | 基于FP-growth的物流拣选设备商品摆放方法 |
CN111612391A (zh) * | 2020-04-02 | 2020-09-01 | 杭州电子科技大学 | 基于FP-growth的物流拣选设备商品摆放方法 |
CN113926203A (zh) * | 2021-09-29 | 2022-01-14 | 杭州电魂网络科技股份有限公司 | 基于频率关联规则的游戏道具包设置方法和系统 |
CN117409326A (zh) * | 2023-12-13 | 2024-01-16 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
CN117409326B (zh) * | 2023-12-13 | 2024-04-19 | 山东锋士信息技术有限公司 | 基于自适应加权损失和对抗干扰器的遥感异常检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107944896A (zh) | 确定商品关联程度的方法以及装置 | |
US11372851B2 (en) | Systems and methods for rapid data analysis | |
Rahman et al. | A decision tree-based missing value imputation technique for data pre-processing | |
CN104424339B (zh) | 数据分析的方法、装置及系统 | |
CN104317789B (zh) | 构建乘客社交网络的方法 | |
SuryaNarayana et al. | A traditional analysis for efficient data mining with integrated association mining into regression techniques | |
JP5594427B2 (ja) | 秘匿データ処理方法、プログラム及び装置 | |
JP2001282817A (ja) | 決定木のデータマイニング方法および装置 | |
JPH08272825A (ja) | データ分析方法 | |
CN110020176A (zh) | 一种资源推荐方法、电子设备以及计算机可读存储介质 | |
KR101897080B1 (ko) | 의료 기록 문서에서의 의료 단어의 연관 규칙 생성 방법 및 그 장치 | |
JP7498503B2 (ja) | 実用的な高効用負の配列ルールマイニングに基づく商品推奨システムとその動作方法 | |
US20190324979A1 (en) | System, method, and non-transitory computer-readable storage media for generating synonyms of a search query | |
US20190080248A1 (en) | System and method for facilitating model-based classification of transactions | |
US20160070763A1 (en) | Parallel frequent sequential pattern detecting | |
TW202009748A (zh) | 物流物件資訊處理方法、裝置及電腦系統 | |
Afshinpour et al. | Reducing Regression Test Suites using the Word2Vec Natural Language Processing Tool. | |
CN111275294B (zh) | 一种商品信息批量处理分析方法、装置和设备 | |
US9239867B2 (en) | System and method for fast identification of variable roles during initial data exploration | |
Mao | Mining temporal association rules in network traffic data | |
Niha et al. | Extraction of high utility rare itemsets from transactional databases | |
Liiv | Data Science Techniques for Cryptocurrency Blockchains | |
Rajput et al. | Impact of data mining in drought monitoring | |
Shrivastava et al. | Generating 3rd level association rules using fast Apriori implementation | |
Alam et al. | Approach to Data Reduction in Data Warehouse |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180420 |
|
RJ01 | Rejection of invention patent application after publication |