基于地域和热度的推荐算法
创建一个基于地域和热度的酒店推荐系统
主要实现酒店推荐,根据用户所在的地区和所选择的排序方式返回相应的前k个酒 店数据。
现有部分参考数据如下图所示:
1.数据集都取所在地址是北京的, 包含朝阳区、 丰台区、 东城区、 西城区、 海淀区、 顺义 区、 石景山区、 延庆区、 房山区、 通州区。
2.支持排序的字段有:评论数目、装修时间、开业时间、评分、最低价格,以及综合排序。
3.程序中通过type字段进行赋值。
4.排序方式分为升序和降序。
“综合排序”的实现思路:
(1)对“装修时间” 和 “开业时间” 做了差值处理。这里认为装修时间越久, 对最终的排 序越起到负向作用, 所以, 使用装修时间减去 2021 得到一个负值。 同理, 认为开业时间越久对 最终的排序越起到正向作用, 所以使用 2021 减去开业时间得到一个正值。
(2)对参与计算的各个字段做归一化处理, 采用的是 min-max 归一化。
(3)得到最终的 “ 综合排序” 的计算公式为:
Score= 1× 评分+2×评论数目+ 3× 装修时间+ 4× 开业时间+ 5× 最低价格
实现代码:
import pandas as pd
#创建RecBasedAH类
class RecBasedAH:
def __init__(self,path=None,ad