Machine Learning A-Z学习笔记14-先验算法

Apriori算法是一种经典的关联规则学习方法,主要用于发现数据集中的频繁项集和强规则。通过支持度、信心和提升度这三个指标,该算法能够找出商品之间的关联性。在给定的超市交易数据集中,运用Apriori算法,设置最小支持度、信心和提升度阈值,挖掘出购买行为的规律,如观看电影的关联等。最后,通过代码实现并展示前10条规则的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Machine Learning A-Z学习笔记14-先验算法

1.简单原理

在这里插入图片描述

先验算法(Apriori Algorithm)是关联规则学习的经典算法之一。

在这里插入图片描述

在这里插入图片描述

我们可以从上面面的两个简单例子发现,看过点影2的人也会去看电影4;买蔬菜的顾客也会买水果。而先验算法有三个指标,分别为支持度(Support)、讯息水准(Confidence)、提升度(Lift),下面将逐一介绍。

在这里插入图片描述

在这里插入图片描述

支持度(Support)=看过电影m的人/所有用户

在这里插入图片描述

在这里插入图片描述

讯息水准(Confidence))=看过电影m1和m2的人看过电影m1的人

在这里插入图片描述

在这里插入图片描述

提升度(Lift)=讯息水准/支撑度

在这里插入图片描述

1.找出最低支持度的电影,以及他的所有讯息水准中最低的值,即最低讯息水准
2.找出其他电影的支持度以及它们的集合
3.找出所有讯息水准大于最低讯息水准的集合
4.将步骤3的结果进行由大到小的排序,并取前N个作为答案

2.相关代码

# Apriori
"""
超商商品关联(1週的交易纪录)
"""

# Importing the libraries
"""
汇入库
"""
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd

# Data Preprocessing
"""
导入数据
-for i in range(0, 7501):从dataset中一行一行添加至transactions
"""
dataset = pd.read_csv('Market_Basket_Optimisation.csv', header = None)
transactions = []
for i in range(0, 7501):
    transactions.append([str(dataset.values[i,j]) for j in range(0, 20)])

# Training Apriori on the dataset
"""
建立先验算法
-min_length = 2:每笔资料中最少要包含两个商品,否则不进行处理
-min_support = 0.003:考虑1天最少可以卖3次的产品,一週7天,故3*7/7500=0.0028,近似0.003
-min_confidence = 0.2:根据自己的需求而调整
-min_lift = 3:根据自己的需求而调整

算法会根据这些限制进行求解,然后答案会再自行作排序
"""
from apyori import apriori
rules = apriori(transactions, min_support = 0.003, min_confidence = 0.2, min_lift = 3, min_length = 2)

# Visualising the results
"""
结果可视化
"""
results = list(rules)
for i in range(10): print(results[i], '\n')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值