Phase4.py 文件源码

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

项目:Collaborative-Filtering-recommendation 作者: LunaBlack 项目源码 文件源码
def newItemSim(data_matrix):
    n = np.shape(data_matrix)[1]  # ?itemNum
    itemSimArr = np.zeros(shape=(n, n))  # ???????????????,???
    itemCommon = np.zeros(shape=(n, n))  # ????????

    for i in range(n):
        for j in range(i+1, n):
            overLap = np.nonzero(np.logical_and(data_matrix[:, i]>0, data_matrix[:, j]>0))[0]
            if len(overLap) > 1:
                sim = computeSim(data_matrix[overLap, i], data_matrix[overLap, j])
            else:
                sim = 0
            itemSimArr[i][j] = sim
            itemSimArr[j][i] = sim
            itemCommon[i][j] = len(overLap)
            itemCommon[j][i] = len(overLap)

    coef = np.exp((itemCommon * 1.0 / itemCommon.max(axis=0)) - 1)
    newItemSim = coef * itemSimArr  # ????,????????????????
    newItemSim = np.nan_to_num(newItemSim)  # ????????,????
    return newItemSim, itemCommon


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


问题


面经


文章

微信
公众号

扫码关注公众号