机器学习训练营——机器学习爱好者的自由交流空间(入群联系qq:2279055353)
这个例子演示在XOR
数据集上进行高斯过程分类(Gaussian Process Classification
, GPC), 并且与平稳的isotropic
核(RBF), 非平稳核(DotProduct)的分类结果比较。在这个特殊的数据集上,DotProduct核方法获得了相当好的结果,这是因为分类边界是线性的。一般来说,平稳的核方法的结果较好。
实例代码
import numpy as np
import matplotlib.pyplot as plt
from sklearn.gaussian_process import GaussianProcessClassifier
from sklearn.gaussian_process.kernels import RBF, DotProduct
xx, yy = np.meshgrid(np.linspace(-3, 3, 50),
np.linspace(-3, 3, 50))
rng = np.random.RandomState(0)
X = rng.randn(200, 2)
Y = np.logical_xor(X[:, 0] > 0, X[:, 1] > 0)
# fit the model
plt.figure(figsize=(10, 5))
kernels = [1.0 * RBF(length_scale=1.0), 1.0 * DotProduct(sigma_0=1.0)**2]
for i, kernel in enumerate(kernels):
clf = GaussianP