R 的 prcomp() 和 Python 的 PCA() 的区

2025-01-25  本文已影响0人  心惊梦醒

1. 数据标准化

prcomp(x, retx = TRUE, center = TRUE, scale. = FALSE,
       tol = NULL, rank. = NULL, ...)
class sklearn.decomposition.PCA(n_components=None, *, copy=True, whiten=False, svd_solver='auto', tol=0.0, iterated_power='auto', n_oversamples=10, power_iteration_normalizer='auto', random_state=None)

# example
from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
data_scaled = StandardScaler.fit_transform(data)
pca_result = pca.fit_transform(data_scaled)

2. 输出结果

两种方法的结果比较
这两种方法生成的降维矩阵有略微的差别,主要是因为 R 在对数据进行标准化时用的是无偏的样本标准差,StandardScaler() 用的是有偏的总体标准差,相当于 numpy.std(x, ddof=0),但 ddof 的选择不太可能影响模型性能。

来自官网的说明

代码参考

上一篇 下一篇

猜你喜欢

热点阅读