核密度估計(Kernel Density Estimation,KDE)是對概率密度函數的估計方法之一,它可以用來估計數據分布的密度。在Python中,我們可以使用Scipy庫中的kde模塊來進行核密度估計。
使用Scipy的kde模塊進行核密度估計非常簡單,首先需要導入相應的模塊:
from scipy.stats import kde import numpy as np
然后,我們需要定義一組隨機樣本數據并將其導入到kde模塊中:
data = np.random.normal(size=1000) kde_data = kde.gaussian_kde(data)
這里我們使用了一個大小為1000,隨機從正態分布中取出的樣本數據。將這組數據導入到kde模塊中,并使用高斯核函數(Gaussian Kernel Function)進行核密度估計。
接下來,我們可以使用matplotlib庫對估計出的核密度函數進行可視化:
import matplotlib.pyplot as plt x = np.linspace(-5, 5, 100) plt.plot(x, kde_data(x)) plt.show()
上面的代碼中,我們首先定義了一個x軸上的點集,在-5到5之間均勻地取100個點,然后使用plot函數繪制出估計出的核密度函數,最后使用show函數展示出圖像。
通過以上的步驟,我們就可以用Python對數據的概率密度函數進行估計。在實踐中,我們也會經常使用離散化數據進行核密度估計,此時只需要將數據改成離散的點集即可。
上一篇python 格式化%
下一篇python 樹莓派拍照