文本挖掘apriori

本文介绍如何使用Python进行Apriori算法的实现,该算法是文本挖掘中的一种经典关联规则学习方法,用于发现数据集中的频繁项集和强关联规则。通过Python的库,我们将详细探讨如何处理数据、执行Apriori算法并解读结果。
摘要由CSDN通过智能技术生成
#获取候选1项集,dataset是事务集,返回一个list,每个元素都是set集合
def create(D):
    C1 = []     #候选1项集
    for d in D:   #事务集的每个特征词
        for item in d:  #事务的每个元素
            if not[item] in C1: #若该元素是第一次出现
                C1.append([item])   #加入到一项集中
    C1.sort()
    return list(map(frozenset,C1))  #冻结1项集使其内部元素不可改变并返回
#找出候选集中的频繁项集
def scanD(D,Ck,minSupport):
    Cn = {}      #记录每个候选项的个数
    for d in D: #事务集的每个特征词
        for can in Ck:  #k项集的候选特征词
            if can.issubset(d): #如果候选特征词是事务特征词的子集
                Cn[can] = Cn.get(can,0) +1    #候选词对应的个数增加1

    Lk=[]  #频繁项集
    Ln={}  #频繁项集的支持度
    for key in Cn:   #每个候选特征词
        if Cn[key]>=minSupport: #若支持度大于最小支持度
            Lk.insert(0,key)   #把大于最小支持度的候选词加入频繁集
            Ln[key]=Cn[key]    #频繁特征词对应的支持度
    print(Ln)  #输出频繁特征词和对应支持度
    return Lk,Ln

def aprioriGen(Lk,k):
    Ck1=[]  #候选k+1项集C(k+1)
    lenLk=len(Lk)   #频繁集的个数
    for i in range(lenLk):  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值