当前位置: 首页 > news >正文

js做网站百度2023免费

js做网站,百度2023免费,天津做网站公司,微信公众平台号登录官网支持向量机(SVM)是用于分类和回归任务的强大监督学习模型。它们受欢迎背后的一个关键因素是它们有效处理线性和非线性数据的能力。在本文中,我们将探索使用Python和流行的库(如scikit-learn和Matplotlib)可视化SVM。 …

支持向量机(SVM)是用于分类和回归任务的强大监督学习模型。它们受欢迎背后的一个关键因素是它们有效处理线性和非线性数据的能力。在本文中,我们将探索使用Python和流行的库(如scikit-learn和Matplotlib)可视化SVM。

支持向量机(SVM)

支持向量机的工作原理是找到最佳的超平面,最好地分离特征空间中的类。选择超平面以使边缘最大化,边缘是超平面与每个类的最近数据点之间的距离,称为支持向量。这个超平面是通过求解一个优化问题来确定的,该优化问题的目标是最小化分类误差,同时最大化间隔。

SVM可以通过使用不同的核函数(如线性、多项式、径向基函数(RBF)和sigmoid核)来用于线性和非线性分类任务。这些内核允许支持向量机通过将原始特征空间映射到更高维的空间来处理非线性决策边界,其中类变得可分离。

可视化线性SVM

让我们首先使用Iris数据集可视化一个简单的线性SVM。我们将使用Scikit-Learn生成数据并训练SVM模型。然后,我们将绘制决策边界和支持向量,以了解模型如何分离类。

导入必要的库并加载数据集

该数据集包含三种鸢尾花的萼片和花瓣尺寸的测量值。在这里,只有前两个特征(萼片长度和宽度)被保留用于可视化目的。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:, :2]  # Only first two features for visualization
y = iris.target

基于线性核的SVM训练

在Iris数据集上训练具有线性核的SVM模型。线性核适用于线性可分数据,旨在找到分离不同类别的最佳超平面。

# Train SVM with linear kernel
clf_linear = SVC(kernel='linear')
clf_linear.fit(X, y)

创建决策边界

创建网格以覆盖特征空间。这允许生成用于可视化目的的点。SVM模型的决策边界将绘制在此网格上。

# Create a mesh to plot decision boundaries
h = 0.02  # step size in the mesh
x_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1
y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1
xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))

线性支持向量机决策边界的绘制

绘制了具有线性核的SVM的决策边界。这是通过使用predict方法预测网格上所有点的类标签来实现的。然后使用填充轮廓图(plt.contourf)可视化决策边界,并将原始数据点覆盖在图上以供参考。

# Plot decision boundary of Linear SVM
Z_linear = clf_linear.predict(np.c_[xx.ravel(), yy.ravel()])
Z_linear = Z_linear.reshape(xx.shape)
plt.contourf(xx, yy, Z_linear, cmap=plt.cm.Paired, alpha=0.8)
plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)
plt.title('Linear SVM')
plt.xlabel('Sepal Length')
plt.ylabel('Sepal Width')
plt.xlim(xx.min(), xx.max())
plt.ylim(yy.min(), yy.max())
plt.show()

在这里插入图片描述
在上面的可视化中,线性SVM以线性方式对数据点进行分类。尽管准确度不是很高,我们可以清楚地看到红色部分有大量错误分类的数据点,但这就是非线性svm的用武之地。

可视化非线性SVM

SVM还可以通过使用核函数来处理非线性决策边界。让我们使用具有多项式内核的相同Iris数据集来可视化非线性SVM。

理解γ参数对RBF核函数的影响

在可视化非线性支持向量机之前,让我们来探讨一下RBF核中γ参数的影响。
γ参数显著影响RBF核在SVM中的行为。它本质上决定了单个数据点对决策边界的影响。

  • 较低的γ值会导致每个数据点的影响更大,从而导致更平滑的决策边界。
  • 相反,较高的γ值会缩小数据点的影响,从而创建更复杂且可能过度拟合的决策边界。

定义γ值

定义了一个名为gamma_values的列表,包含γ超参数的不同值,控制单个训练示例的影响。

import numpy as np
import matplotlib.pyplot as plt
from sklearn import datasets
from sklearn.svm import SVC
iris = datasets.load_iris()
X = iris.data[:, :2]  # Only first two features for visualization
y = iris.targetgamma_values = [0.1, 1, 10, 50, 100, 200]

