电影推荐算法2

模型创建

title _ count, title _ set, genres2int, features, targets _ values, ratings, users, movies, data, movies _ orig, users _ orig = pickle.load (open (‘preprocess.p’, mode = ‘rb’))

加载数据后定义神经网络的模型结构:
1)定义参数
相关代码如下:

在这里插入图片描述
在这里插入图片描述
3)定义用户嵌入矩阵
在预处理数据时将UserID、MovieID的字段转成数字,当作嵌入矩阵的索引,在网络的第一层使用嵌入层,维度是(N,32)和(N,16),其中N是电影总数。定义用户嵌入矩阵的相关代码如下:在这里插入图片描述
4)定义电影嵌入矩阵
相关代码如下:在这里插入图片描述
5)定义电影类型嵌入矩阵
有时一个电影有多个类型,从嵌入矩阵索引出来是一个(n,32)的矩阵,这里的n是指某部电影所包含的类型。因为有多个类型,所以要将这个矩阵求和,变成(1,32)的向量。相关代码如下:在这里插入图片描述
电影名的处理比较特殊,未使用循环神经网络,而是用了文本卷积网络。网络的第一层是词嵌入层,由每个单词的嵌入向量组成矩阵。第二层使用多个不同尺寸(窗口大小)的卷积核在嵌入矩阵上做卷积,窗口大小指的是每次卷积覆盖几个单词。这里与图像做卷积不同,图像卷积通常用2×2、3×3、5×5的尺寸,而文本卷积要覆盖整个单词的嵌入向量,尺寸是单词数、向量维度,例如,每次滑动3、4或5个单词。第三层网络是最大池化得到一个长向量,第四层使用丢弃做正则化,得到电影Title的特征。相关代码如下:在这里插入图片描述
7)全连接层
从嵌入层索引出特征后,传入全连接层,将输出再次传入全连接层,模型结构如图4-11所示,最终分别得到(1,200)的用户和电影两个特征向量。
在这里插入图片描述

8)定义计算图
目的是训练出用户特征和电影特征,在实现推荐功能时使用。得到这两个特征以后,可以选择任意的方式来拟合评分。对用户特征和电影特征两个(1,200)向量做乘法,将结果与真实评分做回归,采用MSE优化损失。相关代码如下:

.模型训练
定义超参数的代码如下:其中,一个batch就是在一次前向/后向传播过程用到的训练样例数量,训练5轮,每轮第一个batch_size为3125,作为训练集,训练步长为20,第二个batch_size为781,作为测试集,训练步长为20,训练集训练结果如图4-12所示,测试集训练结果如图4-13所示。

通过观察训练集和测试集损失函数的大小来评估模型的训练程度,进行模型训练的进一步决策。一般来说,训练集和测试集的损失函数不变且基本相等为模型训练的较佳状态。可以将训练过程中保存的损失函数以图片的形式表现出来,方便观察,相关代码如下:在这里插入图片描述
获取特征矩阵
本部分包括定义函数张量、生成电影特征矩阵、生成用户特征矩阵。
1)定义函数用于获取保存的张量
相关代码如下:在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25234.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

5、电影推荐系统

