主成分分析方法只是一种数据降维的方法,主成分分析降维的主要思路是什么

  主成分分析方法只是一种数据降维的方法,主成分分析降维的主要思路是什么

  Yyds干货库存

  1.降维是指在一定的限制条件下,减少随机变量(特征)的数量,以获得一组“不相关”的主变量的过程。

  多维数组

  维度:嵌套层0维标量1维向量2维矩阵3维N维

  二维数组

  此处降维:

  减少特征的数量

  效果:

  不与特征相关减少了随机变量的数量;

  相关功能(相关功能)

  相对湿度与降雨量的相关性等。正是因为在训练的时候,我们都是用特性来学习的。如果特征本身有问题,或者特征之间的相关性强,对算法学习预测影响很大。

  二、两种降维方式:特征选择主成分分析(特征提取的一种方式可以理解)三、什么是特征选择?1.定义数据包含冗余或不相关的变量(或特征、属性、指标等。),旨在从原始特征中找出主要特征。

  2.方法一。过滤器(过滤器类型):主要探索特征本身的特性、特征与特征的关系以及目标值。

  方差选择方法:低方差特征滤波相关系数:特征之间的相关程度。取值范围:1R1皮尔逊相关系数。特征之间有很高的相关性:

  1)选择其中之一。

  2)加权求和

  3)主成分分析2。嵌入式:算法自动选择特征(特征和目标值之间的关系)。

  决策树:信息熵,信息增益正则化:L1,L2深度学习:卷积等。对于嵌入式的方法,只能在讲解算法的时候介绍,以便更好的理解。

  3.模块sklearn.feature_selection4。过滤4.1低方差特征过滤删除一些低方差的特征。前面提到了方差的含义。然后用方差的大小来考虑这种方式的角度。

  特征方差小:一个特征的大部分样本的值都差不多,而特征方差大:一个特征的很多样本的值都不一样。4.1.1原料药。特征选择。方差阈值(阈值=0.0)

  删除所有低方差要素Variance.fit_transform(X)

  X:numpy数组格式数据[n _样本,n _特征]

  返回值:训练集差异低于阈值的要素将被删除。默认值是保留所有非零方差要素,即删除所有样本中具有相同值的要素。4.1.2数据计算我们在部分股票的指数特征中进行筛选。数据位于文件factor _ regression _ data/factor _ returns . CSV中,但“索引”、“日期”和“返回”列除外(这些类型不匹配,它们不是必需的指示器)。

  这些特性共有:

  pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,每股收益,收入,总费用指数,pe_ratio,pb_ratio,market_cap,return_on_asset_net_profit,du_return_on_equity,ev,每股收益,收入,总费用,日期,返回

  0,000001.XSHE,5.9572,1.1818,85252550922.0,0.8008,14.9403,1211444855670.0,2.01,20701401401000.0,108825405

  1,000,002.XSHE,7.0289,1.588,84113358168.0,1.64663,7.8656,300252061695.0,0.326,2930836923.2,23783,476901.2,2012-01-31,0 . 505506

  2,000008.XSHE,-262.7461,7.00003,517045520.0,-0.5678,-0.5943,770517752.56,-0.006,11679829.03,1203004,2012-01-31,0.0535506

  3,000060.XSHE,16.476,3.7146,19680455995.0,5.6036,14.617,28009159184.6,0.35,918938386877.65,79355427.05,2012-01-31,0 . 555506

  4,000069.XSHE,12.5878,2.5616,41727214853.0,2.8729,10.9097,81247380359.0,0.271,8951453495.28,7091397989.13,2012-01-31,-0.001 . 31 . 50005

  分析

  1.初始化VarianceThreshold并指定阈值方差。

  2.调用fit _变换

  Def variance_demo(): 筛选低方差特性:return: # 1,get Data Data=PD . read _ CSV( factor _ returns . CSV )Data=Data . iloc[:1:-2] print (data: \ n ,Data) # 2。实例化一个转换器类transfer=variance threshold(threshold=10)# threshold # 3。调用fit _ transform Data _ new=transfer . fit _ transform(Data)print( Data _ new:\ n ,Data _ new,data_new.shape) #计算相关系数R1=皮尔森r (data [PE _ ratio],data [Pb _ ratio]) print(相关系数:\ n ,R1) R2=皮尔森r(Data[ revenue ])Data[ total_expense ])print( revenue与total _ expense之间的相关性:\ n ,R2)返回None

  4.2相关系数皮尔逊相关系数(Pearson Correlation Coefficient)

  反映变量之间密切关系的统计指标。

  4.2.1公式计算案例公式:

  例如,我们计算年度广告投入和月平均销售额:

  那怎么计算它们之间的相关系数呢?

  最终计算:

  所以我们最终得出结论,广告支出和月均销售额之间有很高的正相关关系。

  4.2.2特征相关系数的值在1和1之间,即1R1。其属性如下:

  当r 0时,两个变量正相关;当r 0时,两个变量负相关;当r=1时,两个变量完全相关;当r=0时,两个变量没有相关性;当0 r 1时,两个变量有一定程度的相关性。并且r越接近1,两个变量之间的线性关系越接近。r越接近0,两个变量之间的线性相关性越弱。一般分为三个等级:r 0.4为低相关;0.4r 0.7为显著相关;0.7r 1是高线性相关的符号:r是r的绝对值,-5=5。

  4 . 2 . 3 API从scipy.stats导入pearsonr

  x : (N,)array_likey : (N,)array_like返回:(皮尔逊相关系数,p值)

  4.2.4案例:股票财务指标的相关性计算。刚才我们股票的这些指标是用来做相关性计算的。假设我们使用:

  Factor=[PE _ ratio , Pb _ ratio , market _ cap , return _ on _ asset _ net _ profit , du _ return _ on _ equity , ev ,每股收益,收入,

  分析:计算两个特征之间的相关性。

  从scipy.stats导入panda作为PD导入pearsonredf pearsonr _ demo(): 相关系数计算:return:none data=PD . read _ CSV( factor _ returns . CSV )factor=[ PE _ ratio , pb_ratio , return_on_asset_net_profit , du_return_on_equity , ev , earnings_per_share , revenue ,Total _ expense]对于范围内的I(len(factor)):对于范围内的j(I,len (factor)-1): print(指标%之间的相关性)

  我们也可以通过画图来观察结果:

  将matplotlib.pyplot导入为pltplt.figure(figsize=(20,8),dpi=100)PLT . scatter(data[ revenue ],data[total_expense])plt.show()

  这两对指标的相关性很大,可以做一些后期处理,比如合成这两个指标。

  4.主成分分析(PCA)的定义是什么:将高维数据转化为低维数据的过程,在这个过程中,原始数据可能被抛弃,新的变量可能被创造出来。

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

  应用:回归分析或聚类分析。

  单词信息将被引入决策树。

  如何更好地理解这一过程?我们来看一张图。

  1.计算案例理解并假设对于给定的五个点,数据如下

  (-1,-2)(-1, 0)( 0, 0)( 2, 1)( 0, 1)

  要求:把这个二维数据简化成一维?并且丢失了少量信息。

  这个过程是如何计算的?找一条合适的直线,通过一次矩阵运算得到主成分分析的结果。

  2.apisk learn . decomposition . PCA(n _ components=None)

  将数据分解到低维空间n_components:

  Decimal:表示信息保留的百分比。

  整数:有多少个特征被简化为PCA。Fit _ Transform (x) x: Numpy数组格式数据[n_samples,n_features]返回值:转换后指定维度的数组3。数据计算。先来一个简单的数据计算。

  [[2,8,4,5],

  [6,3,0,8],

  [5,4,9,1]]

  从sklearn.decomposition导入PCA def PCA _ demo(): 对数据进行PCA降维:return: none data=[[2,8,4,5],[6,3,0,8],[5,4,9,1]] # 1,小数3354保留多少信息transfer=PCA(n _ components=0.9)# 2,调用fit _ transform data1=transfer . fit _ transform(data)print(保留90%的信息,降维结果为:\n ,data1) # 1,实例化PCA,整数——指定降维为transfer 2=PCA(n _ components=3)# 2,调用fit _ transform data 2=transfer 2 . fit _ transform(data)print(降维为3维的结果:\ 1

  保留90%的信息,降维结果为:[[-3.13587302e-16 3.82970843E00][-5.74456265 e00-1.914854222 e00][5.7448 . 4444222207]降维到三个维度的结果:[-3.13587302 E-16 3.82970843 e00

  1.数据集的结构是什么?答:特征值的目标值

  2.机器学习算法有哪些类别?答案如何分类:根据是否有目标值,分为有监督学习和无监督学习。

  根据目标值的数据类型:如果目标值是离散的,则是分类问题。

  客观值是连续值,这是一个回归问题。

  3.什么是标准化?与常态化相比有哪些优势?答:标准化就是把原始数据转换到0均值1方差的范围内。

  优点:少量异常点不影响均值和方差,对换算影响不大。

  来自博客作者为梦想原创作品。转载请联系作者取得授权,否则将追究法律责任。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: