电影数据分析
目录
电影数据分析 1
一、、实验概述 1
1.1 实验标 1
1.2 .实验完成情况 1
二、、电影特征的可视化分析 2
电影票房预测 9
2.1 Data Augmentation 9
2.1.1 算法说明 10
2.1.2 实验结果 13
电影推荐算法 15
3.1 基于统计学的推荐 15
3.1.1 score = v +v m r + mm+ v c 15
3.2 基于内容的推荐算法 15
3.3 基于 KNN 的协同过滤算法 17
3.3.1 针对电影相似度的推荐算法 17
3.3.2 针对户相似度的推荐算法 18
3.4 基于奇异值分解的推荐算法 19
3.5 集成推荐算法 22
3.5.1 KNN+ 本的集成推荐 22
3.5.2 户 KNN+ 电影 KNN 22
3.5.3 户 KNN+ 奇异值分解 22

一、、实验概述
1.1 实验标
本项目希望基于电影数据集,依据电影的简介、关键词、预算、票房、用户评分等特征来对电影进行分析,并完成以下任务:
对电影特征的可视化分析对电影票房的预测
多功能个性化的电影推荐算法
1.2 .实验完成情况

完成了对电影特征的可视化分析。


完成了基于电影特征的电影票房预测算法,并在 Kaggle 的 TMDB Box Office Prediction 比赛中最终取得


了前 6.8%(95/1400)的成绩。


完成了基于简单特征(内容、评分、关键词)的三种推荐算法、基于 KNN 的两种协同过滤算法、基于奇异值分解的推荐算法以及三种集成推荐算法,共设计并实现了九种电影推荐算法。

二、、电影特征的可视化分析
本项目中,我首先对电影数据的一些特征进行了可视化分析,来为之后的票房预测和电影推荐做帮助。
首先我分别绘制了票房与预算、欢迎程度(popularity)、戏剧性程度(theatrical)的关系图,如下图所示:

#-*-coding:utf-8-*-import pandas as pd
import sys
import os
import csv
sys.path.insert(0, '..')
from personal_recommender.KNN_movie import Movie_KNN_recommender
from personal_recommender.KNN_user import Personal_KNN_recommender
from personal_recommender.Personal_SVD import Personal_SVD_recommender# 首先用KNN对输入的用户进行相似度匹配,然后挑选出最接近的10个其他用户
# 之后对于选出的电影,根据SVD计算用户对电影的模拟评分来进行排序class KNN_SVD_ensemble:def __init__(self):self.user = Personal_KNN_recommender()self.movie = Personal_SVD_recommender()self.testings = pd.read_csv('../data/personal/test.csv')self.userid = []for i in range(len(self.testings['userId'])):if not self.testings['userId'][i] in self.userid:self.userid.append(self.testings['userId'][i])def recommend(self, usrID):_, first_ids = self.user.recommend(usrID, 50)# print(first_ids)second_ids, movie_id = self.movie.recommend(usrID, first_ids, 10)# print(second_ids)return movie_iddef test(self, num):result = []for user in self.userid:print(user)ids = self.recommend(user)print(ids)result.append(ids)with open("./result.csv", "w") as csvfile:writer = csv.writer(csvfile)writer.writerow(['userId', 'result'])for i, row in enumerate(result):writer.writerow([self.userid[i], row])test = KNN_SVD_ensemble()
# test.recommend(2)
test.test(10)



















