核支持向量机(kernelized support vector machine)简称SVM,支持向量机可以用于分类,也可以用于回归,分类在SVC中实现,回归在SVR中实现。
1. 线性模型与非线性特征
线性模型在低维空间中的应用非常受限,因为线和平面的灵活性有限。有一 种方法可以让线性模型更加灵活,就是添加更多的特征--例如,添加输入特征的交互项或多项式。下面看个模拟数据集的例子:
import matplotlib.pyplot as plt
import mglearn
from sklearn.datasets import make_blobs
X, y = make_blobs(centers=4, random_state=8)
y = y % 2
mglearn.discrete_scatter(X[:, 0], X[:, 1], y)
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")
plt.show()
输出图形:
上图输出的二分类数据集,类别并不是线性可分的。用于分类的线性模型只能用一条直线来划分数据点,对这个数据集无法给出较好的结果。
import ma