首页 > 其他分享 >240721 knn 计算用户1和用户2之间的评分-相关度

240721 knn 计算用户1和用户2之间的评分-相关度

时间:2024-09-01 10:53:31浏览次数:11  
标签:knn __ user2 user1 用户 dataset 240721 item np


knn通过计算电影相关度,计算用户1和用户2的评分

240721 knn 计算用户1和用户2之间的评分-相关度_User

import json
 import numpy as np
  
 # 计算欧式距离分数
 def euclidean_score(dataset, user1, user2):
     if user1 not in dataset:
         raise TypeError('User ' + user1 + ' not present in the dataset')    if user2 not in dataset:
         raise TypeError('User ' + user2 + ' not present in the dataset')    # 提取用户1和用户2的评论过的电影
     rated_by_both = {}     for item in dataset[user1]:
         if item in dataset[user2]:
             rated_by_both[item] = 1    # 如果没有评分,得分为0
     if len(rated_by_both) == 0:
         return 0    squared_differences = [] 
    for item in dataset[user1]:
         if item in dataset[user2]:
             squared_differences.append(np.square(dataset[user1][item] - dataset[user2][item]))
         
     return 1 / (1 + np.sqrt(np.sum(squared_differences))) 
 # 计算得分
 if __name__=='__main__':
     data_file = 'movie_ratings.json'    with open(data_file, 'r') as f:
         data = json.loads(f.read())    user1 = 'John Carson'
     user2 = 'Michelle Peterson'    print "\nEuclidean score:"
     print euclidean_score(data, user1, user2)

标签:knn,__,user2,user1,用户,dataset,240721,item,np
From: https://blog.51cto.com/u_15862653/11888528

相关文章

  • 240720 knn 最近邻
    K最邻近(KNN,K-NearestNeighbor) 结果:其中虚线就是拟合后的模型#-*-coding:utf-8-*-importnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportneighbors#加载数据amplitude=10num_points=100X=amplitude*np.random.rand(num_points,1)-0......
  • MongoDB 中国用户大会8月31日 (MongoDB 8.0 发布)
    1.会议时间地点「2024MongoDB中国用户大会」上海站线下活动(2024年8月31日09:00)正式开始,开放签到时间08:00-09:00。活动地址:上海凯宾斯基酒店3F舜华宴会厅(上海市浦东新区陆家嘴环路1288号)2.会议内容:MongoDB8.0闪亮登场:基于YC88和T888的基准测试OLTP,时......
  • 【机器学习】K近邻(K-Nearest Neighbors,简称KNN)的基本概念以及消极方法和积极方法的区
    引言K近邻(K-NearestNeighbors,简称KNN)算法是一种基础的机器学习方法,属于监督学习范畴文章目录引言一、K近邻(K-NearestNeighbors,简称KNN)1.1原理详述1.1.1距离度量1.1.2选择k值1.1.3投票机制1.2实现步骤1.3参数选择1.4应用场景1.5优缺点1.5.1优点1.5.2缺点......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • [js] 页面可见性API 监测用户切屏
    PageVisibilityAPI在做考试系统或者网课系统的时候,通常需要监测用户是否隐藏了当前标签页在看其它页面。PageVisibilityAPI提供了一个事件和两个状态来监测页面可见性,可以用它来判断用户是否切屏。visibilitychange这个事件会在页面可见性变化时触发。(隐藏时、打开时)//......
  • 【MySQL 14】用户管理
    文章目录......