每个数据科学家都应该掌握的分析模式

了解可在大多数业务分析任务中使用的分析模式。

来源:KDnuggets

简介

数据分析问题并不是独一无二的。然而,用尼尔·杨的话来说,“尽管你的问题并不独特,但这并不能让它们消失”。什么会让他们离开?意识到,在表面之下,它们中的大多数都依赖于少数可重用的模式。

我将向您展示这些模式,以便您可以在工作或面试中重复使用它们,无论数据或行业如何。数据始终就是数据。所有模式都将基于 StrataScratch 上的编码面试问题存储在 PostgreSQL 中。然后我会将它们与真实的业务场景联系起来。

1. 连接 + 过滤:找到正确的子集

问题:亚马逊的电影时长匹配

任务:开发一项功能,从亚马逊内容数据库中推荐适合给定航班持续时间的单部电影。

对于航班 101,查找运行时间小于或等于航班持续时间的电影。输出应列出该航班的建议电影,包括 Flight_id、movie_id 和 movie_duration。

解决方案:

选择 fs.flight_id,

ec.movie_id,

ec.duration AS movie_duration

FROM 航班时刻表 fs

  • JOIN Entertainment_catalog ec ON ec.duration <= fs.flight_duration
  • 其中 fs.flight_id = 101
  • 按 ec.duration 订购;
  • 输出:

  • 模式:连接 + 过滤器是连接两个数据集并根据条件过滤行(聚合前的 WHERE 或聚合后的 HAVING)的模式。
  • 这是序列。
  • 识别主表:定义您正在分析的数据集 (flight_schedule)
  • 连接补充数据:添加上下文或属性的数据集 (entertainment_catalog)

    应用过滤器:删除不需要的行 (WHERE fs.flight_id = 101)

    商业用途HR:将员工的工作时间加入其中以确定加班情况零售:将订单与产品详细信息结合起来,分析产品类别表现流媒体:加入用户的会话以查找活跃观众2. 窗口函数:排名和排序问题:Meta 中每个频道的热门帖子总结