机器学习数据预处理分布曲线

本文解析了核密度估计的基本概念,通过高斯核实例介绍其工作原理,并揭示Seaborn.distplot中kde参数的含义。重点讲解了KDE图中Y轴的密度值计算方法,以及与matplotlib.pyplot.hist的区别。
摘要由CSDN通过智能技术生成

核密度估计(Kernel Density Estimation)

定义
核密度估计是估计随机变量的概率密度函数的非参数方法,即一种针对连续数据的密度估计方法,并且其根据数据本身的相互关系得到,无需对数据分布做假设。
假设样本彼此独立并遵循相同的分布。给定带宽H,每个样本都由平滑的核函数拟合。某数据的密度值可以视为其他所有样本对该数据的平均影响。
 

这里以高斯kernel为例。KDE对于数据里的每一个点,都画作一个高斯分布的波。然后对波进行叠加,于是数据密集的地方,波的高度就越高,数据越稀疏的地方,波就相对矮,数据分布的就一目了然。

那么,Y轴的值具体上又代表着什么呢?

我们知道在matplotlib.pyplot.hist里,y轴为数据在某一个范围里出现的频次。Seaborn.distplot却不同,有2个参数的默认值为True,分别为kde=True和norm_hist=True. 原来,distplot对数据的进行了归一化处理。我们来看看当kde与norm_hist为False时的情况,并对比下matplotlib.pyplt.hist。

标题

标题

 可以看到,当kde与norm_hist皆为Fasle时,它的plot与matplotlib.pyplot.hist是一模一样的。表现出的是频次。

Seaborn文档介绍如下:当参数为True时,直方图的高度以密度而不是频次来表示,它是kde的必要条件。

norm_hist : bool, optional

If True, the histogram height shows a density rather than a count. This is implied if a KDE or fitted density is plotted.

然而,我们现在知道了Y轴表达密度,还是无法确切的知道具体的值能用来计算什么。其实,就像其他的概率分布图,它也是用来计算概率的。

在KDE图里,我们的y轴并不直接表达概率,我们需要计算的是曲线下方的面积。这个面积在直方图里就是宽度乘以高度。比如在上图,最左边的方块宽度约为0.1,范围从1.5-1.6,高度为0.8。那么数据分布在这里的概率就是0.1*0.8 = 0.08。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值