目的

直方图和Q-Q图的目的:是为了看看数据是不是符合正态分布或者是不是对角线分布,这样对数据的采取的时候会更加有效一些(比如那些不太行的数据,偏离太多的数据我们删除,那些分布太高的可以用对数进行降低数据等等)

KDE图的目的:更好对比训练集与测试集的分布区别,理解起来更加的准确

直方图+Q~Q图

1、单个 - 代码

plt.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、多个 - 代码

train_cols = 6
train_rows = len(train_data.columns)
plt.figure(figsize=(4*train_cols,4*train_rows))i=0
for col in train_data.columns:i+=1ax=plt.subplot(train_rows,train_cols,i)sns.distplot(train_data[col],fit=stats.norm)i+=1ax=plt.subplot(train_rows,train_cols,i)res = stats.probplot(train_data[col], plot=plt)
plt.show()

KDE分布图

1、单个 - 代码

ax = 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"])

2、多个 - 代码

dist_cols = 6
dist_rows = len(test_data.columns)
plt.figure(figsize=(4*dist_cols,4*dist_rows))i=1
for col in test_data.columns:ax=plt.subplot(dist_rows,dist_cols,i)ax = sns.kdeplot(train_data[col], color="Red", shade=True)ax = sns.kdeplot(test_data[col], color="Blue", shade=True)ax.set_xlabel(col)ax.set_ylabel("Frequency")ax = ax.legend(["train","test"])i+=1
plt.show()

官方API解读

1、subplot ~> 戳一戳:官方文档

官方说类似于一个包装器,代码一般以subplot(nrows, ncols, index, **kwargs)形式出现.

顾名思义:

我个人理解,可以把他看作一个展示布局,就是比如上方实例中,plt.subplot(1,2,1)plt.subplot(1,2,2),就是代表有俩张图片,分布的格式为一行俩列,一张位于第一列,一张位于第二列(这个是自动向右填充,而不是一定规定死的)

所以在循环输出多个图片中,一般都是:ax=plt.subplot(train_rows,train_cols,i)

2、sns.distplot ~> 戳一戳:官方文档

官方给定参数:

seaborn.distplot(a=None, bins=None, hist=True,kde=True, rug=False, fit=None, hist_kws=None,kde_kws=None, rug_kws=None, fit_kws=None,color=None, vertical=False, norm_hist=False,axlabel=None, label=None, ax=None, x=None)

名词解释:

a:系列、一维数组或列表
观察到的数据。如果这是一个具有name属性的 Series 对象,则该名称将用于标记数据轴

bins
如果未指定,则使用作为参考的规则来尝试找到有用的默认值

hist:布尔值
是否绘制(规范)直方图

kde:布尔值
是否绘制高斯核密度估计

rug:布尔值
是否在支撑轴上绘制地毯图。

fit:随机变量对象
一个带有fit方法的对象,返回一个元组,该元组可以传递给一个 pdf方法,一个位置参数跟随一个值网格来评估 pdf。

hist:关键字参数matplotlib.axes.Axes.hist.

kde:关键字参数seaborn.kdeplot.

rug:关键字参数seaborn.rugplot.

color:颜色
绘制除拟合曲线之外的所有内容的颜色

vertica:布尔值
如果为 True,则观察值位于 y 轴上。

norm_hist:布尔值
如果为 True,则直方图高度显示密度而不是计数。
如果绘制了 KDE 或拟合密度,则暗示这一点。

axlabel:字符串,False 或 None
支撑轴标签的名称。如果为 None,将尝试从 a.name 中获取,如果为 False,则不设置标签。

label:图的相关组件的图例标签

ax:如果提供,请在此轴上绘制


kde=False:不绘制和直方图与平齐的曲线



3、stats.probplot ~> 戳一戳:官方文档

①stats.probplot属于scipy库中
②plt代表的是matplotlab.pyplot库

全部参数以及默认值:

scipy.stats.probplot(x, sparams=(), dist=‘norm’, fit=True, plot=None, rvalue=False)

参数说明:
x:创建绘图的样本/响应数据

sparams:
特定于分布的形状参数(形状参数加上位置和比例)

