美文网首页
关联规则

关联规则

作者: mafa1993 | 来源:发表于2020-05-04 16:37 被阅读0次

    关联规则

    参考链接
    此算法是从数据集找出各个关联项之间的关系
    样本: 用顾客购买物品为样本, 例如四名顾客购买物品如下

    顾客 物品
    1 啤酒 橘子 汽水 蛋糕
    2 汽水 啤酒
    3 蛋糕 啤酒
    4 橘子 汽水

    置信度: 表示了这条规则有多大程度上值得可信。设条件的项的集合为A,结果的集合为B。置信度计算在A中,同时也含有B的概率, 即: A发生时,B也发生的概率, 例如: 买了啤酒还买了蛋糕的置信度为0.66, 即为Confidence(A==>B)=P(B|A)=0.5/0.775 啤酒和蛋糕的支持度 / 啤酒的支持度, 也可以理解为:买啤酒的总条数为3, 其中有2条买了蛋糕 2/3=0.66

    支持度: 既有A又有B的概率 例如: 即买了啤酒又买了蛋糕的支持度为0.5, 两者同时发生的记录为2条, 总记录4, 2/4=0.5

    提升度: 度量此规则是否可用。描述的是相对于不用规则,使用规则可以提高多少。有用的规则的提升度大于1。Lift(A==>B)=Confidence(A==>B)/Support(B)=Support(A==>B)/(Support(A)*Support(B)), 如果提升度大于1则代表值得推荐

    use Phpml\Association\Apriori
    $associator = new Apriori($support=0.5,$confidence=0.5); //实例化并制定支持度和置信度
    $samples = [['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta'], ['alpha', 'beta', 'epsilon'], ['alpha', 'beta', 'theta']];
    $labels = [];
    $associator->train($samples,$labels);  //训练样本
    $associator->predict(['alpha','theta']); //预测  返回beta
    $associator->getRules(); //生成关联规则, // return [['antecedent' => ['alpha', 'theta'], 'consequent' => ['beta'], 'support' => 1.0, 'confidence' => 1.0], ... ]
    $associator->apriori();//生成频繁项集
    

    相关文章

      网友评论

          本文标题:关联规则

          本文链接:https://www.haomeiwen.com/subject/fldyghtx.html