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()



  • 相关阅读:
    SQL*Loader-951错误
    excel导出
    zookeeper常见bug
    可编辑表格
    tree的应用
    join
    hibernate manytomany 双向
    hibernate 多对多 单向关联
    hibernate 一对多(多对一)双向
    hibernate one2many
  • 原文地址:https://www.cnblogs.com/lxnz/p/7098954.html
Copyright © 2011-2022 走看看