如何将用户审计数据转化为行为集群?

数据挖掘 聚类
2022-02-21 10:44:11

我的系统上有用户活动日志。这是一个CMS系统。

日志包括:

  • 用户身份
  • 执行的操作(110 种可能的操作之一 - 诸如页面编辑、页面读取、登录等)
  • 已执行站点操作(与所有可能的操作无关)
  • 对(文档名称或文档 ID - 与所有可能的操作不相关)执行了对象操作
  • 执行操作的日期和时间

我想使用这些数据将用户分组到具有相似行为的组中,这样我就可以调查这些组以找出他们是谁,然后通过培训干预、新闻通讯等来定位他们。

我需要帮助将上面的事物列表转换为集群。

我可以使用哪些技术从上述数据生成矩阵,然后将其输入 K-Means 聚类算法?

我尝试按用户计算操作并使用它来提供集群算法,但结果没有用。我还尝试将站点和文档 ID 视为文本,对其进行特征散列并将其输入到 K-Means 集群模型中,也得到了无用的数据。

1个回答

缩放

标准化您的数据(xmean(x))/std(x)

默认情况下,大多数 K-mean 实现使用欧几里德距离,它假设所有特征的重要性相同。这需要适当的缩放以防止一个动作支配其他动作。

维度

K-mean 对维数诅咒并不稳健(见这篇文章)。因此,在将其提供给算法之前降低维度总是很好的。

先做一些特征工程。例如,登录和页面加载可以组合在一起作为被动参与的度量,页面编辑和创建的页面可以被视为单个激活参与功能。

此外,您可以尝试使用一些标准的降维算法,如PCA