线性支持向量分类器的支持向量

Beginner

This tutorial is from open-source community. Access the source code

简介

支持向量机(Support Vector Machines,SVM)是一种用于分类和回归分析的流行机器学习算法。SVM 试图找到分隔不同数据类别的最佳边界。在本实验中,我们将学习如何绘制 LinearSVC 的支持向量。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。

导入库

首先,我们需要为本实验导入必要的库。我们将使用 NumPy、Matplotlib、make_blobs、LinearSVC 和 DecisionBoundaryDisplay 库。

生成数据

我们将使用 Scikit-learn 中的 make_blobs() 函数生成一些随机数据。此函数生成用于聚类的高斯分布数据点集。我们将生成 40 个样本,有 2 个中心点。

绘制数据

我们将使用 Matplotlib 绘制生成的数据。scatter() 函数用于绘制数据。

训练线性支持向量分类器(LinearSVC)

我们将使用两个不同的正则化参数来训练线性支持向量分类器(LinearSVC)模型。铰链损失函数用于训练该模型。我们将使用 fit() 函数来训练模型。

获取支持向量

支持向量是位于间隔边界内的样本,其大小通常被约束为 1。我们可以通过决策函数来获取支持向量。我们将使用 decision_function() 函数来获取模型的决策函数。然后,我们将根据决策函数计算支持向量。

绘制支持向量

我们将在与数据相同的图表上绘制支持向量。我们将使用 scatter() 函数来绘制支持向量。

显示决策边界

我们将在图表上显示决策边界。我们将使用 DecisionBoundaryDisplay 类来显示决策边界。

显示图表

最后,我们将显示带有支持向量和决策边界的图表。

总结

在本实验中,我们学习了如何绘制线性支持向量分类器(LinearSVC)的支持向量。我们使用 decision_function() 函数来获取模型的决策函数,然后根据该决策函数计算支持向量。我们还学习了如何使用 DecisionBoundaryDisplay 类在图表上显示决策边界。