예제 #1
0
def getPopularItem(N=10, beta=1):
    '''返回在所有顾客中最热门的商品'''
    prefs = DBhandler.all_customer_orders()
    #计算相似用户的商品的:流行度(基于时间的流行度)
    popular_item = popularItem(prefs, T0=getCurrentDay(), N=N, beta=beta)
    items = [item for item, popularity in popular_item]

    return getCommodityAttributes(items, {})
예제 #2
0
def trainTimeBasedItemCF(alpha=1, sim_counts=0.8):
    '''训练基于时间的ItemCF模型:主要是得到物品的相似度表,然后更新到数据库中'''

    #计算物品的相似度
    ##得到用户和物品的数据:{用户:{物品:日期}}
    prefs = DBhandler.all_customer_orders()
    ##计算相似度
    similarity = TimeBasedItemSimilarity(prefs,
                                         alpha=alpha,
                                         sim_counts=sim_counts)

    #将物品的相似度更新到数据库中
    DBhandler.update_item_similarity(similarity)