聚类时如何处理每个特征中为零的行?

数据挖掘 机器学习 数据挖掘 聚类 无监督学习 k-均值
2022-02-16 05:49:30

我正在研究一个具有 13000 个观察值和 15 个特征的聚类问题。数据集中大约 3000 个观测 值在每个特征中都为零(即 3000 行中的所有值都为零)。我正在尝试在它之上进行聚类。有什么更好的方法来处理它?我的想法很少,但想弄清楚:

  1. 检查全为零的行数并删除它们?
  2. 在每个特征中包含值的行并让聚类算法处理相同?

另外,请建议是否有更好的方法来处理相同的问题。

注意:我使用的是 k-means 聚类。

2个回答

这是数据质量的问题,因此取决于数据集的构建方式:

  • 要么这些实例是有意义的,即一个观测值对于所有特征都为零并且它会经常发生是有意义的。
  • 或者这些是错误的结果,通常是这些观察完全没有测量。

自然地,人们希望将实例保留在前一种情况下的数据中,但(通常)不保留在后一种情况下,因为这些值并不代表实际的数据点,因此它们会给聚类算法带来巨大的偏差。

  1. 如果您认为全零是特征测量错误的结果(即观察结果不应全为 0,但它们是),那么我会说:保留所有数据,但k(从k-means)增加 1 . 这个额外的有希望成为所有这些错误观察的类别。

  2. 如果您期望所有零都是正确的(即这些观察结果确实都是零),请保留它们并照常进行。

注意:如果您继续使用具有所有这些额外观察值的 K-Means 应该没问题。但是,如果您切换到另一种考虑密度的算法(例如均值偏移),那么拥有所有这些额外的观察结果可能会以您意想不到的方式影响您的模型。例如,观察结果[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0.1]可能最终远离全 0 集群。