这篇文章将向您展示如何:
使用高斯核估计2个分布的PDF(PDF即Probability Density Function,概率密度函数)
使用Matplotlib表示PDF,其中密度图周围带有标记的轮廓线
如何提取轮廓线
如何在3D(3维空间)中绘制上述高斯核
如何使用2D直方图绘制相同的PDF
首先,生成由3个blob组成的输入数据集:(关于blob:scikit中的make_blobs方法常被用来生成聚类算法的测试数据,直观地说,make_blobs会根据用户指定的特征数量、中心点数量、范围等来生成几类数据,这些数据可用于测试聚类算法的效果。)
import numpy as np
import matplotlib.pyplot as plt
import scipy.stats as st
from sklearn.datasets.samples_generator import make_blobsn_components = 3
X, truth = make_blobs(n_samples=300, centers=n_components,
cluster_std = [2, 1.5, 1],
random_state=42)plt.scatter(X[:, 0], X[:, 1], s=50, c = truth)
plt.title(f"Example of a mixture of {n