基于Python机器学习算法的电影推荐系统以及票房预测系统相关推荐

  1. 基于内容推荐算法的电影推荐系统

    基于内容的推荐算法 格局用户过去一段时间内喜欢的物品,以及由此推算出来用户偏好,为用户推荐相似物品.其中的"内容"指的便是:用户过去一段时间内喜欢的物品,以及由此推算出来的用户偏好 ...

  2. 基于python的电商运动服饰销售分析与预测系统

    温馨提示:文末有 CSDN 平台官方提供的学长 Wechat / QQ 名片 :) 1. 项目背景 随着电⼦商务的蓬勃发展,⽹络服装销售已经逐渐成为消费者最为青睐的廉价购物渠道.本项目基于python ...

  3. 基于协同过滤算法的电影推荐系统

    目录 前言 R语言 电影推荐系统 案例及代码 数据准备 数据预处理 建立模型 前言 电影推荐系统是数学建模培训中一次例题,网上对相同类型的模型已有答案,但相关代码跑起来仍然存在些许bug,本文基于同类 ...

  4. 基于Python机器学习方法的电影推荐系统

    资源下载地址:https://download.csdn.net/download/sheziqiong/85745459 资源下载地址:https://download.csdn.net/downl ...

  5. 基于python和TensorFlow的电影推荐系统

    电影推荐系统 这门课感觉挺有意思,而且老师讲的也很好,便决定为代码添上注释自己做一下总结. 代码地址 课程地址 第一步:数据准备 打开网址 电影数据集 找到下图所示数据集进行下载解压. 第二步:数据准 ...

  6. 基于Python库surprise的电影推荐系统

    surprise 是一个主流的python推荐系统框架,支持的最基本数据格式为movielens dataset,其评分数据格式为 user item rating timestamp # -*- c ...

  7. 基于Python的贝壳某城市二手房交易分析及预测系统 文档+项目源码+演示视频

    目录 一. 项目目的及意义 0 二. 技术路线 1 三. 研发情况 3 数据预处理 3 可视化分析 6 价格预测及聚类分析 10 可视化页面 13 卖方价格预测页面 14 买方房屋推荐页面 14 四. ...

  8. java计算机毕业设计基于ssm的协同过滤算法的电影推荐系统(源代码+数据库+Lw文档)

    项目介绍 "互联网+"的战略实施后,很多行业的信息化水平都有了很大的提升.但是目前很多行业的管理仍是通过人工管理的方式进行,需要在各个岗位投入大量的人力进行很多重复性工作,使得对人 ...

  9. 基于Python + Django + mysql的协同推荐算法的电影推荐系统

    基于Python + Django + mysql的协同推荐算法的电影推荐系统 本系统一共分为前台系统功能和后台系统功能两个模块,两个模块之间虽然在表面上是相互独立的,但是在对数据库的访问上是紧密相连 ...

最新文章

  1. 2021.04.07 oppo HR面
  2. [LGP4859,...] 一类奇怪的容斥套DP
  3. nyoj- 117 求逆序数 hdu-sort it---- 树状数组
  4. WebAPI Get
  5. 文件描述符(0、1、2)的用法
  6. Opencv中Get2D()与cvSet2D() 的坐标问题
  7. 存储服务器之间的传输速度与服务器内部读写速度_3000MB/s读写带来的PC体验升级,东芝RD500固态硬盘评测...
  8. LDA-math-MCMC 和 Gibbs Sampling (我爱NLP)
  9. 中国电子教育产业前景规划与未来投资方向预测报告2022年版
  10. 微信小程序实战之登录页面制作
  11. uni-app 上传图片并压缩(uView)
  12. Python语言为何如此流行?
  13. MATLAB/Simulink当真,开环Buck、闭环Buck、双闭环Buck仿真;开环控制的半桥LLC谐振变换器,全桥LLC谐振变换器和电压闭环控制的半桥LLC
  14. html网站运行天数代码,网站运行天数代码
  15. LeetCode 13 罗马符号转化为数字(难度: Easy)
  16. ps作图缩小有锯齿的解决方法
  17. html无边框网格,table没有网格线_html/css_WEB-ITnose
  18. 解决warning: LF will be replaced by CRLF in方法
  19. Animate.css动画
  20. 批零兼营、上下游信息不同步,只需要一个功能,就能实现信息共享

热门文章

  1. linux下看libc源码,获得libc的调试信息
  2. 手把手教你Nginx常用模块详解之ngx_http_rewrite_module(十)
  3. CFF 1022 平均年龄
  4. CFF编程练习:公共钥匙盒(Java)
  5. [转载]绝对耳目一新的搭配----眉豆炒虾酱(12道风靡城乡的
  6. 一种双灰度传感器巡黑线方案:完美解决小车循迹时左右摇摆的问题
  7. java传递枚举值到JNI
  8. leaflet如何为geoJson图层设置zIndex图层顺序?
  9. QT学习笔记之QMainWindow
  10. DC-3靶机的渗透学习