【问题标题】:Detect common features in multidimensional data检测多维数据中的共同特征
【发布时间】:2016-08-31 08:44:41
【问题描述】:

我正在设计一个异常检测系统

构建此类系统有多种方法。我选择通过检测大多数样本共享的特征来实现这种系统的一个方面。我承认这种方法可能存在不足,但对于我的特定用例:(1)知道一个新样本包含(或缺少)大多数过去数据共享的特征就足以做出快速决定。(2)我'我对这种方法将为数据提供的见解感兴趣。

那么,问题来了:

考虑一个包含 M 个数据点的大型数据集,其中每个数据点可能包含任意数量的 {key:value} 特征。我选择通过对数据中观察到的所有特征(所有唯一键的集合)进行分组并将其设置为模型的特征空间来对训练数据集进行建模。我通过为现有键设置其值来定义每个样本,并为它不包含的功能中的值设置 None

鉴于这个训练数据集,我想确定哪些特征在数据中再次出现;对于此类重复出现的特征,它们是否大多共享一个值。

我的问题:

一个简单的解决方案是计算所有内容 - 为每个 N 个特征计算值的分布。然而,由于 MN 可能很大,我想知道是否有更紧凑的方法来表示数据或更复杂的方法来声明特征的频率。 p>

我是在重新发明现有的轮子吗?如果有在线方法来完成这样的任务,那就更好了。

【问题讨论】:

    标签: machine-learning anomaly-detection bigdata


    【解决方案1】:

    如果我理解正确你的问题, 无论如何,您都需要检查所有数据,那么为什么不使用散列呢? 实际上是两个哈希表:

    1. 用于特征值分布的内部哈希表。
    2. 特征存在的外部哈希表。

    通过这种方式,内部哈希表的大小将表明您的数据中该特征的共同点,而实际值将表明它们之间的差异。另一件需要注意的事情是您只检查一次数据,并且哈希表上的每个操作(几乎)的时间复杂度(如果您从一开始就分配了足够的空间)是O(1)

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-28
      • 1970-01-01
      • 1970-01-01
      • 2017-10-27
      • 1970-01-01
      • 2016-02-25
      • 2018-07-23
      相关资源
      最近更新 更多