无监督学习 - 关联规则学习(Association Rule Learning)

发布时间:2024年01月22日

什么是机器学习

关联规则学习(Association Rule Learning)是一种无监督学习方法,用于发现数据集中的项之间的关联关系。这种方法通常用于分析交易数据或者购物篮中的商品购买情况,以便找出经常一起购买的商品。一个经典的关联规则的例子是"如果顾客购买了牛奶,那么他们也很可能购买面包"。

Apriori 算法是一种常用的关联规则学习算法。下面是一个简单的教程,演示如何使用 Python 中的 mlxtend 库来实现关联规则学习。

步骤1: 安装 mlxtend 库

pip install mlxtend

步骤2: 导入库

import pandas as pd
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules

步骤3: 准备数据

准备一个包含交易数据的数据集。数据集的每一行表示一个交易,每一列表示一个商品。数据集的值通常是二进制的,表示是否购买了某个商品。

# 示例数据
data = {'Transaction': ['T1', 'T2', 'T3', 'T4', 'T5'],
        'Item1': [1, 0, 1, 1, 0],
        'Item2': [1, 1, 0, 1, 1],
        'Item3': [0, 1, 1, 0, 1],
        'Item4': [1, 1, 1, 0, 1]}

df = pd.DataFrame(data).set_index('Transaction')

步骤4: 使用 Apriori 算法找出频繁项集

# 找出频繁项集
frequent_itemsets = apriori(df, min_support=0.2, use_colnames=True)

步骤5: 生成关联规则

# 根据频繁项集生成关联规则
rules = association_rules(frequent_itemsets, metric='confidence', min_threshold=0.7)

步骤6: 查看关联规则

# 查看关联规则
print(rules)

这个例子中,我们通过示例数据集演示了如何使用 Apriori 算法来找出频繁项集,然后通过设定置信度阈值生成关联规则。在实际应用中,你可以使用更大规模的真实数据集,并根据具体情况调整参数。

文章来源:https://blog.csdn.net/galoiszhou/article/details/135741516
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。