首页 > 解决方案 > 使用 PCA 和 K-MEANS 选择相关特征

问题描述

我试图了解PCAK-Means算法,以便从一组特征中提取一些相关特征。

我不知道计算机科学的哪个分支研究这些主题,在互联网上似乎没有很好的资源,只是一些我不太了解的论文。论文示例http://www.ifp.illinois.edu/~qitian/e_paper/icip02/icip02.pdf

我有如下组成的人行道的 csv 文件:

我做了什么

为了做到最后一点,我必须减少使用PCA行走的特征集的维度(PCA将使数据与原始数据不同,因为它使用原始协方差矩阵的特征向量和特征值修改数据数据)。这里我有第一个问题:

在我减少了这些数据之后,我应该对减少的“特征”数据使用K-Means算法。输入在 K-Means 中的外观应该如何?使用这种算法的目的是什么?我所知道的这个算法是用来“聚类”一些数据的,所以在每个聚类中都有一些基于某些规则的“点”。我所做的和想的是:

我知道我所说的可能不正确,但我正在努力理解它,你们中的一些人可以帮助我吗?如果我是在正确的方式?谢谢!

标签: algorithmk-meanspca

解决方案


对于PCA,请确保将算法使用的方法(特征向量等)和结果的理解分开。结果是一个线性映射,将原始空间映射AA',在可能的情况下,维度(在您的情况下为特征数)小于原始空间A

所以空间中的第一个特征/元素A'是 的特征的线性组合A

行/列取决于实现,但如果您使用scikit PCA,则列是特征。

您可以将PCA输出(A'空间)提供给K-means,它会根据通常降维的空间对它们进行聚类。

每个点都将是一个集群的一部分,其想法是,如果您在 上计算 K-Means A,您最终可能会得到与 相同/相似的集群A'。计算A'上要便宜很多。您现在有一个聚类,在A'和上A。正如我们同意在 中相似的点在A'中也相似A

集群的数量很难回答,如果你什么都不知道,请搜索肘部方法。但是说你想感受things一下你拥有的不同类型,我建议去3~8而不是太多,比较离每个中心最近的2-3个点,你就有了消耗品。特征的数量可以大于集群的数量。例如,如果我们想知道某个区域(2D)中最密集的区域,您可以轻松拥有 50 个集群,以了解 50 个城市可能在哪里。这里我们有比空间维度更高的集群方式,这是有道理的。


推荐阅读