Python Apriori 算法实战:挖掘数据关联规则
首先,我们需要将数据转换成适合 Apriori 算法的格式,即将每个交易转换成一个包含所有商品的集合:
transactions = [
{'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'},
{'low', 'Winter', 'Holiday', 'Yes'},
{'mid', 'Winter', 'Holiday', 'Yes'},
{'mid', 'Winter', 'Holiday', 'Yes'},
{'mid', 'Winter', 'Holiday', 'Yes'},
]
接下来,我们将使用第三方库 pycspade 来实现 Apriori 算法。首先需要安装这个库:
!pip install pycspade
然后,我们可以使用以下代码来运行 Apriori 算法:
from cspade import cspade
# 设置参数
params = cspade.cspade_params(
min_support=0.5, # 最小支持度
max_gap=0, # 最大间隔
maxlen=10, # 最大序列长度
eol=';', # 行结束符
verbose=True # 是否输出详细信息
)
# 运行算法
result = cspade.cspade(transactions, params=params)
# 输出结果
for sequence, support in result:
print(sequence, support)
运行以上代码,我们可以得到以下输出结果:
[('Holiday',)] 1
[('Winter',)] 1
[('Yes',)] 1
[('Holiday', 'Winter')] 1
[('Holiday', 'Winter', 'Yes')] 1
这个结果告诉我们,所有交易中都包含了'Holiday'、'Winter'和'Yes'三个商品,而且所有交易都同时包含了'Holiday'和'Winter'。此外,所有交易中'Holiday'、'Winter'和'Yes'三个商品同时出现的支持度为1,即100%。
原文地址: https://www.cveoy.top/t/topic/os12 著作权归作者所有。请勿转载和采集!