数据分析可视化常用图介绍以及相关代码实现(箱型图、Q-Q图、Kde图、线性回归图、热力图)

文章目录

  • 前言
  • 一、箱型图是什么?
    • 1-1、箱型图介绍
    • 1-2、箱型图的作用
    • 1-3、实战
  • 二、Q-Q图是什么?
    • 2-1、Q-Q图(分位数-分位数图:quantile-quantile plot)介绍
    • 2-2、实战
    • 2-3、为什么要使数据呈现正态分布以及出现了正态分布,数据应该如何处理?
  • 三、Kde图是什么?
    • 3-1、Kde图介绍
    • 3-2、实战
    • 3-3、分布不一致如何处理?
  • 三、线性回归图
    • 4-1、线性回归图绘制函数介绍
    • 4-2、实战
    • 4-3、相关性不高如何处理?
  • 总结


前言

爱意随风起,风止意难平。


一、箱型图是什么?

1-1、箱型图介绍

箱型图:箱线图也称箱须图、箱形图、盒图,用于反映一组或多组连续型定量数据分布的中心位置和散布范围。箱形图包含数学统计量,不仅能够分析不同类别数据各层次水平差异,还能揭示数据间离散程度、异常值、分布差异等等。
在这里插入图片描述

下边缘(Q1),表示最小值;下四分位数 - 1.5 ×(上四分位数-下四分位数)
下四分位数(Q2),又称“第一四分位数”,等于该样本中所有数值由小到大排列后第25%的数字;
中位数(Q3),又称“第二四分位数”等于该样本中所有数值由小到大排列后第50%的数字;
上四分位数(Q4),又称“第三四分位数”等于该样本中所有数值由小到大排列后第75%的数字;
上边缘(Q5),表述最大值。上四分位数 + 1.5 ×(上四分位数-下四分位数)
异常值:在上边缘和下边缘的范围之外,就是异常值。

1-2、箱型图的作用

1、箱子的宽度在一定程度上反映了数据的波动程度,箱体越扁说明数据越集中,而箱体越长,则说明数据越分散。
2、可以清晰地观察到数据的整体分布情况,可以清楚的看到数据的下边缘、下四分位数、中位数、上四分位数、上边缘、异常值。
3、箱型图最大的优点是不受异常值的影响,可以以一种相对稳定的方式描述数据的离散分布情况。
4、对于太离谱的值,可以直接删掉,亦或者是变为缺失值,按照缺失值来处理,比如说均值填充、众数填充、中位数填充、使用其他数据来预测该值等等。

1-3、实战

# 使用matplotlib和seaborn来绘制图像
import matplotlib.pyplot as plt
import seaborn as sns# 设置尺寸。
fig = plt.figure(figsize=(8, 12))  # 指定绘图对象宽度和高度
# 以y为轴进行绘制
sns.boxplot(y = [2,4,6,8,10,20,-8,50,-20], width=0.5)

在这里插入图片描述

二、Q-Q图是什么?

2-1、Q-Q图(分位数-分位数图:quantile-quantile plot)介绍

Q-Q图:Q-Q(分位数 - 分位数)图是概率图,其是通过将绘制两个概率分布的分位数来比较两者分布关系的图形方法,主要作用是判断样本是否近似于某种类型的分布,这里以正态分布为例。
在这里插入图片描述
注意:蓝色越接近红色参考线,说明越符合预期分布。

2-2、实战

import matplotlib.pyplot as plt
import seaborn as sns
from scipy import statsfig = plt.figure()
# 第一个参数:从哪个样本中创建。
res = stats.probplot(train[‘SalePrice’], plot=plt) 
# 默认检测是正态分布# 完整写
# stats.probplot(grade, dist=stats.norm, plot=plt)        #正态分布
# stats.probplot(grade, dist=stats.expon, plot=plt)       #指数分布
# stats.probplot(grade, dist=stats.logistic, plot=plt) 	  # 对数正态分布
plt.show()