dist:
分布或分布函数名称。对于正态概率图,默认值为“norm”。看起来很像 stats.distributions 实例的对象(即它们有一个ppf方法)也被接受

fit:布尔类型
如果为真(默认),则将最小二乘回归(最佳拟合)线拟合到样本数据

plot:
如果给定,则绘制分位数。如果给定且fit为 True,则还绘制最小二乘拟合。 plot是一个必须有方法“plot”和“text”的对象。可以使用matplotlib.pyplot模块或 Matplotlib Axes 对象,或具有相同方法的自定义对象。默认为无,这意味着不创建绘图。

注意注意注意注意注意;
文档中明确说明了,scipy.stats.probplot不能和Q-Q图与P-P图进行混淆一谈。

ppplot : 概率-概率图
比较样本和理论概率(百分位数)。

qqplot : 分位数-分位数图
比较样本和理论分位数

probplot : 概率图
与 QQ 图相同,但概率以理论分布的比例(x 轴)显示,y 轴包含样本数据的未缩放分位数。

虽然确实不能把这三种图混为一谈,但是绘制Q-Q图的时候还是使用的stats.probplot函数,约定俗称的东西,记住就行。

4、kdeplot ~> 戳一戳:官方链接

全部参数:

seaborn.kdeplot(x=None, *, y=None, shade=None, vertical=False, kernel=None, bw=None, gridsize=200, cut=3, clip=None, legend=True, cumulative=False, shade_lowest=None, cbar=False,cbar_ax=None, cbar_kws=None, ax=None,weights=None, hue=None, palette=None, hue_order=None,hue_norm=None, multiple='layer', common_norm=True, common_grid=False, levels=10, thresh=0.05, bw_method='scott', bw_adjust=1, log_scale=None,color=None, fill=None, data=None, data2=None, warn_singular=True, **kwargs)

咱就是说,它的可选参数有很多很多很多很多,主要是最后面还加了一个**kwarg,可见其功能的强大之处,根据上面的例子,其实我想大家也都会看官方文档了,这个我就不介绍了,太占据版面了。直接搞几个官方的例子去看看这些运用以后是一个什么效果。





multiple{{“layer”, “stack”, “fill”}}

其实官方文档里面有很多很多这种图片以及对应的代码,大家有需求就可以直接去查,我在这就不全部都介绍一遍了。

为啥要看API

其实我一开始也不怎么看API,都是直接看别人的CSDN博客去理解对应的参数是什么意思。这其实也只是我第二次详细的看API,上一次就是昨天发的那一篇boxplot箱型图的API解读。

我才仔细的看了俩次就摸清楚看API的好处以及方法,大家都比我聪明很多,我觉得应该也能自己老老实实看几篇API,然后慢慢琢磨,就能看懂API了。

说偏题了,看API的好处真的很多,因为你看的别人的文档,都是别人自己总结的,当然也不缺乏那种把API直接翻译不思考的,但是无论是哪一种,都证明他们会看API,并且不是所有博客会把全部参数都给你讲一遍意思,告诉你这个参数实现是什么样子的,所以想要彻彻底底搞懂一个东西,还是老老实实看官方文档,又香又棒~

我更希望的是,我这一篇文章看的人很少很少,这样是不是就代表,大家都去官方看API文档了,这才是写博客的意义了吧,不仅仅是让大家知道什么是API,里面具体是什么意思,也让大家学会如何用API去学习。毕竟这篇博客我是给自己记录用的~

