Phase3.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:Collaborative-Filtering-recommendation 作者: LunaBlack 项目源码 文件源码
def newUserSim(dataSet):
    n = np.shape(dataSet)[0]  #?userNum
    userSimArr = np.zeros(shape=(n,n))  #???????????????,???
    userCommon = np.zeros(shape=(n,n))  #???????
    newUserSim = np.zeros(shape=(n,n))  #????????,????
    for i in range(n):
        for j in range(i+1, n):
            overLap = np.nonzero(np.logical_and(dataSet[i,:]>0, dataSet[j,:]>0))[0]
            if len(overLap) > 1:
                sim = pearsSim(dataSet[i,overLap], dataSet[j,overLap])
            else:
                sim = 0
            userSimArr[i][j] = sim
            userSimArr[j][i] = sim
            userCommon[i][j] = len(overLap)
            userCommon[j][i] = len(overLap)

    coef = np.exp((userCommon*1.0/userCommon.max(axis=0))-1)
    newUserSim = coef * userSimArr  #????,????????????????
    newUserSim = np.nan_to_num(newUserSim)
    return newUserSim, userCommon


#????????????
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号