高斯核密度估计python
时间: 2023-10-15 17:24:58 浏览: 189
fast-kde:在 Python 中构建快速核密度估计器 (KDE) 的实验
高斯核密度估计是一种非参数的概率密度估计方法,可以用于估计数据的概率密度分布。在Python中,可以使用scikit-learn库中的KernelDensity类来实现高斯核密度估计。
以下是一个基本示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KernelDensity
# 生成一些随机样本数据
np.random.seed(0)
sample = np.concatenate((np.random.normal(0, 1, 1000), np.random.normal(5, 0.5, 1000)))
# 创建并拟合高斯核密度估计模型
kde = KernelDensity(kernel='gaussian', bandwidth=0.5).fit(sample[:, None])
# 在指定范围内生成概率密度估计值
x = np.linspace(-5, 10, 1000)
log_density = kde.score_samples(x[:, None])
density = np.exp(log_density)
# 绘制概率密度曲线
plt.plot(x, density)
plt.xlabel('x')
plt.ylabel('Probability Density')
plt.title('Gaussian Kernel Density Estimation')
plt.show()
```
这段代码首先生成了一些随机样本数据,然后使用KernelDensity类创建了一个高斯核密度估计模型。接下来,通过调用score_samples方法计算了在指定范围内的概率密度估计值,并使用exp函数将对数概率密度转换为实际概率密度。最后,使用matplotlib库将概率密度曲线绘制出来。
希望对你有帮助!如有任何问题,请随时提问。
阅读全文