【问题标题】:KMeans dealing with categorical variableKMeans 处理分类变量
【发布时间】:2019-02-16 00:35:56
【问题描述】:

我正在为大型数据文件上的 Kmeans 聚类算法编写一个 mapreduce 程序。每个观察都由包含分类变量和数值变量的列组成。对于 Kmeans,不适合在距离计算中包含分类变量。所以我们需要过滤掉带有分类条目的列。

我的问题是:过滤掉带有字符的条目很容易,但是如果一列只包含数字但被视为分类(例如邮政编码、ID)怎么办?

谢谢!

【问题讨论】:

    标签: hadoop mapreduce k-means


    【解决方案1】:

    删除所有分类变量可能不是要走的路。您是否尝试将数据集转换为数值数据集?有不同的方法,但例如:

    给定一个包含(比如说)3 个类别(黑色、白色和蓝色)的分类变量 a(比如说颜色),您可以将数据集中的 a 替换为三个新的二进制变量(a_1、a_2、a_3)。 对于给定的对象,这些新的二进制变量中只有一个应该等于 1,所有其他的应该为零。 所以,如果一个对象有 a=black,那么 a_1=1, a_2=0, a_3=0。

    您仍然需要标准化这些新变量。有不同的方法...您可以尝试 a_1=a_1-mean(a_1) (频率)。

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 2018-01-22
      • 2020-06-11
      • 2018-08-22
      • 2020-09-06
      • 2018-12-15
      • 2013-06-07
      • 1970-01-01
      • 2015-01-18
      相关资源
      最近更新 更多