通常配合直方图来一起分析😒

# 直方图又称质量分布图,它是表示资料变化情况的一种主要工具。用直方图可以解析出资料的规则性,比较直观地看出产品质量特性的分布状态,
# -> 对于资料分布状况一目了然,便于判断其总体质量分布情况。直方图表示通过沿数据范围形成分箱,
# -> 然后绘制条以显示落入每个分箱的观测次数的数据分布。
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import statsplt.figure(figsize=(10,5))ax=plt.subplot(1,2,1)
sns.distplot(train_data['V0'],fit=stats.norm)
ax=plt.subplot(1,2,2)
res = stats.probplot(train_data['V0'], plot=plt)

在这里插入图片描述

2-3、为什么要使数据呈现正态分布以及出现了正态分布,数据应该如何处理?

为什么要使数据呈现正态分布:很多模型假设数据服从正态分布后,它的样本均值和方差就相互独立,这样能更好地进行统计推断和假设验证。
数据应该如何处理?数据预处理—4.为什么要趋近于正态分布?详解.

三、Kde图是什么?

3-1、Kde图介绍

Kde图介绍: 是指Kernel Density Estimation核概率密度估计。可以理解为是对直方图的加窗平滑。通过KDE分布图,可以查看并对训练数据集和测试数据集中特征变量的分布情况。它描述了连续变量中不同值的概率密度。在概率论中用来估计未知的密度函数,属于非参数检验方法之一。通过核密度估计图可以比较直观的看出数据样本本身的分布特征。
在这里插入图片描述

3-2、实战

# 把每一个特征对应的分布图都画出来,分别调节。
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import statsax = sns.kdeplot(train_data['V0'], color="Red", shade=True)
ax = sns.kdeplot(test_data['V0'], color="Blue", shade=True)
ax.set_xlabel('V0')
ax.set_ylabel("Frequency")
ax = ax.legend(["train","test"])

在这里插入图片描述

3-3、分布不一致如何处理?

分布不一致: 如果出现分布不一致的情况,我们需要将特征直接删除。
原因: 如果训练数据和测试数据的某个特征分布不一致,会导致模型的泛化能力差,我们要直接删除此类特征方法。
在这里插入图片描述

三、线性回归图

4-1、线性回归图绘制函数介绍

seaborn.regplot():: 该方法用于绘制数据和线性回归模型拟合。有许多相互排斥的选项可用于估计回归模型。

4-2、实战

# 探索特征变量V0与target变量的线性回归关系。
fcols = 2
frows = 1plt.figure(figsize=(8,4))ax=plt.subplot(1,2,1)
sns.regplot(x='V0', y='target', data=train_data, ax=ax, scatter_kws={'marker':'.','s':3,'alpha':0.3},line_kws={'color':'k'});
plt.xlabel('V0')
plt.ylabel('target')ax=plt.subplot(1,2,2)
sns.distplot(train_data['V0'].dropna())
plt.xlabel('V0')plt.show()

在这里插入图片描述

4-3、相关性不高如何处理?

相关性不高:相关系数越大,则认为这些特征变量对target变量的线性影响越大,相关性系数较小的话,特征对于模型的拟合会起到反作用,通常和热力图一起来查看相关性。

import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats# 调用dataframe的相关性矩阵。
train_corr = data_train1.corr()
# 画出相关性热力图
ax = plt.subplots(figsize=(20, 16))#调整画布大小ax = sns.heatmap(train_corr, vmax=.8, square=True, annot=True)#画热力图   annot=True 显示系数

在这里插入图片描述

