支持向量机(Support Vector Machine,SVM)

这篇具有很好参考价值的文章主要介绍了支持向量机(Support Vector Machine,SVM)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        支持向量机是一种基于统计学习理论的模式识别方法。SVM的目的是为了找到一个超平面,使得它能够尽可能多的将两类数据点正确的分开,同时使分开的两类数据点距离分类面最远。为了达到该目的,通常构造一个在约束条件下的优化问题,通过求解该问题,从而得到一个分类器。

支持向量机,机器学习,支持向量机,人工智能

支持向量机,机器学习,支持向量机,人工智能 

        支持向量机倾向给出把握程度更高的预测结果,也就是说最终通过支持向量机的计算出的预测结果其实就是一个概率,从中选出预测结果最高的作为最终结果。

        支持向量机学习方法包含构建由简至繁的模型:线性支持向量机、线性可分支持向量机及非线性支持向量机。

        支持向量机在众多的机器学习算法中以良好的性能立足于机器学习领域。如果不考虑集成学习的算法,不考虑特定的数据集特性问题,在分类算法的模型评估中SVM是表现最好的。SVM是一个二分类算法,他支持线性分类和非线性分类。通过不断演变,SVM也可以支持多元分类,经过扩展,也可以运用于回归问题。

         核函数(kernel Function):表示将输入从输入空间映射到特征空间得到特征向量之间的内积。

支持向量机,机器学习,支持向量机,人工智能

支持向量机,机器学习,支持向量机,人工智能

实例讲解:

鸢尾花数据准备:

from Sklearn.datasets import load_iris
import pandas as pd

iris = load_iris()
data = pd.DataFrame(iris.data,columns = ['花瓣长度','花瓣宽度','花萼长度','花萼宽度'])

data['类别'] = iris.target
data.head()

支持向量机,机器学习,支持向量机,人工智能

数据处理:

import matplotlib.pyplot as plt 
#检查是否有空数据
for i in range(data.columns.size):
    col = data.columns[i]
    data[data[col].isnull()]
data.head() #无空数据,将不空的数据显示出来,发现与原数据相同

 文章来源地址https://www.toymoban.com/news/detail-598576.html

支持向量机,机器学习,支持向量机,人工智能

直方图展示各个维度上数据的分布:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']   #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False    #用来正常显示负号

plt.figure(figsize=(15,10))
for i in range(data.columns.size):
    plt.subplot(2,3,i+1)
    col = data.columns[i]
    plt.hist(data[col])
    plt.xlabel(col)
plt.show()

 支持向量机,机器学习,支持向量机,人工智能

通过箱型图探索每个维度上是否具有异常值

plt.figure(figsize=(15,10))
for i in range(data.columns.size):
    plt.subplot(2,3,i+1)
    col = data.columns[i]
    data[col].plot(kind = 'box')
plt.show()

 支持向量机,机器学习,支持向量机,人工智能

数据清洗异常值:

def dealdf(data):
    deal = pd.Series().index
    for col in data.columns:
        s=data[col]
        a=s.describe()
        high=a['75%']+(a['75%']-a['25%'])*1.5
        low =a['25%']-(a['75%']-a['25%'])*1.5
        abn = s[(s>high)|(s<low)]
        print(col,list(abn.index))
        deal = deal|abn.index     #对异常值进行或运算,将其清洗出去
    return deal
data = data.drop(dealdf(data))
data.shape

支持向量机,机器学习,支持向量机,人工智能

 划分数据集:

from sklearn.model_selection import train_test_split
X_train,X_test,y_train,y_test = train_test_split(data,data['类别'],test_size=0.2,random_state=0)

 支持向量机的分类:

from sklearn.svm import SVC
svc = SVC()                 #建立模型
svc.fit(X_train,y_train)    #训练模型
svc.score(X_test,y_test)    #模型评估
svc.predict(X_test)         #输出测试集分类结果

       支持向量机,机器学习,支持向量机,人工智能

 

