【数据挖掘】Python绘制一组样本的CDF概率分布函数(经验分布函数)

13 篇文章 0 订阅
11 篇文章 1 订阅

CDF是什么?简单对概率分布函数进行一个描述,在概率论中要研究一个随机变量ξ取值小于某一数值x的概率,这概率是x的函数,称这种函数为随机变量ξ的分布函数。
F ( x ) = P ( X < x ) , F ( + ∞ ) = 1 , F ( − ∞ ) = 0 F(x)=P(X<x),F(+\infin)=1,F(-\infin)=0 F(x)=P(X<x),F(+)=1,F()=0

CDF对机器学习有什么用?可以非常直观地对预测误差进行分析,可以判断出当误差为某个值时的具体概率是多少,以该图像指标为基础为后续的优化和改进做铺垫。


现在有一个样本序列 l i s t = [ x 1 , x 2 , . . . , x n ] list=[x_1,x_2,...,x_n] list=[x1,x2,...,xn],要用Python将其分布函数绘制出来,实现如下:

import matplotlib.pyplot as plt
import numpy as np
已知样本序列ds,是以list[...]的形式存在的,首先对ds进行排序
ds_sort = sorted(ds)
last, i = min(ds_sort), 0
while i < len(ds_sort):
    plt.plot([last, ds_sort[i]], [i/len(ds_sort), i/len(ds_sort)], c='k', lw=2.5)
    if i < len(ds_sort):
        last = ds_sort[i]
    i += 1
plt.grid()
plt.show()

最终绘制出来的图像如下:
CDF图
直观分析,x小于等于20的概率大约是0.95,x小于等于40的概率大约是1。根据这个分布,可以说几乎所有样本分布在横坐标前40的区间内。
在这个例子中,我用的list本身是在机器学习中预测值与真实值之间的误差,这个分布可以直观地对预测误差进行分析,可以判断出误差为某个值时的具体概率是多少,以便后续的优化和改进。

参考资料:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr.zwX

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值