基于python 的电影推荐算法_基于Python和Tensorflow的电影推荐算法

本文详细介绍了如何基于Python和Tensorflow构建电影推荐系统。首先,通过收集和清洗MovieLens数据集,然后创建电影评分矩阵和评分纪录矩阵。接着,利用Tensorflow构建模型并进行训练,最后评估模型并给出推荐电影的示例。
摘要由CSDN通过智能技术生成

第一步:收集和清洗数据

数据链接:https://grouplens.org/datasets/movielens/

下载文件:ml-latest-small139717272_1_20180728025519387import pandas as pd

import numpy as np

import tensorflow as tf导入ratings.csv文件

ratings_df = pd.read_csv('./ml-latest-small/ratings.csv')

ratings_df.tail

#tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾5行。

结果:userIdmovieIdratingtimestamp9999967162682.51065579370

10000067162694.01065149201

10000167163654.01070940363

10000267163852.51070979663

10000367165653.51074784724

导入movies.csv文件

movies_df = pd.read_csv('./ml-latest-small/movies.csv')

movies_df.tail

结果:

movieIdtitlegenres9120162672Mohenjo Daro (2016)Adventure|Drama|Romance

9121163056Shin Godzilla (2016)Action|Adventure|Fantasy|Sci-Fi

9122163949The Beatles: Eight Days a Week - The Touring Y...Documentary

9123164977The Gay Desperado (1936)Comedy

9124164979Women of '69, UnboxedDocumentary

将movies_df中的movieId替换为行号

movies_df['movieRow'] = movies_df.index

#生成一列‘movieRow’,等于索引值index

movies_df.tail

结果:

movieIdtitlegenresmovieRow9120162672Mohenjo Daro (2016)Adventure|Drama|Romance9120

9121163056Shin Godzilla (2016)Action|Adventure|Fantasy|Sci-Fi9121

9122163949The Beatles: Eight Days a Week - The Touring Y...Documentary9122

9123164977The Gay Desperado (1936)Comedy9123

9124164979Women of '69, UnboxedDocumentary9124

筛选movies_df中的特征

movies_df = movies_df[['movieRow''movieId''title']]

#筛选三列出来

movies_df.to_csv('./ml-latest-small/moviesProcessed.csv', index=False, header=True, encoding='utf-8')

#生成一个新的文件moviesProcessed.csv

movies_df.tail

结果:movieRowmovieIdtitle91209120162672Mohenjo Daro (2016)

91219121163056Shin Godzilla (2016)

91229122163949The Beatles: Eight Days a Week - The Touring Y...

91239123164977The Gay Desperado (1936)

91249124164979Women of '69, Unboxed

根据movieId,合并rating_df和movie

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值