本文共 1253 字,大约阅读时间需要 4 分钟。
Redis中生成数据
在实际项目中,我们需要对商品之间的关系进行分析和存储。以下是基于Redis的数据生成过程:
数据生成
- ID1 对应的商品对为:
- (商品1, 2)
- (商品2, 3)
- (商品3, 4)
- (商品4, 5)
- ID2 对应的商品对为:
- (商品2, 3)
- (商品3, 3)
- (商品4, 2)
- (商品5, 5)
- ID3 对应的商品对为:
- (商品1, 2)
- (商品2, 2)
- (商品3, 4)
- (商品5, 1)
数据存储
将上述商品对存储到Redis中的键 itemCounts 中:
- (商品1, 2)
- (商品2, 3)
- (商品3, 3)
- (商品4, 2)
- (商品5, 5)
- (商品1, 2)
- (商品2, 2)
- (商品3, 4)
- (商品5, 1)
经过SplitBolt后
发射的数据为12条:
- (ID1, 商品1, 2)
- (ID1, 商品2, 3)
- (ID1, 商品3, 4)
- (ID1, 商品4, 5)
- (ID2, 商品2, 3)
- (ID2, 商品3, 3)
- (ID2, 商品4, 2)
- (ID2, 商品5, 5)
- (ID3, 商品1, 5)
- (ID3, 商品2, 2)
- (ID3, 商品3, 4)
- (ID3, 商品5, 1)
经过PairCountBolt后
Redis数据存储到键 itemCounts 中:
- (商品1, 2) -> 2
- (商品1, 3) -> 2
- (商品1, 4) -> 1
- (商品1, 5) -> 1
- (商品2, 3) -> 3
- (商品2, 4) -> 2
- (商品3, 4) -> 2
- (商品2, 5) -> 2
- (商品3, 5) -> 2
- (商品4, 5) -> 1
经过SupportComputeBolt后
对上述数据进行支持度计算:
- (商品1, 2) -> 2/18
- (商品1, 3) -> 2/18
- (商品1, 4) -> 1/18
- (商品1, 5) -> 1/18
- (商品2, 3) -> 3/18
- (商品2, 4) -> 2/18
- (商品3, 4) -> 2/18
- (商品2, 5) -> 2/18
- (商品3, 5) -> 2/18
- (商品4, 5) -> 1/18
经过ConfidenceComputeBolt后
对支持度进行置信度计算(以支持度为依据,除以对应的频率):
- (商品1, 2) -> 2/18 ÷ 2
- (商品1, 3) -> 2/18 ÷ 2
- (商品1, 4) -> 1/18 ÷ 2
- (商品1, 5) -> 1/18 ÷ 2
- (商品2, 3) -> 3/18 ÷ 3
- (商品2, 4) -> 2/18 ÷ 2
- (商品3, 4) -> 2/18 ÷ 2
- (商品2, 5) -> 2/18 ÷ 2
- (商品3, 5) -> 2/18 ÷ 2
- (商品4, 5) -> 1/18 ÷ 2
经过FilterBolt后
将支持度和置信度结果存储到Redis中的键 recommendedPairs 中:
转载地址:http://biej.baihongyu.com/