【问题标题】:Does sklearn PCA fit_transform() center input variables?sklearn PCA fit_transform() 是否居中输入变量?
【发布时间】:2020-02-17 20:53:43
【问题描述】:

标题中的问题。拨打pca.fit(X) 后,假设我拨打了pca.fit_transform(new_X)new_X 是否被 PCA 自动居中?文档在这一点上不清楚。

【问题讨论】:

    标签: python scikit-learn pca


    【解决方案1】:

    来自文档:

    使用奇异值分解的线性降维 将数据投影到低维空间。输入数据是 在应用 SVD 之前,居中但未针对每个特征进行缩放。

    https://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

    fit_transform 相当于在同一个输入矩阵上连续运行fittransformfit 函数计算使数据居中的均值,transform 函数使用在fit 期间计算的均值应用均值居中。

    因此,要适应一个矩阵,并将从该矩阵学习的居中参数应用到另一个矩阵(例如,将在训练集上学习的模型应用到测试/验证集时),您需要使用 @分别为 987654329@ 和 transform

    【讨论】:

    • 这不能回答我的问题。这是否意味着fit_transform 以输入矩阵为中心,或者只是fit
    • 谢谢!这解决了我处理了一天的一些奇怪行为!
    • @RylanSchaeffer,是的,sklearn 中的这个函数以输入矩阵为中心。另请查看此链接:stats.stackexchange.com/a/235931/134555
    猜你喜欢
    • 2018-09-10
    • 2016-08-25
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 2021-03-24
    • 2018-09-11
    • 1970-01-01
    相关资源
    最近更新 更多