作家
登录

如何用深度学习推荐电影?教你做自己的推荐系统!

作者: 来源: 2017-05-17 09:30:42 阅读 我要评论

  1. sparsity = float(len(ratings.nonzero()[0])) 
  2. sparsity /= (ratings.shape[0] * ratings.shape[1]) 
  3. sparsity *= 100 

当菲缡宇(entry)只有1.40%的时刻评级矩阵是稀少的。如今,为了练习和测试,我们将评分矩阵分化成两个较小的矩阵。我们大年夜评分矩阵中删除了10个评分,把它们放入测试集。

  1. train_matrix = rating_matrix.copy() 
  2. test_matrix = np.zeros(ratings_matrix.shape) 
  3. for i in xrange(rating_matrix.shape[0]): 
  4. rating_idx = np.random.choice( 
  5. rating_matrix[i, :].nonzero()[0], 
  6. size=10, 
  7. WordStr=True) 
  8. train_matrix[i, rating_idx] = 0.0 
  9. test_matrix[i, rating_idx] = rating_matrix[i, rating_idx] 

根据以下公式计算用户/片子中的(余弦Cosine) 类似性

这里s(u,v)是用户u和v之间的余弦类似度。

应用用户之间的类似性,我们能猜测每个用户对片子的评级,并计算出响应的MSE。该猜测基于类似用户的评分。特别地,可以根据以下公式进行打分猜测:

用户u对片子i的猜测,是用户v对片子的评分的(标准化的)加权和。权重为用户u和v的类似度。

  1. from sklearn.metrics import mean_squared_error 
  2.  
  3. prediction = similarity_user.dot(train_matrix) / np.array([np.abs(similarity_user).sum(axis=1)]).T 
  4.  
  5. prediction = prediction[test_matrix.nonzero()].flatten() 
  6.  
  7. test_vector = test_matrix[test_matrix.nonzero()].flatten() 
  8.  
  9. mse = mean_squared_error(prediction, test_vector) 
  10.  
  11. print 'MSE = ' + str(mse) 

猜测的MSE为9.8252。这个数字意味着什么?这个推荐体系是好是坏?仅仅看着MSE结不雅来评估猜测效不雅不是很相符直觉。是以,我们直接检查片子推荐来评估。我们将搜刮一个感兴趣的片子,并让电脑代劳来推荐几部片子。起重要获得响应的片子海报,如许就能看到都有什么片子被推荐。我们应用IMDB id,应用它的API大年夜Movie Database 网站获取海报。

  1. import requests 
  2. import json 
  3. from IPython.display import Image 
  4. from IPython.display import display 
  5. from IPython.display import HTML 
  6. idx_to_movie = {} 
  7. for row in df_id.itertuples(): 
  8. idx_to_movie[row[1]-1] = row[2] 
  9. idx_to_movie 
  10. k = 6 
  11. idx = 0 
  12. movies = [ idx_to_movie[x] for x in np.argsort(similarity_movie[idx,:])[:-k-1:-1] ] 
  13. movies = filter(lambda imdb: len(str(imdb)) == 6, movies) 
  14. n_display = 5 
  15. URL = [0]*n_display 
  16. IMDB = [0]*n_display 
  17. i = 0 

      推荐阅读

      如何使用WhatsApp收集大量数据(附脚本)

    脚本下载 【编辑推荐】亚信安然成功抵抗全球第一只勒索蠕虫WannaCry收集病毒入侵!国度网信安然中间教你如许做前端安然之XSS进击收集安然始创公司存活之道小议验证码的安然性及若何绕过【义>>>详细阅读


    本文标题:如何用深度学习推荐电影?教你做自己的推荐系统!

    地址:http://www.17bianji.com/lsqh/35259.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)