如何处理 K-means 聚类的随机数据缺失?

数据挖掘 机器学习 k-均值 缺失数据
2022-02-25 04:36:13

我在客户数据集上运行 k-means 聚类。可用的人口统计字段之一是推断的房屋价值,表示为整数。当推断出客户根本不是房主(他们更有可能是租房者、与亲戚住在一起等)时,该字段的值为 0。我正在努力想一个好方法来处理这个值。

将此值保持为 0 有意义吗?然后我的理解是,算法会将其解释为不拥有财产的人与拥有极低价值财产的人密切相关,这在直觉上似乎不正确。

有没有更好的方法来处理这个问题?

2个回答

我认为您可以采取两种方法:

1)平方'homevalue'

假设这homevalue是一个numeric你可以平方这个值。

然后,您将增加两者之间的差异0- 价值房屋和低价值房屋。此外,这将使高价值房屋与低价值房屋之间的差异也更大。

2)分成两个特征

您还可以将此信息拆分为两个不同的功能:

  • 房屋价值v, 在哪里vR+
  • 拥有一个家h, 在哪里h{true,false}h=false,ifvequals0true, otherwise

这样,您的模型就可以明确区分拥有或不拥有房屋的人。

然后希望你有另一个特征来表明一个没有家的人的生活方式或收入。

当您遇到非随机丢失的情况时,最好的办法是创建一个新功能。你可以添加一个新的特征,如果这个人没有房子,它的值为 0,如果他有房子,它的值为 1。

此外,K-means 通常不用于聚类。您可以选择其他算法,例如 Hierarchical 或 DBScan。