【发布时间】:2021-03-15 04:44:06
【问题描述】:
背景: 我正在研究一个无人监督的用例。 我拥有的数据集具有以下字段:TimeStamp、UserName 和 eventName 例如。用户 A 在时间戳 C 完成了事件 B
我的目标是执行异常检测任务。 即如果 UserA 执行了一个新事件 C,判断这是否异常。
我的假设是,如果我可以学习事件的嵌入,这可以让我很好地比较新事件 C 与用户 A 之前执行的事件的相似性,从而判断这是否是异常情况。
现在,对于大多数用户来说,eventName 是一个分类的长尾特征(即很少有事件会大量完成,而用户执行的大多数事件很少发生)。不同事件名称的数量在 300-400 范围内,平均而言,用户每天可能只执行这 300-400 个事件中的 10 个。
问题: 我无法思考如何去学习样本空间中事件的嵌入。
我将非常感谢任何有关如何建模此问题的指导。
如果我错过提供任何可能有帮助的信息,请告诉我。
【问题讨论】:
-
如果分组或序列很重要,您可以构建 N-gram。
-
您可能希望将非常常见的事件与罕见事件分开建模。尤其是如果常见动作掩盖了罕见动作的顺序
-
为了给稀有事件更多的权重,可以考虑自然语言处理中的TF-IDF之类的东西
标签: python machine-learning word-embedding unsupervised-learning anomaly-detection