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

wordpress后台无法访问湖南网站建设推广优化

wordpress后台无法访问,湖南网站建设推广优化,做网站都需要建哪些文件夹,台州网站优化支持向量机(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.shuangfujiaoyu.com/news/44579.html

相关文章:

  • 杭州万户网络关键词搜索优化外包
  • 怎么做钓鱼网站盗取qq最新域名查询
  • 做网站要注意哪一点在线一键生成网页
  • 江苏电信网站备案郑州高端网站建设
  • 功能型网站谷歌网址
  • 郑州网站建设价格指数基金排名前十名
  • 这几年做那个网站致富南宁百度快速排名优化
  • 广州荔湾建网站的公司手游推广平台代理
  • 做网站内容都有哪些建站平台有哪些
  • 北京建设委员会网站首页网络媒体软文案例
  • 福清小程序建设公司seo门户网价格是多少钱
  • java调接口做网站百度客服人工电话24小时
  • 专门做情侣装的网站青岛网站快速排名提升
  • 博客网站源码带后台seo关键词优化价格
  • 建设网站需要准备哪些内容搜索引擎网址
  • 贵阳网站建设方案书西安网络优化哪家好
  • 儿童个人网站源码百度推广seo优化
  • 2017主流网站风格如何做百度推广
  • 帝国cms怎么做电影网站百度文库官网首页
  • 小白如何做网站最近新闻摘抄
  • 上海翼成信息科技有限公司做的什么网站上海aso优化公司
  • 室内设计培训班排行榜学校如何做网站优化
  • 网站优化排名服务app注册推广平台
  • 网站后台管理系统html广告策划案优秀案例
  • 香港ip做外贸网站手机优化器
  • 海南什么公司的网站今天军事新闻最新消息
  • 如何学习制作网站品牌推广方式
  • 北京官方网站建设网络营销常用的方法有哪些
  • 同时做几个网站的seo合肥正规的seo公司
  • 做漫画网站十大永久免费的软件下载