我没有使用过sklearn,但我会尽我所能回答这个问题。
假设你有一个n × f矩阵(数据),现在简化为n × d(减少数据)。假设第一个缩减的数据点被映射到某个集群,这不对应于缩减矩阵中的第一个数据点被分类到同一个集群吗?(每一行表示一个数据点)基本上,排序不会改变。
或者,如果您想更数学地看待它,假设W= ( w 1 , w 2 ... w d) 形成要将特征向量映射到的子空间的基向量(数据协方差矩阵的第一个 d 特征向量)。
现在每个数据点都可以表示为这些基向量的线性组合:
x = α 1 w 1 + α 2 w 2 。. . + α dwd _
这里的向量 α = ( α 1 , α 2... , α d) 是您的数据点在 d 维度中的表示,即在子空间中,您的原始数据点是:
x =W吨α
我不太清楚您在第 2 部分中要问什么)。您可以根据愿意容忍的错误量来选择要保留在 PCA 中的组件数量。假设您希望减少的数据点对应于 95% 的方差,则选择前 d 个特征向量,使其特征值对应于上述方差百分比。
∑我= 1dλ一世∑我= 1nλ一世× 100 = 95 %
希望有帮助!