数据应该如何处理?与目标变量相关系数小于0.5的特征变量一般都会直接被删掉。
注意:对于target变量如果存在更复杂的函数形式的影响,建议使用树模型的特征重要性去选择。
多重共线性: 多重共线性是指自变量彼此相关的一种情况。当你拟合模型并解释结果时,多重共线性可能会导致问题。数据集的变量应该是相互独立的,以避免出现多重共线性问题。对于一个数据集,如果一些自变量彼此高度独立,就会导致多重共线性。
如何处理多重共线性?即如何处理特征之间的高度相关?我们可以删除一些高度相关的特征(相关性大于0.9),去除数据中的多重共线性,但是!!! 可能会导致信息的丢失,对于高维数据也是不可行的技术。但是可以使用PCA算法来降低数据的维数,从而去除低方差的变量。
结语:以上都是瞎扯,请自行调参,实践是检验真理的唯一标准。

参考文章:
统计学(二)——从箱型图去理解数据.
什么是箱线图,箱线图要怎么做?.
如何深刻理解箱线图(boxplot).
箱形图怎么看,以及它反映了什么?.
通俗讲解qq plot.
QQ plot图——评价你的统计模型是否合理.
使用 Pandas 和 Seaborn 进行 KDE 绘图可视化.

工业蒸汽 02数据探索.

总结

OS:这篇文章写的很好,以后不许再写了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/36432.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

教你体验目前最火AI - 在craft AI assistant使用AI助手

chatGPT大火之后,很多人都想体验一把,今天为大家推荐一种免费方式,体验一下chatGPT同款内核的AI助手。 craft AI assistant Craft 推出的 AI 助手产品 Craft AI Assistant,并且现在就可以使用。根据 Craft 官方介绍,…

Express实战个人订阅号实现网站登录

今天我们来实现一个使用个人订阅号实现网站的功能,后端使用的是 express 。其它框架原理基本一致,只是定义路由或返回响应数据部分代码跟 express 有所出入。先来一波效果图: 1. 前言 20 年 3 月在掘金写过一篇文章,介绍了使用 e…

推荐四个phpstorm酷炫实用插件 让你写代码的时候不在孤单!

程序员写代码很孤独,每天只能和电脑屏幕交流,想要一个程序员鼓励师妹子,老板又不给配,如何让自己写代码的时候不再孤单呢?今天给大家分享的这四个插件,既实用又好玩,还能提高开发效率&#xff0…

风控业务中的信用与欺诈的定义区别

风险控制是指风险管理者采取各种措施和方法,消灭或减少风险事件发生的各种可能性,或者减少风险事件发生时造成的损失。 小额现金贷的风控为弱风控,主要包括欺诈风险和信用风险2方面: 欺诈风险的识别,核心手段是信息核…

风控数据分析-反欺诈

python信用评分卡(附代码,博主录制) https://study.163.com/course/introduction.htm?courseId1005214003&utm_campaigncommission&utm_sourcecp-400000000398149&utm_mediumshare 目前贷款的风控因为每一个样本的收集都需要放款…

Facebook第三方登录对接

一、背景调研 1、什么是第三方登录? 第三方登录是基于用户在第三方平台上已有的账号和密码来快速完成己方应用的登录或者注册的功能。而这里的第三方平台,一般是已经拥有大量用户的平台,国外的比如Facebook,Twitter等&#xff0…

原来支付宝、财付通每天都是这样对账、风控的!

为了可以更好地解释支付结算系统对账过程,我们先把业务从头到尾串起来描述一下场景,帮助大家理解:一个可能得不能再可能的场景,请大家深刻理解里面每个角色做了什么,获取了哪些信息: 某日阳光灿烂&#xff…

虚拟机网络发生错误,需要运行NetworkManager

虚拟机网络发生错误,需要运行NetworkManager 你只需要在root用户中输入systemctl start NetworkManager.service这一条简单的指令就行

VCSA7.0访问提示no healthy upstream故障解决方案

打开vCenter网页显示no healthy upstream报错,报错如图 解决办法: 1、使用SSH访问VSCA主机。 2、输入如下命令,检查证书有效期,发现__MACHINE_CERT证书到期。 for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do …

PG数据库提示: FATAL: sorry, too many clients already

