利用高斯画2D核密度估计图python例子
时间: 2023-05-19 10:04:06 浏览: 106
高斯核密度估计代码
4星 · 用户满意度95%
可以使用Scikit-learn库中的KernelDensity类来实现高斯核密度估计。以下是一个简单的Python代码示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.neighbors import KernelDensity
# 生成随机数据
np.random.seed(0)
X = np.concatenate((np.random.normal(0, 1, 1000), np.random.normal(5, 1, 1000)))[:, np.newaxis]
# 创建KernelDensity对象
kde = KernelDensity(kernel='gaussian', bandwidth=0.5).fit(X)
# 生成密度估计值
x_plot = np.linspace(-5, 10, 1000)[:, np.newaxis]
log_dens = kde.score_samples(x_plot)
# 绘制密度估计图
plt.fill(x_plot[:, 0], np.exp(log_dens), fc='#AAAAFF')
plt.xlim(-5, 10)
plt.ylim(0, 0.4)
plt.show()
```
该代码将生成一个高斯核密度估计图,其中包含两个高斯分布的随机样本。您可以根据需要更改样本数据和带宽参数来调整估计结果。
阅读全文