基于Apriori算法电影推荐----数据挖掘、智能推荐,分析用户的电影喜好,关联规则

基于Apriori算法电影推荐----数据挖掘、智能推荐

本文是基于Apriori算法分析100721条用户的观影记录,并分析用户的观看喜好,以求精准达到推荐。 代码和数据下载地址
1、数据导入

import pandas as pd 
data = pd.read_excel('电影推荐系统.xlsx')
data

在这里插入图片描述
2、使用pivot_table(数据透视表)函数进行数据透视分析。行索引是用户。列索引是电影名称。

user_movie = data.pivot_table(index = '用户编号', columns = '名称', values = '评分')

在这里插入图片描述
3、通过mlxtend库来实现Apriori算法

mlxtend库安装法:通过PIP安装法来安装mlxtend库,以Windows系统为例,具体方法是:
通过Win + R组合键调出运行框,
输入cmd后回车,
然后在弹出框中输入 pip install mlxtend 后按一下Enter回车键

Jupyter Notebook编辑器中安装:
只需要在代码框中输入!pip instll mlxtend然后运行该行代码框即可。

注意:使用mlxtend库来实现Apriori算法的数据集必须是bool类型的True或者是False,通过以下代码更换数据类型

bool_data = user_movie.notnull()
bool_data

在这里插入图片描述
4、实现Apriori算法,进行数据分析

from mlxtend.frequent_patterns import apriori
items = apriori( bool, min_support=0.2, use_colnames=True)

from mlxtend.frequent_patterns import association_rules
relues = association_rules(items, min_threshold=0.7)
relues

在这里插入图片描述
书写规则

for i,j in relues.iterrows():
    X = j['antecedents']
    Y = j['consequents']
    x = ','.join([item for item in X])
    y = ','.join([item for item in Y])
    print(x + '->' + y)

在这里插入图片描述
以上就是我们挖掘出的强关联规则,—>前的为前件,—>后的为后件。
在这里插入图片描述

  • 19
    点赞
  • 110
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
项目完整可用,配合压缩包内数据库可直接运行使用。 eclipse+mysql5.7+jdk1.8 功能:推荐引擎利用特殊的信息过滤(IF,Information Filtering)技术,将不同的内容(例如电影、音乐、书籍、新闻、图片、网页等)推荐给可能感兴趣的用户。通常情况下,推荐引擎的实现是通过将用户的个人喜好与特定的参考特征进行比较,并试图预测用户对一些未评分项目的喜好程度。参考特征的选取可能是从项目本身的信息中提取的,或是基于用户所在的社会或社团环境。 根据如何抽取参考特征,我们可以将推荐引擎分为以下四大类: • 基于内容的推荐引擎:它将计算得到并推荐用户一些与该用户已选择过的项目相似的内容。例如,当你在网上购书时,你总是购买与历史相关的书籍,那么基于内容的推荐引擎就会给你推荐一些热门的历史方面的书籍。 • 基于协同过滤的推荐引擎:它将推荐用户一些与该用户品味相似的其他用户喜欢的内容。例如,当你在网上买衣服时,基于协同过滤的推荐引擎会根据你的历史购买记录或是浏览记录,分析出你的穿衣品位,并找到与你品味相似的一些用户,将他们浏览和购买的衣服推荐给你。 • 基于关联规则推荐引擎:它将推荐用户一些采用关联规则发现算法计算出的内容。关联规则的发现算法有很多,如 Apriori、AprioriTid、DHP、FP-tree 等。 • 混合推荐引擎:结合以上各种,得到一个更加全面的推荐效果。
好的,我可以为您提供一个基于Apriori算法和FP-Growth算法关联规则挖掘实例。 假设我们有一个超市的销售数据,其中包含了不同商品的交易记录。我们希望挖掘出哪些商品之间存在着关联关系,以便超市可以根据这些关联关系制定更加有效的促销策略。 首先,我们使用Apriori算法进行关联规则挖掘。Apriori算法是一种基于频繁项集的挖掘方法,通过寻找频繁项集并生成关联规则来发现不同商品之间的关联关系。 我们可以使用如下的伪代码实现Apriori算法: ``` 1. 扫描数据集,统计每个项的支持度 2. 根据最小支持度过滤掉支持度小于该值的项 3. 对剩余的项进行两两组合,得到候选项集 4. 扫描数据集,统计候选项集的支持度 5. 根据最小支持度过滤掉支持度小于该值的候选项集 6. 对剩余的候选项集进行两两组合,得到新的候选项集 7. 重复步骤4-6,直到不能再生成新的候选项集 8. 根据生成的频繁项集,生成关联规则,并计算其支持度和置信度 9. 根据最小置信度过滤掉置信度小于该值的关联规则 ``` 接下来,我们使用FP-Growth算法进行关联规则挖掘。FP-Growth算法是一种基于树结构的挖掘方法,通过构建频繁模式树来发现不同商品之间的关联关系。 我们可以使用如下的伪代码实现FP-Growth算法: ``` 1. 扫描数据集,统计每个项的支持度 2. 根据最小支持度过滤掉支持度小于该值的项 3. 根据剩余项的支持度构建FP树 4. 对每个项的条件模式基进行递归,得到条件模式树,并对其进行剪枝和合并 5. 对每个项的条件模式基进行递归,得到频繁项集 6. 根据生成的频繁项集,生成关联规则,并计算其支持度和置信度 7. 根据最小置信度过滤掉置信度小于该值的关联规则 ``` 通过上述算法,我们可以得到不同商品之间的关联规则,并根据其支持度和置信度进行筛选和排序,以便超市可以根据这些关联关系制定更加有效的促销策略。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Python量化投资、代码解析与论文精读

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值