spss如何进行pearson相关性分析,spss pearson相关性分析结果怎么看

  spss如何进行pearson相关性分析,spss pearson相关性分析结果怎么看

  皮尔逊检验系数与python实现

  I .皮尔逊相关系数

  皮尔逊相关系数是反映两个变量之间相似性的统计量。机器学习可以计算特征和类别之间的相似度,判断提取的特征和类别是正相关、负相关还是不相关。

  皮尔逊系数在[-1,1]的范围内。值为负时,为负相关;当值为正时,为正相关。绝对值越大,正/负相关性越大。如果数据中没有重复值,并且两个变量完全单调相关,则spearman相关系数为1或-1。如果两个变量是独立的,相关系统为0,反之亦然。

  人员相关系数有三种计算方法,如下式所示

  这里x,y是两个特征的排列,是x,y的特征的平均值,在第一种形式的皮尔逊表示中,可以认为是两个随机变量导出的样本集向量之间夹角的余弦函数。

  二。Python代码的实现

  这里主要实现原来的人员格式代码。代码分为三个模块。第一个模块的功能是获得两个向量的平均值。第二个模块的功能是找出两个向量之间的皮尔逊系数,并返回皮尔逊系数。最后一个模块是找出所有特征和类的相似性。

  [python]查看纯文本

  #计算要素和类别的平均值

  efcalcmean(x,y):

  sum_x=sum(x)

  sum_y=sum(y)

  n=len(x)

  x_mean=float(sum_x0.0 )/n

  y_mean=float(sum_y0.0 )/n

  returnx _均值,y _均值

  [python]查看纯文本

  人员系数的计算

  defcalcpearson(x,y):

  计算x_mean,y_mean=calcmean(x,y) #x,y向量的平均值

  n=len(x)

  sumTop=0.0

  sumBottom=0.0

  x_pow=0.0

  y_pow=0.0

  foriinrange(n):

  sumtop=(x[I]-x _ mean)(*(y[I]-y _ mean))(*(y[I]-y _ mean)))

  foriinrange(n):

  x_pow=math.pow(x[I]-x_mean,2)).

  foriinrange(n):

  y_pow=math.pow(y[I]-y_mean,2)).

  sum bottom=math . sqrt(x _ pow * y _ pow))。

  p=sumTop/sumBottom

  returnp

  [python]查看纯文本

  [python]查看纯文本

  #计算每个特征的spearman系数并返回一个数组

  Defcalcattribute(数据):

  prr=[]

  n,m=shape(dataset) #获取数据集的行数和列数

  X=[0]*n#初始化特征X和类别Y向量

  y=[0]*n

  获取foriinrange(n) :#)类向量。

  y[I]=数据集[i][m-1]

  for range(M-1):#)获取每个特征的向量,计算皮尔逊系数并存储在列表中。

  forkinrange(n):

  x[k]=数据集[k][j]

  PRR.append(calcspearman(x,y))

  返回prr

  三。示例演示

  这里有1162*22个数据集。如下图所示,前21列代表特性,第22列代表类别。这个数据集是一个二元分类问题。

  对于每个特性,调用上面的函数,得到如下图所示的每个特性的人员系数。基于得到的结果,特征选择有一定的依据~

  我不干了。谢谢你。

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

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