聚类分析作为关联模型?

数据挖掘 分类 聚类 统计数据 缺失数据
2022-02-28 09:09:08

我有一组包含许多样本和许多特征的数据,但是其中一半的数据缺少一个变量(称为 A),它由四个类别组成。根据有 A 的一半数据,我想知道没有 A 的样本如果确实有 A,最有可能属于哪个类别。

我可以基于带有 A 的数据构建分类器,并预测没有 A 的数据(恕我直言,这是最好的路线)。

但出于好奇,我想知道这种方法是否也可以是一种非常、非常、非常粗略的方法来做类似的事情:

  1. 将具有 A 的数据聚类到与 A 中的类别相同数量的聚类中(在本例中为四个)。

  2. 检查集群和 A 中的类别之间的关联(使用频率表和卡方检验)。

  3. 如果存在关联,则通过聚类模型运行没有 A 的数据,以找出它最可能与哪个类别的 A 关联(基于它所在的集群)。

想法?

3个回答

我认为您正在努力解决的问题本质上是这样的:有没有一种方法可以使用可能存在于没有 A 的数据中的信息作为预测 A 策略的一部分?实际上,这组方法有一个名称:半监督学习

虽然有多种技术,但类似于您在问题中建议的方法将类似于以下内容。在这里,我指的是一组数据,其中 A 为标记,其余为未标记。

  1. 将无监督学习技术(例如聚类)应用于完整数据集(标记和未标记)。

  2. 根据您的无监督学习技术的结果转换标记数据。

  3. 对标记数据的转换集(可能与原始集结合)应用监督学习技术。

通常,您还需要应用交叉验证策略来检测过度拟合。

我试图远离赏金问题,因为它们似乎会导致一种高人一等,但我无法抗拒这个问题,因为它是一个有趣的问题......

您描述的上层分类方法听起来很准确。用那个!

底部方法有很多问题:

你怎么知道你得到的集群对应于 A 的类别?答案是你不会。还有其他数据特征,集群将是各种变量之间最大分离的线性叠加。

我想您可以标准化您的数据,然后通过将 A 特征乘以大于 1(~2-10)的因子来哄骗集群以符合沿 A 的分离,但这似乎更像是集群的混蛋而不是好的过程。

我在您的方法中看到的主要问题是您本质上是在使用半监督学习方法,但您不需要这样做,因为您有数据可以将其作为监督学习问题来解决。如果您只有少数标记的 A 值,这将是一个很好的方法,但是由于您有更多数据,您应该利用您拥有的数据的力量。监督学习问题将充分利用数据的方差,其中大部分将在半监督学习方法中被丢弃。

希望这会有所帮助,祝你好运!

高维聚类技术往往不稳定/不准确。因此,如果您能够根据其他列准确地对一列进行分类,那么您非常适合采用降维技术,例如非负矩阵分解。这样,您可以简单地从所有数据中删除该列(因为其他列包含相同的信息),然后在减少的空间上进行聚类。