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, {})
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)