代码之家  ›  专栏  ›  技术社区  ›  Anakin Skywalker

协同过滤中基于item1和item2共同推荐item3

  •  0
  • Anakin Skywalker  · 技术社区  · 4 年前

    我试图向同时使用item1和item2的用户推荐item3。

    # Import libraries
    import numpy as np
    import numpy.ma as ma
    import pandas as pd
    from scipy import spatial
    from scipy.spatial.distance import cosine
    
    # Create a function
    def similarity(item1, item2):
        similarity = 1 - cosine(item1, item2)
        return similarity
    

    它看起来像:

    similar_item = pd.DataFrame(0, index = df.columns[1:], columns = ['item1'])
    for item in df.columns[1:]:
        similar_item.loc[item, 'item1'] = similarity(df[item], df['item1'])
    

    然后我打印

    similar_item['item1']
    

    这给了我必要的输出。我对第二项等重复了一遍,但我不知道如何结合第二项,并根据第1项和第2项的偏好推荐第三项。

    谢谢你的建议!

    0 回复  |  直到 4 年前