谁能告诉建议使用混合特征(分类和连续)对数据进行聚类的最佳实践。我正在努力解决一个问题;我意识到对于所有度量算法,都需要在聚类之前扩展连续数据,所以我使用了sklearn.preprocessing.StandardScaler(). 使用我的分类特征,我使用了 onehotencoder 转换,但不清楚是否有必要将这些 onehotencoded 向量的组件也缩放到整个数据集,或者只是让它们保持原样?
用于聚类的分类特征预处理
数据挖掘
聚类
预处理
分类数据
特征缩放
特征构造
2022-03-10 20:06:20
2个回答
使用 Gower 距离进行聚类。您可以在本文和本文中找到有关此措施的不同文章。
高尔距离是一种距离度量,可用于计算两个实体之间的距离,其属性具有分类值和数值的混合值。
高尔距离被计算为个体之间部分差异的平均值。每个部分相异性(以及 Gower 距离)的范围在 [0 1] 中。
部分差异 () 计算取决于被评估变量的类型。这意味着将对每个特征应用特定的标准化,并且两个人之间的距离是所有特征特定距离的平均值。
对于数值特征, 部分相异度是 1) 观测值的绝对差异之间的比率和2) 从所有个体观察到的最大范围:,是数据集中的个体数量。
数值特征的部分相异计算(= 观察到的最大范围)对于定性特征仅当观察值时,部分相异度才等于 1和有不同的价值。否则为零。
最佳做法是首先了解您的问题。
所有标准化、单热编码等只是将非连续数据压缩到列类型中的技巧,如果您不仔细查看数据,这些列类型可以作为连续传递。
是的,在某些时候你可以运行 k-means。但是你还会知道它的作用吗?它解决了正确的任务吗?所有的编码和缩放都有什么偏差?由于维度、离散性、编码伪影、偏差,结果不会变得完全无用...... - 你最初的真正意图是什么 - 我猜你不想要随机分区......
其它你可能感兴趣的问题