zoukankan      html  css  js  c++  java
  • 机器学习笔记之python实现关联规则算法Apriori样例

    首先导入包含apriori算法的mlxtend库,

    # pip install mlxtend

    调用apriori进行关联规则分析,具体代码如下,设置最小支持度(min_support)为0.4,最小置信度(min_threshold)为0.1,

    最小提升度(lift)为1.0,对数据集进行关联规则分析,

    from mlxtend.preprocessing import TransactionEncoder
    from mlxtend.frequent_patterns import apriori
    from mlxtend.frequent_patterns import association_rules
    import pandas as pd
    
    df_arr = [['苹果','香蕉','鸭梨'],
        ['橘子','葡萄','苹果','哈密瓜','火龙果'],
        ['香蕉','哈密瓜','火龙果','葡萄'],
        ['橘子','橡胶'],
        ['哈密瓜','鸭梨','葡萄']
        ]
    
    #转换为算法可接受模型(布尔值)
    te = TransactionEncoder()
    df_tf = te.fit_transform(df_arr)
    df = pd.DataFrame(df_tf,columns=te.columns_)
    
    #设置支持度求频繁项集
    frequent_itemsets = apriori(df,min_support=0.4,use_colnames= True)
    #求关联规则,设置最小置信度为0.15
    rules = association_rules(frequent_itemsets,metric = 'confidence',min_threshold = 0.15)
    #设置最小提升度
    rules = rules.drop(rules[rules.lift <1.0].index)
    #设置标题索引并打印结果
    rules.rename(columns = {'antecedents':'from','consequents':'to','support':'sup','confidence':'conf'},inplace = True)
    rules = rules[['from','to','sup','conf','lift']]
    print(rules)
    #rules为Dataframe格式,可根据自身需求存入文件

    输出结果如下:

         from     to sup   conf   lift
    0    (哈密瓜)    (火龙果) 0.4 0.666667 1.666667
    1    (火龙果)    (哈密瓜) 0.4 1.000000 1.666667
    2    (哈密瓜)    (葡萄) 0.6 1.000000 1.666667
    3     (葡萄)    (哈密瓜) 0.6 1.000000 1.666667
    4     (葡萄)    (火龙果) 0.4 0.666667 1.666667
    5    (火龙果)    (葡萄) 0.4 1.000000 1.666667
    6  (哈密瓜, 葡萄)    (火龙果) 0.4 0.666667 1.666667
    7  (哈密瓜, 火龙果)    (葡萄) 0.4 1.000000 1.666667
    8  (葡萄, 火龙果)    (哈密瓜) 0.4 1.000000 1.666667
    9    (哈密瓜)  (葡萄, 火龙果) 0.4 0.666667 1.666667
    10    (葡萄) (哈密瓜, 火龙果) 0.4 0.666667 1.666667
    11    (火龙果)  (哈密瓜, 葡萄) 0.4 1.000000 1.666667
    
    Process finished with exit code 0
  • 相关阅读:
    第三节:MySQL的存储引擎及常用数据类型介绍
    第一节:MySQL的安装及使用
    10-单例模式
    windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取
    windows linux—unix 跨平台通信集成控制系统----文件搜索
    Linux下查看内核、CPU、内存及各组件版本的命令和方法
    Linux下使用popen()执行shell命令
    图像边缘检测--OpenCV之cvCanny函数
    OpenCV GUI基本操作,回调函数,进度条,裁剪图像等
    图像边缘检测--OpenCV之cvCanny函数
  • 原文地址:https://www.cnblogs.com/JetpropelledSnake/p/14212158.html
Copyright © 2011-2022 走看看