全文共3490字,预计学习时长10分钟
来源:zcool
不光是淘宝、京东会根据消费者的浏览、购买记录进行产品、服务推荐。网易云音乐、哔哩哔哩、腾讯新闻等各大音乐视频新闻等都会根据用户的记录进行相关推荐,一推一个准,令人方便之余,细思极恐。
来源:zhongmicm
下面,就和小芯一起来了解一下这个“神奇的推荐系统”。
当在网上对产品和服务进行评级时,人们表达的所有偏好和共享的数据(明确地或不明确地)都会被推荐系统用来生成推荐。
来源:cbdio
推荐系统分为两类:
协同过滤-基于用户评分和消费将相似的用户分组,然后向用户推荐产品/服务
基于内容的过滤——根据相似的产品/服务的属性向用户推荐。
在本文中,小芯将结合电影属性(如类型、情节、导演和主要演员)来计算它与另一部电影的余弦相似性。数据集来源于data.world下载的IMDB最值得观看的前250部英文电影。
步骤1:导入Python库和数据集,执行EDA
确保已经安装了快速自动关键字提取(RAKE)库(或pip installrake_nltk)。
from rake_nltk import Rake
importpandas as pd
importnumpy as np
from sklearn.metrics.pairwise import cosine_similarity
from sklearn.feature_extraction.text import
CountVectorizerdf =pd.read_csv('IMDB_Top250Engmovies2_OMDB_Detailed.csv')
df.head()
在数据集中,有250部电影(行)和38个属性(列)。然而,只有5个属性是有用的:“Title”、“Director”、“Actors”、“Plot”和“Genre”。以下是10位最受欢迎的导演。
df['Director'].value_counts()[0:10].plot('barh',figsize=[8,5],
fontsize=15, color='navy').invert_yaxis()
250部电影中最受欢迎的10位导演