Sklearn k-means 聚类加权,确定每个特征的最佳样本权重?

问题描述

sklearn 中的 K-means 聚类,簇的数量是预先知道的(它是 2)。 有多种特点。特征值最初没有分配任何权重,即它们被同等对待。然而,任务是为每个特征分配自定义权重,以获得最佳的聚类分离。 如何确定每个特征的最佳样本权重 (sample_weight),以便获得两个聚类的最佳分离? 如果这对于 k-means 或 sklearn 是不可能的,我对任何替代聚类解决方案感兴趣,关键是我需要自动确定多变量特征的适当权重的方法,以最大限度地分离聚类。

解决方法

同时,我实现了以下内容:分别按每个组件进行聚类,然后分别计算每个组件(特征)的轮廓分数、calinski harabasz 分数、dunn 分数和 inverse davies bouldin 分数。然后将这些分数缩放到相同的量级,然后将它们 PCA 到 1 个特征。这为每个组件产生了权重。这种方法似乎产生了合理的结果。我想更好的方法是全因子实验 (DOE),但这种简单的方法似乎也能产生令人满意的结果。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...