zoukankan      html  css  js  c++  java
  • pandas相关性分析

    DataFrame.corr(method='pearson', min_periods=1)

    参数说明:

    method:可选值为{‘pearson’, ‘kendall’, ‘spearman’}

                   pearson:Pearson相关系数来衡量两个数据集合是否在一条线上面,即针对线性数据的相关系数计算,针对非线性                                           数据便会有误差。

                    kendall:用于反映分类变量相关性的指标,即针对无序序列的相关系数,非正太分布的数据

                    spearman:非线性的,非正太分析的数据的相关系数

    min_periods:样本最少的数据量

    返回值:各类型之间的相关系数DataFrame表格。

    为区分不同参数之间的区别,我们实验如下:

    from pandas import DataFrame
    import pandas as pd
    x=[a for a in range(100)]
    #构造一元二次方程,非线性关系
    def y_x(x):
        return 2*x**2+4
    y=[y_x(i) for i in x]
     
    data=DataFrame({'x':x,'y':y})
     
    #查看下data的数据结构
    data.head()
    Out[34]: 
       x   y
    0  0   4
    1  1   6
    2  2  12
    3  3  22
    4  4  36
     
    data.corr()
    Out[35]: 
              x         y
    x  1.000000  0.967736
    y  0.967736  1.000000
     
    data.corr(method='spearman')
    Out[36]: 
         x    y
    x  1.0  1.0
    y  1.0  1.0
     
    data.corr(method='kendall')
    Out[37]: 
         x    y
    x  1.0  1.0
    y  1.0  1.0

    因为y经由函数构造出来,x和y的相关系数为1,但从实验结构可知pearson系数,针对非线性数据有一定的误差。

    转自:https://blog.csdn.net/walking_visitor/article/details/85128461

    https://www.cnblogs.com/zhangzhixing/
  • 相关阅读:
    Linux下的输入/输出重定向
    strcpy与strncpy的区别
    C++的函数重载
    gtest 学习二
    gtest 学习一
    char* wchar* char wchar转换
    iconv 编译不通过问题
    嵌入式常用库
    驱动编程class_create说明
    libiconv 交叉编译
  • 原文地址:https://www.cnblogs.com/zhangzhixing/p/12742968.html
Copyright © 2011-2022 走看看