数据挖掘-关联规则算法的实现及其应用 Apriori算法

实验一  关联规则算法的实现及其应用

【实验目的】

  1. 掌握关联规则挖掘算法Apriori的概念,理解算法的步骤。
  2. 加深对Apriori算法的理解,逐步培养解决实际问题的能力。

【实验性质】

设计型实验

【实验内容】    

 实现使用Apriori算法来挖掘关联规则 

【实验环境】

Python 2

【实验结果】

  • 完整的apriori.py文件

代码:

def loadDataSet():

    return[[1,3,4],[2,3,5],[1,2,3,5],[2,5]]

 

def createC1(dataSet):

    C1=[]

    for transaction in dataSet:

        for item in transaction:

            if not [item] in C1:

                C1.append([item])

    C1.sort()

    return map(frozenset,C1)

 

def scanD(D,Ck,minSupport):

    ssCnt={}

    for tid in D:

        for can in Ck:

            if can.issubset(tid):

                if not ssCnt.has_key(can):ssCnt[can]=1

                else:ssCnt[can]+=1

    numItems = float(len(D))

    retList =[]

    supportData={}

    for key in ssCnt:

        support =ssCnt[key]/numItems

        if support >=minSupport:

            retList.insert(0,key)

        supportData[key]=support

    return retList,supportData

 

def aprioriGen(Lk, k): #creates Ck

    retList = []

    lenLk = len(Lk)

    for i in range(lenLk):

        for j in range(i+1, lenLk):

            L1 = list(Lk[i])[:k-2]; L2 = list(Lk[j])[:k-2]

            L1.sort(); L2.sort()

            if L1==L2:

                r

  • 21
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值