核密度估计python例子
时间: 2023-07-05 20:32:56 浏览: 87
python可视化图表案例-小提琴图与核密度估计图
以下是一个使用Python进行核密度估计的简单示例:
```python
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
from sklearn.neighbors import KernelDensity
# 生成一些随机数据
np.random.seed(1234)
X = np.concatenate((np.random.normal(0, 1, 100), np.random.normal(5, 1, 100)))
# 创建一个核密度估计对象
kde = KernelDensity(kernel='gaussian', bandwidth=0.5)
# 将数据拟合到估计器中
kde.fit(X[:, None])
# 创建一些测试数据
x_test = np.linspace(-5, 10, 1000)[:, None]
# 使用估计器对测试数据进行预测
log_dens = kde.score_samples(x_test)
# 绘制结果
plt.fill_between(x_test[:, 0], np.exp(log_dens), alpha=0.5)
plt.plot(X, np.full_like(X, -0.01), '|k', markeredgewidth=1)
plt.ylim(-0.02, 0.22)
plt.show()
```
这个示例生成了一些随机数据,并使用高斯核函数和带宽为0.5的核密度估计器进行拟合。然后,使用估计器对新的测试数据进行预测,并将结果可视化。
阅读全文