机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
主成分是一种重要的降维技术,将数据分解压缩成少数的几个主成分表示。当待分解的数据集太大而不能在内存里拟合时,通常使用增量主成分(Incremental principal component analysis, IPCA
)代替普通的主成分方法。IPCA使用独立于样本量的内存容量,创建一个输入数据的低秩近似。它仍然依赖输入数据的特征,只是考虑到内存的处理限制,改变了批次处理的规模。
在这个例子里,我们可视化地检查IPCA找到数据到PCA的一个近似投影,而一次仅仅处理少量的样本。这里仍然使用Iris
数据集,使用sklearn.decomposition模块里的IPCA实现函数IncrementalPCA
, 设置2个主成分。
代码详解
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris
from sklearn.decomposition import PCA, IncrementalPCA
iris = load_iris()
X = iris.data
y = iris.target
n_components = 2
ipca = IncrementalPCA(n_components=n_components, batch_size=10)
X_ipca = ipca.fit_transform(X)
pca = PCA(n_components=n_components)
X_pca = pc