实验资源 u.user u.item u.data 实验环境 VMware Workstation Ubuntu 16.04 Jupyter Notebook Pyspark 实验内容 本实验使用其中三个文件,用户信息、影片信息、评分数据 用户信息 (u.user) 用户id年龄性别职业邮政编码 影片信息(u.it…

推荐系统-电影推荐系统

本文的代码-源于《推荐系统开发实战》 数据源:train.json, 含有用户看过的所有的电影,以及他对电影的评分 使用算法: 皮尔逊相关系数 公式: 皮尔逊相关系数的取值范围是[-1,1],1表示完全正相关,-1表示完…

电影推荐算法

模型训练 下载数据集,解压到项目目录下的./ml-1m文件夹下。数据集分用户数据users.dat、电影数据movies.dat和评分数据ratings.dat。 ** 数据集分析 ** user.dat:分别有用户ID、性别、年龄、职业ID和邮编等字段。 数据集网站地址为http://files.group…

chatgpt赋能python:用Python打造智能电影推荐系统

用Python打造智能电影推荐系统 在数字娱乐时代,我们有着大量的影片选择,然而如何快速地找到符合自己口味的电影成为了我们面对海量电影时的一大难题。幸运的是,Python的出现为我们带来了解决问题的方法。 什么是智能电影推荐系统&#xff1…

基于用户喜好以及电影类型的电影推荐算法

本文参考文献:https://www.researchgate.net/publication/257403928_A_movie_recommendation_algorithm_based_on_genre_correlations 代码:https://github.com/827983519/recommend_algorithm/blob/master/Genre.py 1.电影推荐 电影推荐是推荐算法应用…

chatgpt赋能python:用Python打造更智能的电影推荐系统,让你轻松找到心仪的影片

用Python打造更智能的电影推荐系统,让你轻松找到心仪的影片 电影是人们在生活中不可或缺的娱乐方式之一。而对于喜欢看电影的朋友来说,找到一部能够满足自己口味的影片,是一件非常重要的事情。为了让大家更加方便地找到合适自己的电影&#…

电影推荐系统

摘 要 随着社会的发展,人们生活水平的提高,欣赏电影逐渐成为人们闲暇时的主要娱乐方式之一。电影院也越来越多,除了一些大型连锁式电影院外,还有很多社区影院,小剧场等也日益增多。这类电影院中,传统的电影…

chatgpt赋能python:Python写一个自动登录脚本

Python写一个自动登录脚本 在现代互联网时代,大部分网站在使用时需要登录,为了提高人工操作的效率,很多人开始使用自动化工具来完成自动登录。Python语言作为一款流行的脚本编程语言,在自动化方面也有很好的表现,本文…

解决Docker进不去mysql的问题

使用场景: 在Linux系统中操作: Docker里安装MySQL库,进入并进行相关操作。 问题情况 先启动mysql容器: docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORDmy-secret-pw -d mysql:latest这里直接拒绝…

使用Flask Web创建一个调用ChatGPT API的网页--简单示例(Windows环境下)

前提:你应该要有一个能正常使用chatGPT的openAI账号;即你已经成功注册了chatGPT,并能正常使用。 文章目录 一、主要组成部分二、示例代码2.1 工程结构:2.2 说明2.3 依赖环境2.4 app.py代码2.5 index.html代码 三、搭建环境步骤 一…

JAVA对接百度API提交普通收录/SEO

JAVA对接百度API提交普通收录/SEO 说明: 为了增加内容的曝光量,除了主动让百度爬虫爬取之外,还有普通收录的API提交,程序主动向百度搜索推送资源,缩短爬虫发现网站链接的时间。 官网地址:http://data.zz.…

Java 快递物流查询 api对接

Java 快递物流查询 api对接 2018年08月24日 09:44:41 我跟吴彦祖四六开 阅读数:73 标签: java 物流查询 更多 个人分类: Java 这里只是记录一下。第三方都会提供很详细的demo和技术文档,或者安排专业人员进行联调。 第三方物流…

eBay API文档

1.创建eBay接入API教程网址 https://developer.ebay.com/api-docs/static/creating-edp-account.html 前言:API参考:资源 该分析API检索呼叫限制和数据被用于RESTful API中及其关联的资源设置配额。对getRateLimits和getUserRateLimits进行的调用的响应…

Java对接外部API这个问题

java对接外部api 需求提出解决思路编码测试 总结 差不多有一个多月没有更新blog,也是出于工作原因以及最近搬家在看合适的窝点导致断更。今天有一个小学妹来问我可以将我其他项目的api接入到我现在的项目中吗?我回答“可以”!我今天就写一篇关…

Midjourney API 接口对接历程

Midjourney是一个基于Discord环境的画图工具,它提供API接口用于扩展功能。对于程序开发者来说,Midjourney只能在Discord环境下使用,这限制了它的使用范围。本文将介绍使用Midjourney的API接口进行开发发过程中遇到的一些问题。 内测地址&…

JAVA对接亚马逊SPAPI

亚马逊官方文档Amazon-Services-APIAmazon API Services for Selling Partners and Shippers.https://developer-docs.amazon.com/ 1注册AWS账号,填写个人信息,填写银行信息,手机验证(AWS网址) 2在AWS里面创建IAM用户…

深信服防火墙API对接

深信服防火墙千呼万唤的API终于在8.0.35版本实现了。具体的API文档可以登录防火墙的后台WEB界面上的右上角点开即可查看: 根本api文档,首先先新建一个api账号,“用户可以登录WebUI通过"系统->管理员账号"栏将默认的账户勾上WEBA…

使用Swagger作API接口对接

1、当前项目中存在的问题 在前后端分离的项目中,如手机端与接口端对接、WEB项目调用API,进行接口对接的方式一般是先创建WORD文档,然后把各个接口的链接、参数、访问方式、说明等信息粘贴进去。在制作文档的过程中,如果稍有不注意…

API对接实战

目录 一 背景 二 了解B公司接口的基础约定 三 基础域名 四 请求及相应格式说明 五 确定要对接哪些API 六 根据API文档,编写一些基础工具类。 七 根据API文档,编写必要的DTO 八 针对每个API方法,进行对接 九 对接代码结构 十 一些对…

企业微信api对接

用的是wxJava,但是wxJava文档真滴不清楚,都是jar全局搜索url/看方法试的。 坑0: 通讯录不仅要开通api,还得开通是“可编辑”不然是“只读”(然后还可以设置人员自己编辑后推动事件服务器)挺不错的 坑一&a…