特征集聚:是在测试交互吗?

数据挖掘 Python scikit-学习 聚类 特征提取
2021-09-30 14:18:07

我一直在研究 Python 的 scikit-learn 中的特征聚集。根据用户指南,特征聚集“应用层次聚类将行为相似的特征组合在一起”。这是否意味着它正在测试功能之间的交互以及确实相互作用的组功能?在这种情况下,“行为相似”是什么意思?

1个回答

文档中:

类似于 AgglomerativeClustering,但递归地合并特征而不是样本。

在标准凝聚聚类中,您会收到一个矩阵Mn×m代表n尺寸样本m你想要集群。在特征聚集中,算法对矩阵的转置进行聚类,即MT所以它聚集m尺寸样本n,这些样本代表特征。

用于对特征(转置矩阵中的样本)进行聚类的默认距离是欧几里得距离,但您也可以使用 l1、余弦等。

例如,假设您有 3 个维度为 3 的样本(矩阵 3x3 矩阵)::

----------------------------------
| feature1 | feature2 | feature3 |
----------------------------------
|     1    |   1.05   |    10    |
----------------------------------
|     1    |   1.05   |    10    |
----------------------------------
|     2    |   2.05   |    20    |
----------------------------------

如果要将数据集的维度减少到 2 维,算法将特征 1 和特征 2 聚集在一起,并保持特征 3 不变,新矩阵为:

----------------------------------
| feature1 - feature2 | feature3 |
----------------------------------
|         1.025       |    10    |
----------------------------------
|         1.025       |    10    |
----------------------------------
|         2.025       |    20    |
----------------------------------

生成的特征由池化函数确定,在上面的情况下,它计算算术平均值。有关更深入的使用示例,请参阅此内容。