如何将特征的重要性系数放在kmean之前



假设我有给定的数据帧

feature_1  feature_2  feature_3  feature_4  feature_5  feature_6  feature_7  feature_8
0   0.862874   0.392938   0.669744   0.939903   0.382574   0.780595   0.049201   0.627703
1   0.942322   0.676181   0.223476   0.102698   0.620883   0.834038   0.966355   0.554645
2   0.940375   0.310532   0.975096   0.600778   0.893220   0.282508   0.837575   0.112575
3   0.868902   0.818175   0.102860   0.936395   0.406088   0.619990   0.913905   0.597607
4   0.143344   0.207751   0.835707   0.414900   0.360534   0.525631   0.228751   0.294437
5   0.339856   0.501197   0.671033   0.302202   0.406512   0.997044   0.080621   0.068071
6   0.521056   0.343654   0.812553   0.393159   0.217987   0.247602   0.671783   0.254299
7   0.594744   0.180041   0.884603   0.578050   0.441461   0.176732   0.569595   0.391923
8   0.402864   0.062175   0.565858   0.349415   0.106725   0.323310   0.153594   0.277930
9   0.480539   0.540283   0.248376   0.252237   0.229181   0.092273   0.546501   0.201396

我想在这些行中找到集群。为此,我想使用Kmeans。然而,我希望通过比数据帧中的其他功能更重视[feature_1feature_2]来找到集群。比方说,对于[feature_1feature_2],重要性系数0.5,对于其余特征,重要性系数0.5

我考虑过使用主成分分析将[feature_3,…,feature_8]转换为一列。通过这样做,我认为Kmeans对单个特征的重视程度将低于对6个分离特征的重视。

这是个好主意吗?你能找到更好的方法将这些信息提供给算法吗?

Kmeans所做的是试图找到质心,并将点分配给与质心欧氏距离最小的质心。在机器学习中,当最小化欧氏距离或将其用作损失函数时,通常应该确保不同的特征具有相同的尺度。否则,较大的特征将主导寻找最接近的点。这就是为什么我们通常在训练模型之前进行一些缩放。

然而,在你的情况下,你可以利用这一点,首先使用一些minmax或standarscaler将所有功能放在同一比例上,然后将前2个功能放大一个因子>1或将其余6个特征缩小因子<1.

相关内容

  • 没有找到相关文章

最新更新