我想知道如何使用K-means聚类多元数据集。此数据集中的每个样本都对应一个人(我有6000人),并且每个人都具有连续和离散的属性(10个属性/人)。一个例子:
- person_id:1234
- 名称:“约翰·多伊”
- 年龄:30
- 高度:“ 5英尺10英寸”
- 薪水值:5000
- 工资货币:美元
- is_customer:错误
- 公司:“ Testing Inc。”
- ...
我已经阅读了multidimensional k-means clustering上的现有答案,但是数据集中的属性都是连续的。关于连续clustering algorithm和连续变量的帖子甚至更有用。就像在后面提到的那样,我承认我可能必须找到一个重视离散状态的函数。但是我不能使用ROCK或COBWEB进行聚类,只能使用k均值。
我可以使用哪些功能将离散值转换为连续值?此外,还有什么方法可以优先考虑属性(例如,基于薪资/年龄的聚类比身高更重要),还是我应该改变整个方法?
答案 0 :(得分:0)
K均值算法对具有连续特征的数据点执行聚类。
将离散特征转换为连续特征的方法是一种热编码,它将公司名称等分类特征转换为数值数组。您可以查看文档here。
您还需要规范化每个功能,以使它们处于从0到1的相同范围内。要重视某些功能,请将重要功能的范围保持较高。
答案 1 :(得分:0)
K均值基于三个重要假设:
k均值中的这些假设意味着您应该仅在区间标度变量上使用它(1),不偏斜(2)和 >具有可比较的价值域(不要混合使用不同的单位/尺度;例如薪水,年龄和身高)(3)。
一种热门的类别编码不会不使它们间隔缩放。如果仅将数据转换为IR ^ p向量空间,则将获得“某些输出”,但从任何客观角度来看,这都不是“好”。您回答错误的问题,因为您一开始就不费心提出问题。
如果幸运的话,只有一个属性(在您的情况下可能是薪水)支配结果,而其他所有属性都不会影响结果...