python机器学习库sklearn——降维

全栈工程师开发手册 (作者:栾鹏)

python数据挖掘系列教程

PCA主成分分析

准确的PCA和概率解释:

PCA 用于对一组连续正交分量中的多变量数据集进行方差最大方向的分解。 在 scikit-learn 中, PCA 被实现为一个变换对象, 通过 fit 方法可以降维成 n 个成分, 并且可以将新的数据投影(project, 亦可理解为分解)到这些成分中。

可选参数 whiten=True 使得可以将数据投影到奇异(singular)空间上,同时将每个成分缩放到单位方差。 如果下游模型对信号的各向同性作出强烈的假设,这通常是有用的,例如,使用RBF内核的 SVM 算法和 K-Means 聚类算法。

增量PCA (Incremental PCA)

PCA 对象非常有用, 但对大型数据集有一定的限制。 最大的限制是 PCA 仅支持批处理,这意味着所有要处理的数据必须适合主内存。 IncrementalPCA 对象使用不同的处理形式使之允许部分计算, 这一形式几乎和 PCA 以小型批处理方式处理数据的方法完全匹配。 IncrementalPCA 可以通过以下方式实现核外(out-of-core)主成分分析:

  • 使用 partial_fit 方法从本地硬盘或网络数据库中以此获取数据块。
  • 通过 numpy.memmap 在一个 memory mapped file 上使用 fit 方法。
    IncrementalPCA 仅存储成分和噪声方差的估计值,并按顺序递增地更新解释方差比(explained_variance_ratio_)。

这就是为什么内存使用取决于每个批次的样本数,而不是数

你可能感兴趣的:(机器学习系列课程,快速学习实战应用,python系列课程,快速学习实战应用)