zoukankan      html  css  js  c++  java
  • python 皮尔森相关系数

    皮尔森理解

     皮尔森相关系数(Pearson correlation coefficient)也称皮尔森积矩相关系数(Pearson product-moment correlation coefficient) ,是一种线性相关系数。皮尔森相关系数是用来反映两个变量线性相关程度的统计量。相关系数用r表示,其中n为样本量,分别为两个变量的观测值和均值。r描述的是两个变量间线性相关强弱的程度。r的绝对值越大表明相关性越强。

    简单的相关系数的分类

    • 0.8-1.0 极强相关
    • 0.6-0.8 强相关
    • 0.4-0.6 中等程度相关
    • 0.2-0.4 弱相关
    • 0.0-0.2 极弱相关或无相关

     r描述的是两个变量间线性相关强弱的程度。r的取值在-1与+1之间,若r>0,表明两个变量是正相关,即一个变量的值越大,另一个变量的值也会越大;若r<0,表明两个变量是负相关,即一个变量的值越大另一个变量的值反而会越小。r 的绝对值越大表明相关性越强,要注意的是这里并不存在因果关系。

    python 实现

    # encoding:utf-8
    import pandas as pd
    from pandas import DataFrame
    import matplotlib.pyplot as plot
    import math
    #target_url = ("https://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data")
    #rockVMines = pd.read_csv(target_url ,header=None,prefix="V") #prefix前缀
    rockVMines = pd.read_csv('../rockdata.txt',header=None,prefix="V")  #prefix前缀
    row2 = rockVMines.iloc[1,0:60]
    row3 = rockVMines.iloc[2,0:60]
    n = len(row2)
    mean2 = row2.mean()
    mean3 = row3.mean()
    t2=0 ; t3=0;t1=0
    for i in range(n):
    t2 += (row2[i] - mean2) * (row2[i] - mean2) / n
    t3 += (row3[i] - mean3) * (row3[i] - mean3) / n
    r23=0
    for i in range(n):
    r23 += (row2[i] - mean2)*(row3[i] - mean3)/(n* math.sqrt(t2 * t3))
    print r23

    corMat = DataFrame(rockVMines.corr())  #corr 求相关系数矩阵
    print corMat
    plot.pcolor(corMat)
    plot.show()



  • 相关阅读:
    HTTP与HTTPS的区别
    Linux内核结构体--kfifo 环状缓冲区
    POSIX 线程详解
    linux的fork()函数-进程控制
    HDU 3435 A new Graph Game(最小费用最大流)&amp;HDU 3488
    Memcached安装使用和源代码调试
    结构-01. 有理数比較(10)
    Android:你不知道的 WebView 使用漏洞
    关于文件异步上传
    &lt;二代測序&gt; 批量下载 NCBI sra 文件
  • 原文地址:https://www.cnblogs.com/lxnz/p/7098954.html
Copyright © 2011-2022 走看看