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.其它特征选择方法

    神经网络

  • 相关阅读:
    JSON AND BSON
    xom报错 Exception in thread "main" java.net.UnknownHostException: file
    创建weblogic受管理服务器和安全文件
    创建weblogic domain
    安装weblogic步骤
    python读取excel表格生成sql语句 第一版
    nutz框架使用记录之Cnd.wrap
    IDEA 导入cordova3.5工程目录注意事项
    javascript类继承
    使用nodejs 访问mongodb
  • 原文地址:https://www.cnblogs.com/AlexKing007/p/12339426.html
Copyright © 2011-2022 走看看