当前位置:首页 > 科技  > 软件

基于Python和Surprise库,新手也能动手搭建推荐系统

来源: 责编: 时间:2023-12-08 09:14:58 364观看
导读1、简介在数据时代,推荐系统是提升用户体验的重要工具。今天介绍如何使用亚马逊的电影评分数据集创建电影推荐系统。2、数据加载与探索首先,通过加载和探索数据集开启数据分析过程。首先导入Pandas和Numpy,这是进行数据

1、简介

在数据时代,推荐系统是提升用户体验的重要工具。今天介绍如何使用亚马逊的电影评分数据集创建电影推荐系统。ExW28资讯网——每日最新资讯28at.com

2、数据加载与探索

首先,通过加载和探索数据集开启数据分析过程。首先导入Pandas和Numpy,这是进行数据处理的基础库。通过检查数据集的前几行、形状、大小和统计摘要进行探索。.head()方法可以让我们一窥数据集的全貌,而.shape方法则展示了数据集的大小。ExW28资讯网——每日最新资讯28at.com

import pandas as pdimport numpy as np amazon = pd. read_csv (" path_to / Amazon . csv")print ( amazon . head ()print (" Dataset ␣ shape :", amazon . shape )

3、数据清洗和预处理

为了确保分析的完整性,必须替换缺失值并完善DataFrame。fillna方法可用于处理缺失值,这对于保持数据完整性至关重要。删除不相关的列(如'user_id')可以使分析集中在电影评分上。ExW28资讯网——每日最新资讯28at.com

Amazon_filtered = amazon . fillna ( value =0)Amazon_filtered1 = Amazon_filtered . drop ( columns =’user_id ’)

4、深入分析浏览量和评分

通过分析浏览量,分析电影的受欢迎程度,这涉及对评分进行求和并找到最大值。按电影对评分进行求和可以得到一个受欢迎度指标。argmax()函数可以识别出观看次数最多的电影。ExW28资讯网——每日最新资讯28at.com

Amazon_max_views = Amazon_filtered1 .sum ()max_views_index = Amazon_max_views . argmax ()print (" Most_viewed _movie _index :", max_views_index )

5、计算平均评分

通过计算电影的平均评分,可以了解观众的总体满意度。ExW28资讯网——每日最新资讯28at.com

average_ratings = Amazon_max_views . mean ()print (" Average_rating :", average_ratings )

6、建立推荐模型:SVD算法

  • 格式化数据供Surprise使用:通过准备数据以供Surprise库使用来为推荐做好准备。
from surprise import Reader , Datasetreader = Reader ( rating_scale =(-1, 10))data = Dataset . load_from_df ( melt_df . fillna (0) , reader )
  • 模型训练与评估:该系统的开发目的是根据用户的偏好来推荐电影,推荐系统的首选工具Surprise库。
from surprise import SVDfrom surprise.model_selection import train_test_split ,cross_validatetrainset , testset = train_test_split (data , test_size =0.25)algo = SVD ()algo . fit( trainset )predictions = algo . test ( testset )cross_validate (algo , data , measures =[ ’RMSE ’, ’MAE ’], cv =3,verbose = True )
  • 进行预测:现在,使用SVD算法进行预测,该算法是进行矩阵因式分解的强大工具,用于预测用户对电影的评分。
user_id = ’ A1CV1WROP5KTTW ’movie = ’Movie6 ’rating = 5algo . predict ( user_id , movie , r_ui = rating )

结果如下所示:ExW28资讯网——每日最新资讯28at.com

图片图片ExW28资讯网——每日最新资讯28at.com

7、结论(模型应用)

这个脚本不仅揭示了亚马逊电影评分数据的复杂性,还提供了一个多功能的分析工具包。这里的方法也可以适用于各种数据场景。例如,在教育领域,类似的推荐系统可以推荐个性化的学习材料、课程甚至课外活动,从而提高学生的参与度和学习效果。ExW28资讯网——每日最新资讯28at.com

8、教育示例

利用Surprise库,根据学生的偏好推荐教育资源。ExW28资讯网——每日最新资讯28at.com

  • 数据集:
import pandas as pd# 假设'education_data.csv'包含列'student_id'、'resource_id'和'rating'education_data = pd. read_csv (" path_to / education_data . csv")print ( education_data . head ()
  • 分析资源受欢迎程度:

找出最受欢迎或评分最高的教育资源。ExW28资讯网——每日最新资讯28at.com

resource_popularity = education_filtered . groupby’resource_id ’). sum ()most_popular_resource =resource_popularity [’rating ’]. idxmax ()print (" Most_popular_resource :{ most_popular_resource }")
  • 建立教育推荐模型:

