降维是将高维数据集转换为可比较的低维空间的过程。真实数据集通常有很多冗余特征。降维技术可用于去除这些冗余特征或将n维数据集可视化为2D或3D。在本文中,我们将讨论8种降维技术,这些技术可用于各种用例以降低数据集的维度。1.真实缺失值的数据集通常包含大量缺失记录,这可能是数据损坏或记录数据时未能保存造成的。我们可以尝试各种数据插补技术来填充缺失的记录,但这仅在缺失有限数量的特征时才有效。如果缺失特征值的个数大于指定的阈值,最好从训练数据中去除该特征。我们可以通过删除缺失特征记录大于阈值(比如50%)的所有特征来降低数据的维度。缺失值的可视化:白线表示存在缺失值上面的缺失值解释图是使用missingno包为titanic数据生成的。“Age”和“Cabin”特征有大量缺失记录,最终可以从训练样本中剔除。2.correlationfilter的一个或多个特征相关性高说明它们有相似的趋势,可能包含相似的信息,这会破坏自变量的统计显着性,我们可以删除与其他自变量相关的特征,也可以去掉与目标类标签无关的特征。有多种技术可用于计算独立特征之间的相关性,包括Pearson、Spearman、Kendall、卡方检验等。相关矩阵的热图上面的相关矩阵热图(对于泰坦尼克号数据集)是使用df.corr()函数计算的。3、方差滤波器只具有某一特征类别的分类特征或方差小的数值特征变量。这些特征不会在一定程度上改进我们的模型,可以从训练样本中删除。DataFrame.var()函数可以计算Pandas数据帧所有特征的方差。DataFrame.value_counts()函数可以计算每个特征的分布。4.正向/反向特征选择正向特征选择技术是一种用于选择最佳特征集的包装技术。这是一个循序渐进的过程,特征是根据上一步的推论来选择的。前向特征选择技术的步骤是:1.使用每个特征分别训练机器学习模型并测量每个模型的性能。2.选取表现最好的特征,并用其余特征重新训练一个模型。3.重复该过程并一次添加一个特征,保留产生最佳性能的特征。4.重复步骤2和3,直到模型的性能没有明显提升。前向特征选择后向特征选择技术类似于前向特征选择,但相反,最初选择所有特征并在每一步中删除最冗余的特征。5.主成分分析主成分分析(PCA)是一种非常古老的降维技术。PCA通过保留特征的方差将特征向量投影到一个低维空间中,找到最大方差的方向得到最佳特征列表。PCA可用于将非常高维的数据投影到所需的维度。PCA算法的步骤是:标准化数据集计算标准化数据集的协方差矩阵计算协方差矩阵的特征值和特征向量取特征向量与特征值高的特征向量的点积。6.t-SNEt-SNE(t-DistributedStochasticNeighborhoodEmbedding)是一种主要用于数据可视化的降维技术。t-SNE将高维数据集转换为可以进一步可视化的2D或3D向量。t-SNE优于PCA,因为它保留了数据的局部结构,并通过保留邻域局部结构将每个数据点从高维空间嵌入到低维空间。更多内容可以查看:https://distill.pub/2016/misread-tsne/7。UMAPUMAP(UniformManifoldApproximation)是一种新的降维技术,是一种非常有效的可视化和可扩展的降维算法,其工作方式类似于t-SNE,但保留了更多的全局结构,具有优越的运行性能,可扩展性更好.更多详细信息:https://umap-learn.readthedocs.io/en/latest/basic_usage.html8。自编码器(AutoEncoder)自编码器(AutoEncoder)是一种基于单层感知器的降维方法。它有两个组件:压缩(编码器)和扩展(解码器)。输入层和输出层具有相同数量的节点,而中间层的神经元数量少于输入层和输出层。数据集被传递到自动编码器神经网络模型并编码到较低维度的隐藏层中。然后它尝试从简化的编码中生成一个尽可能接近其原始输入的表示。中间层是减少到可比较的较低维度的向量。总结在本文中,我们讨论了基于特征选择的降维方法、基于组件的降维技术、基于投影的方法,最后讨论了基于神经网络的自动编码器。ISOMAP是另一种基于投影的降维方法,其工作方式类似于UMAP和t-SNE。SVD和ISO是其他一些基于组件的降维技术。
