首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从UserId中实时检索用户特征以进行预测

从UserId中实时检索用户特征以进行预测
EN

Data Science用户
提问于 2018-02-19 16:25:18
回答 3查看 243关注 0票数 1

假设我正在构建一个像Uber这样的应用程序,我想根据用户的过去历史、当前的经度和时间/日期来预测用户最可能的目的地。

这是提议的建筑-

假设我有一个预先训练过的模型作为一项服务。我挣扎的部分是,如何从RiderID实时获取数据库中的用户特性,以供预测服务(XGBoost模型)使用?考虑到我有1M+用户和乘车,我猜在SQL数据库中查找将花费太长时间。

提前感谢!

EN

回答 3

Data Science用户

发布于 2018-06-01 20:53:32

我认为,考虑到对模型进行足够的推广所付出的努力,您模型的返回很可能是不值得的。

  1. 您可能有数以百万计的用户,但是每个用户所需要的可能都是独一无二的,无法进行泛化。也就是说,每个人的通勤方式都是不同的,所以你从其他用户那里学到的东西可能不适用于其他用户。(除非在交通高峰期,大多数人都去了核心商业区。你不需要模特。)
  2. 经过训练的模型可能会比记录用户使用历史略好一些。为了你所能得到的,训练和处理这些数据可能是不值得的。
  3. 对于大多数用户来说,最近的位置可能足够好,并且非常容易实现。您的模型可能会有一个困难的时间来预测奇怪的不寻常旅行无论如何。

最好是存储用户当前位置并查询最可能的目的地。或者简单地看一下那个地方所有流行的旅游目的地。具有适当索引的数据库应该能够处理这一问题。

票数 0
EN

Data Science用户

发布于 2019-08-31 11:21:44

听起来你在寻找一个快速且水平可伸缩的数据库。我建议您使用列族数据库而不是关系数据库来存储此类数据。我们在类似的用例中使用Google BigTable (BT)。在一个带有SSD磁盘的3节点BT集群上,我们有超过300米的记录,这些记录由键以6ms @99百分位数的速度获取,每秒加载1000个请求。如果负载增加,则只需在运行到群集时添加节点或删除节点即可。像卡桑德拉这样的开源替代物在我们的经验中甚至更快。在您的情况下,该数据库密钥将是RiderID。

票数 0
EN

Data Science用户

发布于 2021-07-27 10:08:01

RiderID可以散列,因此是固定时间的查找.

这些特性可以脱机处理,并作为每个RiderID的属性存储。

大多数关系数据库管理系统(RDBMS)应该足够快。如果RDBMS太慢,那么尝试像Redis这样的键值存储。

票数 0
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/28000

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文