关联规则--Apriori算法案例--Python
2021/11/27 20:40:49
本文主要是介绍关联规则--Apriori算法案例--Python,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
数据样本
数据获取:关注并私信“关联规则案例”
# -*- codeing = utf-8 -*- # @Time : 2021/11/26 22:41 # @Author : Tancy # @File : 病例分析-- Apriori算法.py # @Software : PyCharm # 1.数据读取 import pandas as pd df = pd.read_excel('D:\A_学习\数据仓库与数据挖掘\实验\患者病症.xlsx') # print(df.head()) # 2. 数据预处理 symptoms = [] # 创建一个空列表 病症 # 切分 转化为一个二维数组 for i in df['病人症状'].tolist(): symptoms.append(i.split(',')) # print(symptoms) # 将数据转化为布尔类型 from mlxtend.preprocessing import TransactionEncoder TE = TransactionEncoder() # 构造转换类型 data = TE.fit_transform(symptoms) # 转换为一个布尔类型的表格 # print(data) # 将布尔类型的数据存储为DataFrame 格式 import pandas as pd df = pd.DataFrame(data, columns=TE.columns_) # print(df.head()) # 3.挖掘频繁项集 from mlxtend.frequent_patterns import apriori items = apriori(df, min_support=0.15, use_colnames=True) # print(items) # print(items[items['itemsets'].apply(lambda x:len(x))==1]) # print(items[items['itemsets'].apply(lambda x:len(x))==2]) # print(items[items['itemsets'].apply(lambda x:len(x))==3]) # print(items[items['itemsets'].apply(lambda x:len(x))==4]) # 4.根据最小置信度,在频繁项集中找强关联规则 from mlxtend.frequent_patterns import association_rules rules = association_rules(items, min_threshold=0.6) # print(rules) # 5.提取关联规则,美化 for i, j in rules.iterrows(): X = j['antecedents'] Y = j['consequents'] x = ', '.join([item for item in X]) y = ', '.join([item for item in Y]) print(x + ' → ' + y)
这篇关于关联规则--Apriori算法案例--Python的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python