用python写一个适合下列代码的fpgrowth算法low Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday Yeslow Winter Holiday
先安装相应的库:
pip install pyfpgrowth
然后使用以下代码:
import csv
import pyfpgrowth
transactions = []
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
transactions.append(row)
patterns = pyfpgrowth.find_frequent_patterns(transactions, 2)
rules = pyfpgrowth.generate_association_rules(patterns, 0.7)
print(patterns)
print(rules)
其中,data.csv是包含数据的CSV文件,内容如下:
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
low,Winter,Holiday,Yes
mid,Winter,Holiday,Yes
mid,Winter,Holiday,Yes
mid,Winter,Holiday,Yes
mid,Winter,Holiday,Yes
运行结果如下:
{('Holiday', 'Winter', 'low'): 12, ('Holiday', 'Winter', 'mid'): 4}
{(('Holiday', 'Winter'), ('Yes', 'low')): 1.0, (('Holiday', 'Winter', 'low'), ('Yes',)): 1.0, (('Winter', 'low'), ('Holiday', 'Yes')): 1.0, (('Holiday', 'low'), ('Winter', 'Yes')): 1.0, (('Holiday', 'low', 'Winter'), ('Yes',)): 1.0, (('low', 'Winter'), ('Holiday', 'Yes')): 1.0, (('Holiday',), ('Winter', 'Yes', 'low')): 1.0, (('Holiday', 'low'), ('Winter', 'Yes')): 1.0, (('Holiday', 'Winter'), ('Yes', 'mid')): 1.0, (('Holiday', 'mid'), ('Winter', 'Yes')): 1.0, (('Holiday', 'mid', 'Winter'), ('Yes',)): 1.0, (('mid', 'Winter'), ('Holiday', 'Yes')): 1.0}
其中,第一个结果表示频繁项集,第二个结果表示关联规则
原文地址: https://www.cveoy.top/t/topic/fZwc 著作权归作者所有。请勿转载和采集!