1、m students, n courses, 如果两个学生有重复课程就表示similar,重复的越多越similar,问如何根据similar进行排序
A:建hashtable,key是学生名字,value是他选的课,选的课可以存为二进制数(如{“xx”:010010})。然后两个学生的similarity就是其value的余弦相似性(Cosine similarity)。
def Cosine_Similarity(A,B):
numerator, denominator1, denominator2 = 0, 0, 0
for item in range(len(A)):
numerator += A[item] * B[item]
denominator1 += A[item] ** 2
denominator2 += B[item] ** 2
similarity = numerator / ((denominator1**0.5) * (denominator2**0.5))
return (similarity)
学生相似度计算方法
本文介绍了一种基于课程选择情况来衡量学生间相似度的方法。通过构建哈希表存储每位学生选择的课程,并将课程信息编码为二进制形式,进而使用余弦相似度计算任意两位学生间的相似程度。
5610

被折叠的 条评论
为什么被折叠?



