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

湖南昌正建设有限公司网站网站模版网

湖南昌正建设有限公司网站,网站模版网,网站建设方案书doc模板,太原做响应式网站归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝心态决定高度,细节决定成败…

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝

心态决定高度,细节决定成败!

  

初识SVM算法:

        支持向量机(Support Vector Machine, SVM)是一种监督学习算法,主要用于分类和回归分析。SVM的基本模型是定义在特征空间上的间隔最大的线性分类器,其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。在分类任务中,SVM试图找到一个超平面来区分不同类别的数据,这个超平面不仅需要正确地分类训练数据,而且还要确保两类数据到这个超平面的距离最大化,这样可以使得模型具备更好的泛化能力。

        SVM能够执行线性或非线性分类、回归,甚至是异常值检测任务。它是机器学习领域最受欢迎的模型之一。SVM特别适用于中小型复杂数据集的分类。

超平⾯最⼤间隔

下面左图显示了三种可能的线性分类器的决策边界,虚线代表的模型表现⾮常糟糕,甚⾄都⽆法正确实现分类。

其余两个模型(红线和紫线)在训练集上表现比较完美,但是它们的决策边界与实例过于接近,导致在⾯对新实例时,表现可能不会太好。

而下面右图中的实线代表不仅分离了两个类别,且尽可能远离最近的训练实例

硬间隔和软间隔:

硬间隔分类:

        在上面我们使用超平面进行分割数据的过程中,如果我们严格地让所有实例都不在最大间隔之间,并且位于正确的一边,这就是硬间隔分类。

        硬间隔分类有两个问题,首先,它只在数据是线性可分离的时候才有效;其次,它对异常值非常敏感。

软间隔分类:

        要避免这些问题,最好使用更灵活的模型。目标是尽可能在保持最大间隔宽阔和限制间隔违例(即位于最大间隔之上,甚至在错误的一边的实例)之间找到良好的平衡,这就是软间隔分类。

下面我们来用python写一个简单的SVM模型:

使用Python实现一个简单的SVM算法,可以使用scikit-learn库,这是一个非常流行的机器学习库,它提供了SVM的支持。

首先,需要安装scikit-learn,可以通过pip来安装:

pip install scikit-learn

# 导入必要的库
from sklearn import svm  # SVM分类器
from sklearn.datasets import make_blobs  # 生成模拟数据
import numpy as np  # 数值计算库# 生成一些随机数据点,分成两组
X, y = make_blobs(n_samples=50, centers=2, random_state=0, cluster_std=0.60)# 创建一个线性核函数的SVM分类器
# kernel='linear' 指定使用线性核函数
# C=1.0 是惩罚参数C的倒数,表示对误分类的容忍度
clf = svm.SVC(kernel='linear', C=1.0)# 使用生成的数据训练SVM模型
# fit方法接受特征矩阵X和目标向量y
clf.fit(X, y)# 生成两个新的数据点,准备用于预测
new_data = np.array([[0, 0], [1, 1]])# 使用训练好的模型对新数据点进行预测
predictions = clf.predict(new_data)# 打印预测结果
print("Predictions:", predictions)

代码解释:

  1. 导入必要的库

    • sklearn:Scikit-Learn库,提供了各种机器学习算法。
    • numpy:用于数值运算的库。
  2. 生成数据

    • make_blobs函数用于生成一组模拟的聚类数据点。
    • n_samples参数指定要生成的数据点数量。
    • centers参数指定中心点的数量,本例中为2,意味着生成的数据将大致分为两组。
    • random_state用于设置随机种子,保证每次运行生成相同的数据。
    • cluster_std参数指定了簇的标准差,用来控制生成数据的分散程度。
  3. 创建SVM分类器

    svm.SVC()创建一个支持向量分类器对象。kernel='linear'参数指定使用线性核函数,即寻找一个线性决策边界。C=1.0参数控制了对误分类的惩罚程度,较大的C值意味着模型对误分类的容忍度更低。
  4. 训练模型

    fit(X, y)方法用于训练模型,其中X是特征矩阵,y是目标向量。
  5. 预测新数据

    predict(new_data)方法用于对新的数据点进行分类预测。
  6. 输出结果

    最后,打印出对新数据点的预测结果。

        这个示例展示了如何使用scikit-learnSVC类创建并训练一个简单的线性SVM分类器,并使用该分类器对新的数据点进行预测。这种类型的SVM非常适合处理线性可分的问题。

http://www.yayakq.cn/news/674302/

相关文章:

  • php网站开发wamp广西网络
  • 心理网站开发背景网站开发技术创业计划
  • 广州哪家做网站好杭州免费建站
  • 佛山市外贸网站建设网站长图怎么做
  • 网站模块在线制作h5网站建设功能计划表
  • 网站开发的基本流程和步骤wordpress管局备案
  • 建一个自己的网站上海已经开始二次感染
  • 淮安建设工程协会网站查询系统如何做网站来做淘宝客
  • 可以做内容的网站0基础多久学会网站架构
  • 网站建立要多少钱在线生成多款表白网站是怎么做的
  • 彭阳县城乡与住房建设局网站wordpress下载面板插件
  • 江西住房与城乡建设厅网站2021建站
  • 网站建设业务提成开封市建设中专继续教育网站
  • 淄博网站建设公司有几家网站建设用到的软件
  • 如何建立公司网站模块出入成都最新通知今天
  • 网站建设需要考虑哪些因素做网站的维护成本
  • 网站备案的原则c2c模式介绍
  • h5工具百度优化网站建设
  • 机械设备上海网站建设wordpress如何更换主机
  • 竞彩网站开发硬件开发技术
  • 做h网站网站正在建设中下载
  • 福建省建设执业注册与管理中心网站宿迁房产网签查询系统
  • 手机免费建网站seo计费系统源码
  • 网站建设一定要备案吗网站建设的常用软件有哪些
  • 国外做蒸汽锅炉的网站网站搭建的美工设计
  • 微网站设置怎么做微信上的网站吗
  • 美发企业网站模板家装设计网站开发
  • 来宾网站优化网站上的验证码怎么做的
  • 滨州 网站开发专业建设主考学校是什么意思
  • 网站建设及制作教程做网站永久