【天池基础知识】直方图,Q~Q图、KDE分布图+对应的官方API文档相关推荐

  1. 微型计算机基础 教案,第一章微型计算机基础知识新080902电子教案(153页)-原创力文档...

    第一章 微型计算机基础知识;第一章? 微型计算机基础知识;§1.1 计算机中数的表示方法;1.1.1 进位计数制及各计数制间的转换;二进制数的特点; 十进制--符合人们的习惯二进制--便于物理实现十六 ...

  2. 计算机专业photoshop知识,PS功能小技巧电脑基础知识IT计算机专业资料(5页)-原创力文档...

    版权信息嵌入图片 为了避免被盗图,现在很多摄彩师在发布作品前都会打上白己的水印.然而,水印不但 会影响照片的美观,甚至还可以被盗图者轻易抹掉,所以水印这个东四看似可以起到保护版 权的作用,但实则并没有 ...

  3. 【天池基础知识】 - 查看特征变量的相关性(计算相关性系数+画出热力图+筛选特征变量+Box-Cox变换)

    文章目录 1.计算相关性系数 2.画出热力图 3.筛选特征变量 4.Box-Cox变换 1.计算相关性系数 使用函数corr() 代码展示: train_corr = train_data.corr( ...

  4. 论文解读丨图神经网络应用于半结构化文档的命名实体识别和关系提取

    摘要: 随着用于传递和记录业务信息的管理文档的广泛使用,能够鲁棒且高效地从这些文档中自动提取和理解内容的方法成为一个迫切的需求.本次解读的文章提出利用图神经网络来解决半结构化文档中的实体识别(NER) ...

  5. FreeMarker中文帮助手册API文档,基础入门学习文档

    FreeMarker中文帮助手册API文档,基础入门学习文档 分类: 编程技术 发布: bywei 浏览: 7 日期: 2011年5月28日 分享到: QQ空间 新浪微博 腾讯微博 人人网 什么是Fr ...

  6. Spring Boot 2.x基础教程:Swagger静态API文档的生成

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  7. Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者 | 翟永超 来源 | didispace.com/spring-boot-learni ...

  8. 【报表技术】IReport图形化报表开发工具生成PDF文档

    [报表技术]IReport图形化报表开发工具生成PDF文档 新建一个文件. 由于IReport的默认设置是不支持中文的,IReport没有内置中文的包. 了解报表模板结构. ①title:报表标题. ...

  9. Java基础:01Java语言概述(常见的DOS命令,Java语言的特点、核心机制、环境搭建,HelloWorld,注释,Java API 文档)

    Java基础:01Java语言概述 一.常见的DOS命令 二.Java语言的特点 面向对象性 健壮性 跨平台型 三.Java两种核心机制 1. Java虚拟机 2. 垃圾回收 四.Java语言的环境搭 ...

最新文章

  1. mysql入门之事务处理
  2. python装饰器作用-python装饰器有什么用
  3. CountDownLatch、CyclicBarrier、Semaphore的区别,你知道吗?
  4. matlab神经网络4:数据聚类-自组织映射
  5. 数字语音信号处理学习笔记——语音信号的同态处理(4)
  6. Debian7.2上一键安装Jetty
  7. sagan 自注意力_请使用英语:自我注意生成对抗网络(SAGAN)
  8. 受欢迎的五个开源可视化工具——你的选择是?
  9. requests-获取cookie-0223
  10. 破碎纪念---记第二次Nexus4换屏
  11. 马斯克:不要把员工变成“螺丝钉”
  12. 能伸能屈的拼音及解释
  13. 超简单的内网邮件服务器搭建(CentOS7 postfix+dovecot)
  14. python给定dna等分成两个序列_分析DNA序列中的串联重复序列
  15. LOJ6504 「雅礼集训 2018 Day5」Convex 凸包、莫队
  16. 如果你忘记了DotnetNuke站点的host和admin密码,解决方案
  17. 计算机打字正确姿势,电脑打字的7个技巧
  18. android 360全景视频,360度全景视频之VR播放
  19. Mac OS X:单用户模式(Single User Mode)的操作和安全漏洞
  20. 初试Cisco Packet Tracer–5——路由器连接两个子网

热门文章

  1. android真机调试三星,Windows 10中可以运行三星手机的安卓应用
  2. 趣谈计算机网络1 - 通讯协议综述
  3. CSS:outline的用法,用outline实现镂空效果
  4. activemq 限制访问ip、修改web访问密码、队列连接密码
  5. 毕业10年就能拿到百万年薪:00后大学生,为什么这么自信?
  6. 无限小数的形成原因是什么,为什么会有无限小数?
  7. foucus 冒泡_Knockoutjs 学习系列(二)花式捆绑
  8. 基于Kera框架的手写数字识别
  9. openwrt上Asterisk系统语音信箱时间不对问题分析
  10. 扎心医美报告:整牙就是换脸 原来杨幂杨颖没有骗人