通过识别记录中属性的连续出现来描述的问题的正式类别是什么?

数据挖掘 数据挖掘 顺序
2022-03-14 17:09:54

为乱码的标题道歉,我真的需要知道问题的答案才能正确表达它......

假设我有一个足球数据集(如果你愿意,可以是足球)比赛结果

让我们进一步假设每个结果具有以下属性

  • 日期
  • 场地
  • 团队
  • 对手
  • 主队进球
  • 客队进球
  • 结果

然后让我们考虑一个未来的比赛,我们知道一些属性但不是全部(显然,因为它还没有发生)

  • 日期 - W
  • 地点 - X
  • 团队 - Y
  • 对手 - Z

给定未来的比赛和结果集,我想生成一些与给定的未来比赛相关的“有趣”信息。“有趣”的部分可能仍然是手动步骤,因此自动化部分实际上是在查找所有序列,以便随后将它们挑选出来

例如:

  • Y队最近3场比赛全胜
  • Z队最近3场比赛均告负
  • Y 队在最近 2 场对阵 Z 队的比赛中获胜
  • Y 队在 X 场对阵 Z 队的最后 6 场比赛中获胜

这些例子是微不足道的,但我正在寻找的技巧是通过算法组成资格标准——即“Y 队”或“Y 队对抗 Z 队”

不要认为它与问题相关,但用于半自动化从所有序列集中选择“有趣”序列的过程的三个启发式将是:

  • 更喜欢之前完成次数最少的序列(因此 Y 队第一次连续赢了 3 场比赛,取代了 Y 队第三次连续赢了 3 场比赛)
  • 更喜欢相同长度的最一般序列(因此 Y 队连续赢了 3 场比赛取代了 Y 队对 Z 队连续赢了 3 场比赛)
  • 更喜欢更长的序列

我绝对确定这一定是常见算法和工具的常见问题类别,但是当我尝试用谷歌搜索它时,我没有得到任何有用的结果——我想是因为我使用了错误的术语——每当我寻找任何相关的东西时对于序列检测,我得到了与序列数据库相关的信息——这并不是我真正拥有的,我有一些更类似于项目集的事务数据库的东西

谁能给我一些指导:

  1. 此类问题的术语(以便我可以使用此信息来识别...)
  2. 用于解决它的常用算法
  3. 用于解决它的常用工具
1个回答

您描述的是特征工程,或者特别是手工制作特征。具体来说,序列检测确实是用于制作诸如“X 队输掉最后 5 场比赛”之类的特征的术语。如果您考虑一下,如果您按时间排序交易数据,您将获得顺序数据。

篮子和关联规则分析是研究这类问题的经典方法。现代深度学习领域会将您指向序列模型类,例如 RNN 和 LSTM。