如何使用Python Scikit-learn进行降维?
降维是一种无监督机器学习方法,用于减少每个数据样本的特征变量数量并选择一组主要特征。主成分分析(PCA)是Sklearn中可用的流行降维算法之一。
在本教程中,我们将使用Python Scikit-learn(Sklearn)进行主成分分析和增量主成分分析的降维。
使用主成分分析(PCA)
PCA是一种统计方法,通过分析原始数据集的特征将数据线性投影到新的特征空间中。PCA的主要概念是选择数据的“主要”特征并基于这些特征构建特征。它将为我们提供新的数据集,该数据集尺寸较小,但具有与原始数据集相同的信息。
示例
在下面的示例中,我们将使用两个组件初始化PCA,并使用Scikit-learn软件包默认提供的Iris植物数据集进行数据拟合。
输出
它将产生以下输出−
使用增量主成分分析(IPCA)
增量主成分分析(IPCA)用于解决主成分分析(PCA)最大的限制,即PCA仅支持批处理,这意味着所有要处理的输入数据都应适合内存。
Scikit-learn ML库提供了sklearn.decomposition.IPCA模块,可以通过在连续获取的数据块上使用其partial_fit方法或启用np.memmap,一个映射到内存的文件,而不将整个文件加载到内存中,从而实现Out-of-Core PCA。
与PCA相同,使用IPCA进行分解时,输入数据被居中但未对每个要素进行缩放,然后应用SVD。
示例
在下面的示例中,我们将使用Scikit-learn包默认提供的Iris植物数据集,使用IPCA(初始化为2个组件和批量大小为20)进行拟合。
输出
将会产生以下输出 −