到了这里,关于支持向量机(Support Vector Machine,SVM)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 人工智能_机器学习065_SVM支持向量机KKT条件_深度理解KKT条件下的损失函数求解过程_公式详细推导_---人工智能工作笔记0105

    之前我们已经说了KKT条件,其实就是用来解决 如何实现对,不等式条件下的,目标函数的求解问题,之前我们说的拉格朗日乘数法,是用来对 等式条件下的目标函数进行求解. KKT条件是这样做的,添加了一个阿尔法平方对吧,这个阿尔法平方肯定是大于0的,那么 可以结合下面的文章去

    2024年02月04日
    浏览(43)
  • 机器学习-支持向量机SVM

    在本练习中,我们将使用支持向量机(SVM)来构建垃圾邮件分类器。 我们将从一些简单的2D数据集开始使用SVM来查看它们的工作原理。 然后,我们将对一组原始电子邮件进行一些预处理工作,并使用SVM在处理的电子邮件上构建分类器,以确定它们是否为垃圾邮件。 我们要做

    2024年02月12日
    浏览(55)
  • 机器学习——支持向量机SVM

    支持向量机(SVM)是一种二类分类模型,其基本模型是在特征空间上找到最佳的分离超平面使得训练集上正负样本间隔最大,间隔最大使它有别于感知机,支持向量机也可通过核技巧使它成为非线性分类器。支持向量机的学习策略是间隔最大化,可将其转化为一个求解凸二次

    2024年01月17日
    浏览(57)
  • SVM(支持向量机)-机器学习

    支持向量机(Support Vector Machine,SVM) 是一种用于分类和回归分析的监督学习算法 。它属于机器学习中的一类强大而灵活的模型,广泛应用于模式识别、图像分类、自然语言处理等领域。 基本原理: SVM的基本原理是通过找到能够有效分隔不同类别的超平面来进行分类。在二维

    2024年02月03日
    浏览(52)
  • 机器学习算法:支持向量机(SVM)

    Solem《python计算机视觉编程》、李航《统计学习方法》、周志华《机器学习》 要理解好支持向量机需要较好的数学功底,且能不被公式以及文字绕晕,这里我们就理清楚支持向量机的大体过程。具体的数学计算推导其实已经封装好了,那么理解算法的原理也对我们将来的学习

    2024年02月03日
    浏览(51)
  • 【机器学习】SVM支持向量机模型

     本站原创文章,转载请说明来自 《老饼讲解-机器学习》 ml.bbbdata.com 目录 一. SVM的目标和思想    1.1 SVM硬间隔模型的原始目的 1.2 SVM的直接目标 1.3 什么是支持向量  二. SVM的支持平面的表示方式 2.1 支持面表示方式的初步思路 2.2 初步思路的缺陷与改进 2.3 支持面的最终表示

    2023年04月23日
    浏览(205)
  • 机器学习(六)支持向量机(SVM)

    目录 1.间隔与支持向量 1.1线性可分 1.2支持向量 1.3 最大间隔超平面 2.对偶问题 2.1拉格朗日乘子法 2.2 SMO算法 2.3SMO算法代码实现 3.核函数 4. SVM实例(手写体数字识别) 5.实验总结 支持向量机(SVM) 是有监督学习中最有影响力的机器学习算法之一,一般用于解决二分类问题(

    2024年02月09日
    浏览(57)
  • 【机器学习】支持向量机SVM入门

    相较于之前学习的线性回归和神经网络,支持向量机(Supprot Vector Machine,简称SVM)在拟合复杂的非线性方程的时候拥有更出色的能力,该算法也是十分经典的算法之一。接下来我们需要学习这种算法 首先我们回顾逻辑回归中的经典假设函数,如下图: 对于任意一个实例 (

    2024年02月15日
    浏览(57)
  • 机器学习:基于支持向量机(SVM)进行人脸识别预测

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 专栏案例:

    2024年01月23日
    浏览(50)
  • 一文全解经典机器学习算法之支持向量机SVM(关键词:SVM,对偶、间隔、支持向量、核函数、特征空间、分类)

    之前所介绍的逻辑回归是基于似然度的分类方法,通过对数据概率进行建模来得到软输出。但这种分类方法其实稍加“繁琐”,因为要 估计数据的概率分布作为中间步骤 。这就像当一个人学习英语时,他只要直接报个班或者自己看书就行了,而不需要先学习诘屈聱牙的拉丁

    2024年02月03日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包