当前位置:   article > 正文

机器学习4---数据的特征工程之数据降维(PCA)_气候信息做pca

气候信息做pca

数据降维

数据降维方法:特征选择主成分分析

  1. 进行数据降维的原因:
    (1)冗余:部分特征的高度相关容易消耗计算性能;
    (2)噪声:部分特征对预测结果有负影响
  2. 数据降维的定义:从提取到的所有特征中选择部分特征作为训练集特征。特征在选择前后可以改变值,也可以不改变值,但是选择后的特征维数肯定比选择前小。
    注:这里的维数指的是特征的数量。

特征选择

特征选择的主要方法
(1)Filter(过滤式):VarianceThreshold
(2)Embedded(嵌入式):正则化、决策树
(3)Wrapper(包裹式)
(4)神经网络

sklearn特征选择API

sklearm.feature_selection.VarianceThreshold
注:Variance:方差

VarianceThreshold语法

  1. VarianceThreshold(threshold = 0.0)
    设置门限,删除所有低方差特征(threshold默认为0)
  2. VarianceThreshold.fit_transform(X)
    X: numpy array 格式的数据[n_samples, n_features]
    返回值:训练集方差低于threshold的特征将被删除
    注:默认值(threshold=0)保留所有非零方差特征,即删除所有样本中具有相同值的特征。
  3. 流程:
    (1)实例化VarianceThreshold,指定阈值方差;
    (2)调用fit_transform
from sklearn.feature_selection import VarianceThreshold

def var():
    """
    特征选择---删除低方差的特征
    :return: None
    """
    var= VarianceThreshold(threshold=0.0)
    data = var.fit_transform([[0, 2, 0, 3], [0, 1, 4, 3], [0, 1, 1, 3]])
    print(data)

    return None


if __name__ == '__main__':
    var()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

运行结果:
在这里插入图片描述

主成分分析(PCA

参考:https://blog.csdn.net/u010159842/article/details/52708906?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159858103719725219948352%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=159858103719725219948352&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v3~pc_rank_v3-4-52708906.pc_ecpm_v3_pc_rank_v3&utm_term=%E4%B8%BB%E6%88%90%E5%88%86%E5%9B%9E%E5%BD%92python&spm=1018.2118.3001.4187
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主要思想:
在这里插入图片描述
PCA是一种分析、简化数据的技术,其目的是压缩数据的维数,达到用低维信息表示高维信息的目的——可以减少回归分析或者聚类分析中特征的数量。
在这里插入图片描述
在这里插入图片描述

高维度数据容易出现的问题

很可能一部分特征之间存在相关性(冗余),如:
在这里插入图片描述
因此,在特征数量达到上百的时候,考虑用PCA进行数据的简化数据会改变,特征数量也会减少

sklearn主成分分析API

sklearn.decomposition.PCA

  1. 语法
    (1)PCA(n_components=)
    n_components:
    小数:0~1(百分比),保留多少信息,一般为90%-95%
    整数:减少到的特征数量(一般不用整数)
    (2)PCA.fit_transform(X)
    X: numpy array格式的数据[n_samples,n_features]
    返回值:按指定保留百分比降维后的array
  2. PCA流程
    (1)实例化PAC,指定减少后的维度;
    (2)调用fit_transform
from sklearn.decomposition import PCA


def pca():
    pca = PCA(n_components=0.9)
    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
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

运行结果:
在这里插入图片描述

机器学习开发流程

  1. 获取数据,明确问题(分类/回归);
  2. 数据的基本处理(用pd处理数据,合并表格等)
  3. 特征工程;
  4. 找到合适的算法并进行预测;
  5. 模型评估、判定效果;
  6. 上线使用(以API形式提供)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/187081
推荐阅读
相关标签
  

闽ICP备14008679号