为每个γ值绘制决策边界

  1. 将创建一个大小为20×10英寸的图形,以容纳每个γ值的子图。代码迭代gamma_values列表中的每个γ值。对于每个γ值,使用指定的γ值训练具有RBF核的SVM模型。
  2. 在循环内部,创建一个meshgrid来覆盖特征空间,允许生成用于可视化目的的点。网格定义为步长为0.02。
  3. 对于每个γ值,绘制具有RBF核的SVM的决策边界。这是通过使用predict方法预测网格上所有点的类标签来实现的。
  4. 然后使用填充轮廓图(plt.contourf)可视化决策边界。原始数据点覆盖在图上以供参考,颜色对应于其各自的类别标签。
# Plot decision boundaries for each gamma value
plt.figure(figsize=(20, 10))
for i, gamma in enumerate(gamma_values, 1):# Train SVM with RBF kernelclf_rbf = SVC(kernel='rbf', gamma=gamma)clf_rbf.fit(X, y)# Create a mesh to plot decision boundariesh = 0.02  # step size in the meshx_min, x_max = X[:, 0].min() - 1, X[:, 0].max() + 1y_min, y_max = X[:, 1].min() - 1, X[:, 1].max() + 1xx, yy = np.meshgrid(np.arange(x_min, x_max, h),np.arange(y_min, y_max, h))# Plot decision boundaryplt.subplot(2, 3, i)Z_rbf = clf_rbf.predict(np.c_[xx.ravel(), yy.ravel()])Z_rbf = Z_rbf.reshape(xx.shape)plt.contourf(xx, yy, Z_rbf, cmap=plt.cm.Paired, alpha=0.8)plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired)plt.title(f'RBF SVM (Gamma={gamma})')plt.xlabel('Sepal Length')plt.ylabel('Sepal Width')plt.xlim(xx.min(), xx.max())plt.ylim(yy.min(), yy.max())plt.tight_layout()
plt.show()

在这里插入图片描述
在上面的可视化中,γ值显然对模型的准确性和复杂性有很大影响。

  • 我们选择了6个不同的γ值,因此我们有6个不同的可视化,γ值越高,准确度越高,这就是为什么在γ值为200的可视化中,我们的模型几乎完美地分类了数据点。
  • 但是当我们选择γ值为50的模型时,它与线性SVM的结果非常相似,准确性也不是很高。

结论

总之,支持向量机(SVM)是线性和非线性分类任务的强大模型。可视化支持向量机,特别是使用不同的内核和超参数,可以提供对其行为和性能的有价值的见解。

http://www.hkea.cn/news/276368/

相关文章:

  • 长春网站开发培训价格google play三件套
  • 做生存分析的网站有哪些国外新闻最新消息
  • 济南网站优化收费百度互联网营销
  • bootstrap响应网站模板下载发帖推广百度首页
  • 动态网站上的查询怎么做新媒体运营培训学校
  • 网站开发人员必备技能百度优化推广
  • 花都 网站建设百度推广怎么添加关键词
  • 开发公司成本部职责岗位职责和流程苏州网站建设优化
  • 湛江网站制作系统seo排名需要多少钱
  • 城乡现代社区建设seo关键词推广案例
  • 旅游网站开发外文文献关键洞察力
  • 大学生asp网站开发的实训周长沙百度快速优化
  • 黑龙江省建设网站百度投流运营
  • 网站关键词太多好不好兰州seo整站优化服务商
  • 义乌网站设计网店推广策划方案
  • 无锡网站优化工作室网站关键词排名优化推广软件
  • 长沙做网站的公司亚马逊seo什么意思
  • 仪征建设银行官方网站怎么优化一个网站
  • 那个网站可以查询美做空基金宁波网站推广平台效果好
  • 杨凌企业网站建设天津seo优化
  • 建设网站的工具免费b站在线观看人数在哪儿
  • 毕业设计餐饮网站建设国内前10电商代运营公司
  • 日本b2b网站市场调研的步骤
  • 强企网做网站网店推广有哪些
  • 博物馆网站建设策划书公司如何在百度宣传
  • 做cpa广告网站教程百度sem推广具体做什么
  • 免费网站建站WWW222国际军事最新消息今天
  • 做网站软件miscrosoft云服务器
  • 如何做盗版小说网站最经典的营销案例
  • 设计类的网站和简介关键词优化推广排名多少钱