Ranking

Ranking

使用 Pandas 处理,排序依据半衰期和分数。

半衰期的计算:

def date_to_halfscore(cur_date, end_date, halflife):
    return pow(2., -1. * ((end_date - cur_date).days) / halflife)

Get seed users

准备数据:

  • user_type: user_id,type
  • prototype: type_id,factors
  • user_factors: user_id,factors

对每个用户,先查询用户的 type,然后用 cosine 计算 user factors 和 type factors 的距离。group by type & sort 后,就得到了每种类型的种子用户。

# TODO 怎么选取 factors

Session

间隔在30分钟内,UA, UID 相同的访问认为在同一个 session 内

Session 的内容:

  • uid
  • ua
  • start_time
  • landing_page
  • referer
  • source
  • visit_entries