Apriori算法进行关联分析

1.创建DataFrame对象
传入数据可以是字典和嵌套列表。字典的创建为DataFrame对象的列名,值为数据
列表元素作为DataFrame对象的行数据显示,从0开始
pd.DataFrame(data,columns=[‘ ‘,’ ‘,’ ‘]),columns为列表时,与传入DataFrame列表元素长度一致。
对列索引(列名)进行重新赋值。data.columns = [‘a’,’b’,’c’]——(新列名)
2.默认按升序对数据进行排列:
data.sort_values(by=’列名’)
单列排序:data[‘列名’].sort_values()
3.重置索引

参数说明示例drop布尔值:默认为False,保留原索引;值为True,去掉原索引data.reset_index(drop=True)

4.数值四舍五入
data[‘列名’]=round(data[‘列名’],2)
round(data,ndigits)函数,data为要进行四舍五入的数据,ndigits为要保留的小数位数,默认为0
5.agg()方法
定义函数 new_func()(函数名随意)
使用agg()方法将操作列的每个数据传入new_func()函数进行计算,并取得函数的返回值
传入自定义函数时,只需要写上函数名,不需要加上括号以及函数参数。agg(new_func)
方法内传入字典:dict={‘columns’:’sum’,’columns’:’mean’}
eg:data.groupby(‘名称’).agg(dict)

1.①:关联分析
各组数据之间的联系
交易中不同物品可称为一个项,k个项组成的项集,叫k项集,项集内不存在相同的项
每条交易记录可称为一个事务
②:支持度:
项集在事务中出现的概率(频率)
{X}的支持度={X}在事务中出现的次数 / 事务总数
人为设定支持度,名为最小支持度>=最小支持度的项集被称为频繁项集。
③:关联规则
探索数据之间的联系(某种关联)
{X}(前件)—–>{Y}(后件)(X和Y之间存在相同项)
④:置信度
衡量关联关系的可靠程度,在前件出现的情况下,后件出现的概率。
关联规则{X}—–>{Y}的置信度={X,Y}的支持度 / {X}的支持度
人为设定置信度,名为最小置信度>=最小置信度叫做强关联规则
⑤:提升度
事务各自的影响程度
{X}—->{Y}的提升度={X}—->{Y}的置信度 / {Y}的支持度
={X,Y}的支持度 / {X}、{Y}的支持度
提升度

参数含义transactions事务集合min_support最小支持度min_confidence最小置信度min_lift最小提升度

导入apyori模块下apriori函数
from apyori import apriori
是一个生成器对象,通过循环遍历访问其数据。
关系记录:RelationRecord:频繁项集,支持度,统计列表(ordered_statistics)
核心算法

list1 = []

for result in results:

    support = round(result.support,3)

    for rule in result.ordered_statistics:

        head_set = list(rule,items_base)
        tail_set = list(rule,items_add)

        if head_set == []:continue

        related_catogory = str(head_set) + '--->' + str(tail_set)

        confidence = round(rule.confidence,3)

        lift = round(rule.lift,3)

        list1.append(related_catogory,support,confidence,lift)

Original: https://blog.csdn.net/doarwh/article/details/117278954
Author: 小枍~
Title: Apriori算法进行关联分析

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/678725/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球