python对电影进行预测评分_推荐系统—影视评分预测
本文根据Andrew Ng的 Machine Learning 的课写就。
======================================= 一、预测电影评分 ==========================================
全文以“预测电影评分”例子展开
r(i,j)=0则表明user_j没有对movie_i 没有评分,
推荐系统 要做的就是通过预测user_j对这些movie {i|r(i,j)=0}的评分来给user_j 推荐其 可能会喜欢 的电影
======================================= 二、基于内容的推荐 =======================================
对每个movie_i引入特征x(i)=(x1, x2),这种特征可能表明user对movie类型的偏好:浪漫or动作等
对于每个user引入一个参数theta,然后对评分矩阵的每列(对应一个user)做线性回归,数据是{ (x(i), y(i,j)) |r(i,j)=1,for some j all i}
像机器学习一样,x(i)添加个1变量 x(i)=(1, x1, x2)
那么对于未评分的movie_t,我们可以使用线性回归训练的参数theta与对应特征x(t)做内积来得到其预测评分
对每个用户都训练一个参数theta_j,优化模型如下:
优化算法:注意正则项是不约束 x(i)=(1, x1, x2)中1对应的参数theta的第一项theta0,所以k=0与k=1,2分别对待
======================================= 三、协同过滤 =======================================
现在换个角度:如果知道theta for all user j,如何来预测x(i) = (x1, x2) all i
仍然可以使用线性回归,为训练每个x(i),需要评分矩阵的第i行数据 { (x(i), y(i,j)) |r(i,j)=1,for some i all j}
theta_j = (0, theta1, theta2) ; theta1=5说明user_j喜欢romance类movie, theta2=5 说明user_j喜欢action类movie,只能有一个等于5哦,
我觉得也可以是: theta_j = (0, 4, 1) ;喜欢romance 4 action 1.
对应的优化:
协同过滤:交替优化theta与x
========================================= 四、协同过滤算法 =======================================
优化:
优化:注意去掉了theta和x的添加项
========================================= 五、实现细节补充 =======================================
实现细节:
如果有user没有对任何电影评分或者所有评分的电影都是0分,那么所学习到的参数是零向量,
则预测都是0值,这是不合理的。通过 将评分矩阵减去其行均值再进行线性回归来“避免”这种情况
========================================= 六、一点思考 ==========================================
协同过滤那块,同时优化theta、x,这样得到的theta、x还有特定的意义没有?
回归中,在x数据上不添加1-feature是不是因为后来引入的平均值化;如果不是,那会对结果有什么影响?
用x-feature来表征一个movie,x-feature的各分量的可解释性;应该会有一部分user应为演员的缘故有一些"偏爱"。
这里,讲的"基于内容的推荐"与"协同过滤"跟以前对这两个词的认识/所指内容不同,查清楚、搞明白。
这周还会再更一篇关于此节课的算法实现,会对上述部分问题做出回答。
本文转载自:CSDN博客
欢迎加入我爱机器学习QQ14群:336582044
微信扫一扫,关注我爱机器学习公众号
python对电影进行预测评分_推荐系统—影视评分预测相关推荐
- 基于python的电影数据可视化分析与推荐系统
温馨提示:文末有 CSDN 平台官方提供的博主 Wechat / QQ 名片 :) 1. 项目简介 本项目利用网络爬虫技术从国外某电影网站和国内某电影评论网站采集电影数据,并对电影数据进行可视化分析, ...
- python回归算法预测数据_数据回归分类预测的基本算法及python实现
数据回归分类预测的基本算法及python实现 关于数据的回归和分类以及分析预测.讨论分析几种比较基础的算法,也可以算作是比较简单的机器学习算法. 一.KNN算法 邻近算法,可以用来做回归分析也可以用来 ...
- 使用机器学习预测天气_如何使用机器学习预测着陆
使用机器学习预测天气 Based on every NFL play from 2009–2017 根据2009-2017年每场NFL比赛 Ah, yes. The times, they are c ...
- 时间序列预测 预测时间段_什么是时间序列预测
时间序列预测 预测时间段 Notwithstanding the time series analysis is widely implemented for the business and soc ...
- python爬电影的优点是_我用 Python 爬了点你们喜欢的电影,这些电影真的很不错!...
最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址.刚开始学习python希望可以获得宝贵的意见. 先来简单介绍一下,网络爬虫的基本实现原理吧. 一个爬虫 ...
- python一键电影搜索与下载_[懒人福利]用Python进行[天堂电影]下载资源的搜索
#!/usr/bin/env python #encoding:utf-8 import requests from bs4 import BeautifulSoup import urllib im ...
- python预测模型各国pm2.5年平均值_用scikit-learn来预测北京的pm2.5
机器学习最好入门的是什么?根基是什么? 我觉得是分类. 我当然不会讲什么具体的分类算法的实现,我们直接用Scikit-learn.关于scikit-learn,唯一需要知道的是,它除了深度学习,传统机 ...
- python自助电影售票机_2019-03-20_面向对象_模拟电影院自动售票机选票[Python练习题]...
题目及要求:在电影院中观看电影是一项很受欢迎的休闲娱乐,现在,请模拟电影院自动售票机中自动选择电影场次的页面,例如,一部电影在当日的播放时间有很多,可以自动选择合适的场次. 模拟电影院自动售票机选票 ...
- python预测比赛_快手活跃用户预测竞赛的第一名解决方案
作者按:由于比赛时间仓促,这份代码中有些地方写的并不规范.更规范的tensorflow RNN构建,可以参考作者的另外一个项目tenosrflow-RNN-toolkit,该项目使用更高程度抽象的bu ...
最新文章
- 如何认识TOS----DSCP 对照表
- java源文件怎么发送给别人_自己的java程序怎么给别人用
- linux下ioctl遇到的坑
- 20个Pandas数据实战案例,干货多多
- 论文浅尝 | 一种基于递归超图的知识图谱问答方法
- 【推荐论文】基于多视角学习和个性化注意力机制的新闻推荐(附论文下载链接)...
- vim粘贴乱码的原因
- mysql 多个命令行,5.8.2.1在Windows命令行中启动多个MySQL实例
- 微信公众号模板消息 access_token missing
- app采集的10个经典方法
- JUnit5 + JMockit 知识整理
- 关于苹果绕ID的一些注意事项,A6-A7 Sliver 6.2 小白少走弯路。
- 如何计算当地的中央子午线?全国各地中央子午线【转载】
- 基于FPGA的简单视频传输方案设计
- php无刷新分页插件,帝国cms增加Ajax加载更多功能,无刷新Ajax表分页插件使用说明_励翔科技帝国cms开发中心...
- kubeadm修改证书有效期
- SQL Server2008安装:应用程序中发生了无法处理的异常
- ping主机时显示 Request Time Out Destination Unreachable TTL Expired in transit
- 小白玩大数据日志分析系统经典入门实操篇FileBeat+ElasticSearch+Kibana 实时日志系统搭建从入门到放弃
- c++ promer和c++ primer Pluse下载