以下内容转自 数析学院,只节选了部分,有需要的同学可以直接查看原文
在 Python 中如何利用 Scikit-Learn 等工具库构建并使用支持向量机模型
利用 make_blobs 函数生成本节示例数据——两组有明显集群特征的随机样本点:
我们都知道,支持向量机以线性分类器为基础,通过构造高维空间中的超平面来对样本的分类进行判别,为了更好的刻画支持向量机的模型效果,这里我们先向大家简单演示二维空间中分类平面与间隔的绘制方法,以为后续内容做准备:
支持向量机中,几何间隔是分类器的重要属性,可以通过如下方法在二维空间中绘制分类平面的几何间隔:
准备工作就绪,接下来我们导入 Scikit-Learn 的支持向量机工具包 SVC ,并对模型进行构建与训练:
SVC(C=10000000000.0, cache_size=200, class_weight=None, coef0=0.0, decision_function_shape=None, degree=3, gamma='auto', kernel='linear', max_iter=-1, probability=False, random_state=None, shrinking=True, tol=0.001, verbose=False)
利用以上演示过的内容,构建如下函数 plot_svc_decision_function ,用于描绘我们训练的支持向量分类器在二维空间中的分类边界:
对于本节的示例数据,模型训练得出的分类边界如下所示:
通过模型的 support_vectors_
属性,我们可以查看模型中的支持向量:
array([[ 0.44359863, 3.11530945], [ 2.33812285, 3.43116792], [ 2.06156753, 1.96918596]])
以上内容节选自 数析学院,后文还有介绍 其他核函数分类器以及人脸识别实例等,内容较多,先搬运到这,有需要的同学可以先直接到 数析学院 查看原文