我想知道KMeans在进行群集之前是否会自动规范化功能。似乎没有选择提供输入来要求规范化。
答案 0 :(得分:15)
区分数据预处理(规范化,分级,加权等)和机器学习算法应用程序。使用sklearn.preprocessing
进行数据预处理。此外,数据可以由不同的预处理器按链预处理。
对于K-means,通常仅仅对均值进行标准化是不够的。一个归一化数据均衡方差沿不同的特征,因为K均值对数据的方差敏感,而具有较大方差的特征更强调结果。因此,对于K-means,我建议使用StandardScaler
进行数据预处理。
不要忘记k-means结果对观察的顺序很敏感,值得多次运行算法,在两者之间对数据进行混洗,平均得到的集群并运行最终评估,将这些平均集群中心作为启动分。