- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Python学习-Python大作业电影推荐系统
精品课程
中国IT职业教育领先品牌
全程面授
Python 学习-Python 大作业电影推荐系统
电影推荐系统
推荐系统的文献汗牛充栋,大家对此应该都不陌生。之所以选这个题目一是简单,在一周多
晚上十点以后的自由时间里,只有选简单的题目才能完成,即便如此,依然捉襟见肘;二是
希望好好研究下数据,一步步推到推荐系统的设计,而不是像以前直奔算法,当然也是时间
原因,这里对数据的探索也是远远不够的。
本文前面探索阶段所用的数据集太大,导致多个分析运行一天也出不了结果,所以后面在推
荐系统的建模中,又换成了较小的 MovieLens 1M 数据集。
import pandas as pdimport numpy as npimport datetime
%matplotlib inlineimport matplotlib.pyplot as plt
数据探索
在数据探索阶段,刚开始是漫无目的的,跟着感觉走,对数据哪一块感兴趣就统计下,排个
序,画个图,这样慢慢就对数据熟悉起来,熟悉之后再来考虑如何利用用户历史行为数据来
做推荐。
读取数据
读取评分数据:
ratings = pd.read_csv(./ml-latest/ratings.csv, header=0)
ratings.head()
ratings[timestamp]=ratings.timestamp.map(datetime.datetime.utcfromtimestamp) # 时间格式
转换
ratings.head()
userIdmovieIdratingtimestamp
011692.52008-03-07 22:08:14
千锋教育
精品课程
中国IT职业教育领先品牌
全程面授
1124713.02008-03-07 22:03:58 02008-03-07 22:03:55
3225713.52015-07-06 06:50:33
421094874.02015-07-06 06:51:36
ratings.count()
userIdovieIdatingimestamptype: int64
读取电影信息数据:
movies = pd.read_csv(./ml-latest/movies.csv, header=0)
movies.head()
movies = movies.set_index(movieId)movies.head()
movies.count()
title 34208genres 34208dtype: int64
该数据集包含了对 34208 部电影的个评分数据。
流行度调查
moviefreq = ratings.movieId.value_counts() # 统计每部电影的评分人数,可看出电影的流行程
度,默认是降序排列moviefreq.count()
33670
sorted_byfreq = movies.loc[moviefreq.index] # 根据频次大小依次取电影信息
sorted_byfreq[ranking]=range(moviefreq.count()) # 加上排名sorted_byfreq[freq]=moviefreq
# 加上频次sorted_byfreq.iloc[0:10] # 前十大流行电影
千锋教育
文档评论(0)