zoukankan      html  css  js  c++  java
  • 降维

    0 - 引入

      在特征选择之后,有可能由于特征量过大导致计算量太大、内存溢出或者训练时间长的问题,因此需要通过降维方法将特征维度降低。

      常用的降维方法有如下几种:

    • 基于L1惩罚项的模型(上一篇特征选择提到的)
    • 主成分分析法(PCA)
    • 线性判别分析(LDA)

      下面通过sklearn并基于iris数据集来介绍不同的降维方法。

      导入iris数据集。

    from sklearn.datasets import load_iris
    iris = load_iris()

    1 - sklearn方法查询表

      下面给出sklearn中用于降维的方法,以便于查询,具体使用后面部分将详细展开。

    模块 说明
    decomposition PCA

    主成分分析法

    discriminant_analysis LinearDiscriminantAnalysis

    线性判别分析法

     

     

     

     

     

    2 - 主成分分析法(PCA)

      代码如下:

    from sklearn.decomposition import PCA
    
    PCA(n_components=2).fit_transform(iris.data)

    3 - 线性判别分析法(LDA)

      代码如下:

    from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA
    
    LDA(n_components=2).fit_transform(iris.data, iris.target)

    4 - PCA vs. LDA

      两种方法的本质都是将原始的样本映射到维度更低的样本空间中,但是它们的映射目标不同:

    • PCA是为了让映射后的样本具有最大的发散性(不相关性)——无监督的降维方法;
    • LDA是为了让映射后的样本具有最好的分类性能——有监督的降维方法。

    5 - 参考资料

    http://www.cnblogs.com/jasonfreak/p/5448385.html

  • 相关阅读:
    问题账户需求分析
    2017年秋季个人阅读计划
    读“我们应当怎样做需求分析”有感
    开发体会
    第二阶段个人总结10
    第二阶段个人总结09
    第二阶段个人总结08
    个人进度(13)
    个人进度(12)
    个人进度(11)
  • 原文地址:https://www.cnblogs.com/CZiFan/p/10770150.html
Copyright © 2011-2022 走看看