目录 场景: idea启动提示如下错误 翻译: 连接数相关查询: 原因分析: 解决方法: 场景: idea启动提示如下错误 org.postgresql.util.PSQLException: FATAL: sorry, too many clients alreadyat org.pos…

vCenter Server出现no healthy upstream的解决方法

一天,访问vCenter,浏览器报:no healthy upstream,其他什么也没有 该 网上找了一些故障原因,诸如:vCenter Server部分服务没有运行,或者运行出现错误;vCenter Server设置的DNS服务器出…

GPT-4 太香了!

4月30日,OpenAI官方悄悄发布了联网版GPT-3.5。虽然名字变了,但使用体验却是换汤不换药,还是那套。 然而,万万没想到的是,刚过去没几天,昨天5月4日,鱼哥发现自己的Plus账号竟然多了一些能力&…

该为 GPT-4 降温了

文 / 韩彬(微信公众号:量子论) 昨天,微信里讨论GPT-4发布会内容的信息此起彼伏,我的心头又温暖又难过,感觉像是回到了乔布斯还在世的时候,大家激动讨论苹果发布会的那些日子。 同时,…

太炸了!GPT-4 Plus又推出新功能了!

最近Open AI 在GPT-4 Plus又更新了新功能。 支持Web Browsing with GPT-4 & Code Interpreter 新功能是按照plugin的方式集成的。如果有plus账号的朋友,可以去官方https://openai.com/blog/chatgpt-plugins,申请,也可以第一时间体验上面的…

Android开发之智能聊天机器人

Android开发之智能聊天机器人 一:效果图二:注册图灵机器人,获取api1.进入图灵机器人官网注册,已有账号的可直接登录2.点击创建机器人3.创建好机器人之后会得到一个ApiKey(如图所示)4.下面就要拼接Api地址了(拼接方法如图所示) 三.下面就是具体实现的代码了1.首先是布…

■ Android集成百度语音识别

实现这个功能的目的,是我看见我公司硬件工程师给客户回答问题的时候用公司研发的APP,每次都是手动输入打字,看着他带着老花镜的样子,于心不忍,毕竟咱就是干这个的. 实现效果 集成 百度语音实时识别 https://ai.baidu.com/sdk#asr AndroidManifest.xml 文件 <uses-permis…

百度云助力微信小程序图文识别,让你的应用更加高效智能

前言 如今人们对于信息的获取需求越来越高&#xff0c;而图像识别技术的发展为我们带来了更加便捷高效的信息获取方式。微信小程序作为一种新型的应用形态&#xff0c;越来越受到用户的青睐。而本文将为大家介绍微信小程序基于百度云的图文识别技术。让我们一起来看看微信小程序…

chatGPT 和AlphaGo下围棋,谁赢?垂域大模型有戏么?

这边来的少&#xff0c;但发个文章通报下近况&#xff0c;长期做AI产研、投融资工作后&#xff0c;后续主要在企业数字化与大模型结合的方向上&#xff0c;后续进展还是请关注&#xff1a;琢磨事。 上一篇提到最终大模型的格局很可能是有一个偏通用大模型&#xff0c;比如chatG…

chatgpt赋能python:用Python实现高效搜索文献

用Python实现高效搜索文献 作为研究学者&#xff0c;面对日益增多的文献量&#xff0c;如何高效地搜索文献成为了一大难题。然而&#xff0c;Python的强大功能和丰富的科学计算库为我们提供了一种新的解决方案。本文将介绍如何使用Python进行文献搜索&#xff0c;帮助广大学者…

浅浅了解一下SSM框架,全网最新

一.SSM框架初体验 作为当下流行的企业开发MVC开源框架&#xff0c;SSM框架是我们Java程序猿必须熟练掌握的知识点, SSM框架是spring MVC &#xff0c;spring和mybatis框架的整合. SSM框架是标准的MVC模式&#xff0c;将整个系统划分为表现层&#xff0c;controller层&#x…