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

Machine LearningMachine LearningBeginner
立即练习

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

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

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

虚拟机提示

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

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL ml(("Machine Learning")) -.-> ml/FrameworkandSoftwareGroup(["Framework and Software"]) ml/FrameworkandSoftwareGroup -.-> ml/sklearn("scikit-learn") subgraph Lab Skills ml/sklearn -.-> lab-49197{{"线性支持向量分类器的支持向量"}} end

导入库

首先,我们需要为本实验导入必要的库。我们将使用 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 类在图表上显示决策边界。