当前位置:   article > 正文

和关系相关的两种算法:杰卡德相似度和Mlxtend库_jaccard values

jaccard values

二者在零售推荐项目中经常用到.

一.杰卡德相似度 Jaccard

  • 两个集合的交集元素个数在并集中所占的比例, 非常适用于布尔向量表示
  • 分子是两个布尔向量做点积计算, 得到的就是交集元素的个数
  • 分母是两个布尔向量做或运算, 再求元素和

1.使用步骤:

  • 第一步:通过创建数据透视表
  • 第二步:通过计算杰卡德相似度,相似度越高,说明这两个菜品共同出现的概率越高,通过杰卡德相似度的高低,即可产生推荐结果

2.格式:

  • from sklearn.metrics import jaccard_score
  • 接收df = jaccard_score(df['字段名1'].values,df['字段名2'].values)

二.mlxtend API

Mlxtend (machine learning extensions) 是一个Python库,我们通常使用mlxtend库来计算关联规则.其中要用到两个方法:apriori 算法和association_rules.

1.使用步骤:

  • 调用apriori方法之前,我们需要将数据处理成API能够接受的one-hot形式
  • 把数量>1的值替换成1(这个是API的要求)
  • 使用Apriori计算频繁项
  • 使用association_rules产生关联规则

2.格式:

  • apriori:
  • apriori(df, min_support=0.5, use_colnames=False)        min_support:最小支持度

  • association_rules:
  • 接收df = association_rules(df, metric=metric,min_threshold=min_threshold_for_metric)
  • metric 接受support, confidence, lift, leverage, conviction 五个参数 ,min_threshold_for_metric 表示这个metric的阈值
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/241489
推荐阅读
  

闽ICP备14008679号