zoukankan      html  css  js  c++  java
  • python人工智能——机器学习——数据的降维

    数据降维

    1.特征选择

    2.主成分分析

    特征选择

    特征选择原因

    1.冗余:部分特征的相关度高,容易消耗计算性能。
    2.噪声:部分特征对预测结果有影响。

    1.特征选择是什么

    特征选择就是单纯地从提取到的所有特征中选择部分特征作为训练集特征,特征在选择前和选择后可以改变值、也不改变值,但是选择后的特征维数肯定比选择前小。

    主要方法(三大武器):

    Filter(过滤式):VarianceThreshold
    Embedded(嵌入式):正则化、决策树
    Wrapper(包裹式)
    Filter(过滤式):VarianceThreshold

    sklearn特征选择API
    sklearn.feature_selection.VarianceThreshold

    VarianceThreshold语法

    	VarianceThreshold(threshold = 0.0)
    		删除所有低方差特征
    		Variance.fit_transform(X,y)       
    			X:numpy array格式的数据[n_samples,n_features]
    			返回值:训练集差异低于threshold的特征将被删除。
    			默认值是保留所有非零方差特征,即删除所有样本
    			中具有相同值的特征。
    

    流程:
    1、初始化VarianceThreshold,指定阀值方差
    2、调用fit_transform

    演示:

    from sklearn.feature_selection import VarianceThreshold
    
    def var():
        '''
        特征选择-删除低方差的特征
        :return:
        '''
        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()
    

    在这里插入图片描述
    删除了方差为零的列。

    主成分分析

    sklearn降维API
    sklearn. decomposition

    PCA(主成分分析)

    PCA是什么

    本质:PCA是一种分析、简化数据集的技术。
    目的:是数据维数压缩,尽可能降低原数据的维数(复杂度),损失少量信息。
    作用:可以削减回归分析或者聚类分析中特征的数量。

    特征数量达到上百的时候,考虑数据我的简化,特征也会改变,特征数量也会减少。

    高维度数据容易出现的问题:特征之间通常是相关的。

    数据:
    (-1,-2)
    (-1, 0)
    ( 0, 0)
    ( 2, 1)
    ( 0, 1)

    要求:将这个二维的数据简化成一维?
    在这里插入图片描述通过公式计算
    在这里插入图片描述
    矩阵运算得出P为
    在这里插入图片描述
    在这里插入图片描述

    PCA语法

    	PCA(n_components=None)
    		将数据分解为较低维数空间
    		PCA.fit_transform(X)       
    			X:numpy array格式的数据[n_samples,n_features]
    			返回值:转换后指定维度的array
    

    流程:
    1、初始化PCA,指定减少后的维度
    2、调用fit_transform
    演示:

    from sklearn.decomposition import PCA
    
    def pca():
        '''
        主成分分析进行数据降维
        :return: None
        '''
        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()
    

    在这里插入图片描述
    数据由三个特征降为两个特征。

    2.sklearn特征选择API

    3.其它特征选择方法

    神经网络

  • 相关阅读:
    table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)
    使用jquery触发a标签跳转
    真正的让iframe自适应高度 兼容多种浏览器随着窗口大小改变
    html5 data属性的使用
    jQuery取得select选择的文本与值
    jqueryui教程
    密码复杂度
    zabbix配置微信报警
    tomcat配置域名访问
    阿里云ecs禁止ping,禁止telnet
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12339426.html
Copyright © 2011-2022 走看看