文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

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

2023-09-29 18:40

关注

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

1.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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