9.主成分分析

主成分分析笔记回顾:

sklearn主成分分析API

  • sklearn.decomposition

PCA(主成分分析)

如何最好的对一个立体的物体二维表示

本质:PCA是一种分析、简化数据集的技术。

目的:是数据维护压缩,尽可能降低原数据维数(复杂度),损失少量信息。

作用:可以消减回归分析或者聚类分析中特征的数量。

使用场景:特征数量达到上百的时候,考虑数据的简化

结果:数据也会改变,特征数量也会减少。

高纬度数据容易出现的问题。

学习链接:https://blog.csdn.net/program_developer/article/details/80632779

PCA语法:

  • PCA(n_components = None)(小数(常用)、整数(很少用) 0~1  0.9~1:常用范围(90~95%))
    • 将数据分解为较低维数空间
    • PCA.fit_transform(X)
      • X:numpy.array格式的数据[n_samples, n_features]
      • 返回值:转换后指定维度的array

PCA流程(代码演示):

  1. 初始化PCA,指定减少后的维度
  2. 调用fit_transform
from sklearn.decomposition import PCA


def pca():
    """
    主成分分析进行特征降维
    """
    pca = PCA(n_components=0.9)  # 降维后90%
    data = pca.fit_transform([[2, 8, 4, 5], [6, 3, 0, 8], [5, 4, 9, 1]])
    print(data)
    return None


if __name__ == "__main__":
    pca()

结果如下:

一、用自己的话描述出其本身的含义:

1、特征选择

   人为地进行降低特征数量,通过对特征集估计器进行训练,获得每个特征的重要性,从当前的一组特征中删除最不重要的特征,即将一些预测性低的预测因子去除,剩下更加有价值的预测因子,直到最终到达所需数量要选择的特征。以便后续训练出更好的模型,得到更加准确的分析结果。

2、PCA

  当数据集中特征数量达到成百上千的时候,为了防止特征数量多带来的复杂度导致分析错误或者得出错误的结论,有必要通过PCA技术进行数据处理。PCA技术主要是考虑到在庞大的数据集中,数据与数据之间相互联系,部分数据之间有着紧密的联系,避免分散地对单个指标进行分析。因此,可以利用PCA技术将紧密相关的指标变成新的指标,以此来尽可能地减少总的数据指标,同时保证处理后的数据指标相关性低。

二、并用自己的话阐述出两者的主要区别

特征选择是在数据集处理过程中人为进行的降维处理;特征选择会降低维度,即特征数量会减少,但是剩下的其他数据不会改变。

PCA是已经研发出的分析、简化数据集的技术,可以直接采用;进行PCA技术处理后的数据集,由于考虑到数据的简化,一般会减少特征数量,数据也会因此而发生改变。

原文地址:https://www.cnblogs.com/xiaolan-Lin/p/12813710.html