利用Surprise库,根据用户偏好推荐教育资源。ExW28资讯网——每日最新资讯28at.com

resource_popularity =education_filtered . groupby (’ resource_id ’). sum ()most_popular_resource =resource_popularity [’rating ’]. idxmax ()print (" Most _popular _resource :{ most_popular_resource }")
  • 推荐教育资源:

针对特定学生和教育资源预测评分,展示该模型在教育环境中的适用性。ExW28资讯网——每日最新资讯28at.com

Student_id = ’student123 ’resource = ’course456 ’predicted_rating = algo . predict ( Student_id , resource ). estprint (" Predicted_rating_for_resource{ resource }_by_user_{ user_id }:{ predicted_rating }")

可以在Github上查看源代码和数据集。ExW28资讯网——每日最新资讯28at.com

【Github】:https://github.com/chukolate007/amazon-user-based-recommendation-systemExW28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-39517-0.html基于Python和Surprise库,新手也能动手搭建推荐系统

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 用 print 太慢了!强烈推荐这款 Python Debug 工具

下一篇: 使用RabbitMQ和Spring Cloud Stream实现异步通信

标签:
  • 热门焦点
  • 一加Ace2 Pro官宣:普及16G内存 引领24G

    一加官方今天继续为本月发布的新机一加Ace2 Pro带来预热,公布了内存方面的信息。“淘汰 8GB ,12GB 起步,16GB 普及,24GB 引领,还有呢?#一加Ace2Pro#,2023 年 8 月,敬请期待。”同时
  • 5月iOS设备好评榜:iPhone 14仅排第43?

    来到新的一月,安兔兔的各个榜单又重新汇总了数据,像安卓阵营的榜单都有着比较大的变动,不过iOS由于设备的更新换代并没有那么快,所以相对来说变化并不大,特别是iOS好评榜,老款设
  • 三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • K6:面向开发人员的现代负载测试工具

    K6 是一个开源负载测试工具,可以轻松编写、运行和分析性能测试。它建立在 Go 和 JavaScript 之上,它被设计为功能强大、可扩展且易于使用。k6 可用于测试各种应用程序,包括 Web
  • 不容错过的MSBuild技巧,必备用法详解和实践指南

    一、MSBuild简介MSBuild是一种基于XML的构建引擎,用于在.NET Framework和.NET Core应用程序中自动化构建过程。它是Visual Studio的构建引擎,可在命令行或其他构建工具中使用
  • 19个 JavaScript 单行代码技巧,让你看起来像个专业人士

    今天这篇文章跟大家分享18个JS单行代码,你只需花几分钟时间,即可帮助您了解一些您可能不知道的 JS 知识,如果您已经知道了,就当作复习一下,古人云,温故而知新嘛。现在,我们就开始今
  • 一文搞定Java NIO,以及各种奇葩流

    大家好,我是哪吒。很多朋友问我,如何才能学好IO流,对各种流的概念,云里雾里的,不求甚解。用到的时候,现百度,功能虽然实现了,但是为什么用这个?不知道。更别说效率问题了~下次再遇到,
  • 东方甄选单飞:有些鸟注定是关不住的

    文/彭宽鸿编辑/罗卿东方甄选创始人俞敏洪带队的“7天甘肃行”直播活动已在近日顺利收官。成立后一年多时间里,东方甄选要脱离抖音自立门户的传闻不绝于耳,“7
  • 最薄的14英寸游戏笔记本电脑 Alienware X14已可以购买

    2022年1月份在国际消费电子展(CES2022)上首次亮相的Alienware新品——Alienware X14现在已经可以购买了,这款笔记本电脑被誉为世界上最薄的 14 英寸游戏笔
Top