我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Pearson相关性分析& plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Pearson相关性分析& plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

Pearson相关性分析 & plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

1.Pearson相关性分析

  • Pearson相关性分析是一种用于检测两个变量之间线性关系强度的统计方法,其结果介于-1和1之间。一个相关系数为1表示完全正相关,-1表示完全负相关,0则表示没有线性关系。 Pearson相关性分析假设数据来自正态分布,并且对异常值敏感。

2.Pearson相关性分析实例

# 计算pearsonr相关系数def calculate_pearsonr(pd):    head = pd.head().columns.values    GDM = pd["目标变量"].tolist()    coefficient_of_association = {}    significance_level = {}    feature_cnt = {}    for feature in head:        if feature != "目标变量":            ftc = 0            feature_values = pd[feature].tolist()            GDM_temp, feature_temp, tag = [], [], 0            for v in feature_values:                if str(v) != "nan":                    ftc += 1                    GDM_temp.append(GDM[tag])                    feature_temp.append(v)                tag += 1            feature_cnt[feature] = ftc            if len(feature_temp) > 1:                pc = pearsonr(np.array(feature_temp), np.array(GDM_temp))                if str(pc[0]) != "nan":                    ca = pc[0]                    if ca < -0.0001:                        ca = ca*-1                        coefficient_of_association[feature] = ca                        significance_level[feature] = pc[1]                    elif ca > 0.0001:                        coefficient_of_association[feature] = ca                        significance_level[feature] = pc[1]    dp_ca = sorted(        coefficient_of_association.items(),        key=lambda x: x[1],        reverse=True)    print("pearsonr-相关系数:",dp_ca)       dp_ca_Nempty=[(i[0], feature_cnt[i[0]]) for i in dp_ca]    print("非空值的数量:",dp_ca_Nempty)    return dp_caimport matplotlib.pyplot as pltdef plot1(dp_ca):    # 将元组列表转换为字典    dp_ca_dict = dict(dp_ca)    # 创建子图    # fig, ax = plt.subplots()    fig = plt.figure(figsize=(16, 10))    ax = fig.add_subplot(1, 1, 1)    # 绘制相关性系数柱状图    ax.bar(dp_ca_dict.keys(), dp_ca_dict.values())    ax.set_title('Correlation between Feature and 目标变量')    ax.set_xlabel('Features')    ax.set_ylabel('Correlation Coefficient')    # 调整布局并显示图形    plt.xticks(rotation=45,ha='right') ## # 将x轴标签旋转45度,并以最后一个字符为旋转中心    # 设置x轴刻度标签字体大小为8    ax.tick_params(axis='x', labelsize=10)    plt.tight_layout()    plt.savefig("./Pearson.jpeg")    plt.show()if __name__ == '__main__':    file = pd.read_excel("./filename.xlsx")    dp_ca=calculate_pearsonr(file)    plot1(dp_ca)

在这里插入图片描述

3.plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

import matplotlib.pyplot as plt# 获取数据dp_ca = [('feature1', 0.8), ('feature2', 0.6), ('feature3', 0.4),('feature4', 0.77), ('feature5', 0.2), ('feature6', 0.4)]dp_ca_Nempty = [('feature1', 100), ('feature3', 50), ('feature2', 20),('feature4', 70), ('feature5', 10), ('feature6', 26)]# 将元组列表转换为字典dp_ca_dict = dict(dp_ca)dp_ca_Nempty_dict = dict(dp_ca_Nempty)# 创建子图fig, axs = plt.subplots(1, 2, figsize=(10, 5))# 绘制相关性系数柱状图axs[0].bar(dp_ca_dict.keys(), dp_ca_dict.values())axs[0].set_title('Pearson correlation coefficients')axs[0].set_xlabel('Features')axs[0].set_ylabel('Correlation coefficient')# 绘制非空值数量柱状图axs[1].bar(dp_ca_Nempty_dict.keys(), dp_ca_Nempty_dict.values())axs[1].set_title('Number of non-empty values')axs[1].set_xlabel('Features')axs[1].set_ylabel('Count')# 调整布局并显示图形plt.xticks(rotation=45,ha='right') ## # 将x轴标签旋转45度,并以最后一个字符为旋转中心# 设置x轴刻度标签字体大小为10axs[0].tick_params(axis='x', labelsize=10)axs[1].tick_params(axis='x', labelsize=10)# 调整布局并显示图形plt.tight_layout()plt.show()

请添加图片描述

来源地址:https://blog.csdn.net/crist_meng/article/details/129840456

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Pearson相关性分析& plot绘图(相关性系数柱状图、绘制非空值数量柱状图)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录