温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SVM在python中的原理是什么

发布时间:2021-04-29 11:08:00 来源:亿速云 阅读:227 作者:小新 栏目:编程语言

这篇文章主要介绍了SVM在python中的原理是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

python有哪些常用库

python常用的库:1.requesuts;2.scrapy;3.pillow;4.twisted;5.numpy;6.matplotlib;7.pygama;8.ipyhton等。

在python中除了编程化的知识点外,对于数学方法的算法也有所涉及,SVM就是一种很好地体现。我们学习过数学中的坐标方法,分别是点、线、面连接成图形,SVM也继承了这方面的画图方法。下面我们学习SVM的有关概念,然后就其核心代码进行分析,体会SVM的使用原理。

1.概念理解

“支持向量机”(SVM)是一种监督机器学习算法,可用于分类或回归挑战。然而,它主要用于分类问题。在这个算法中,我们将每一个数据项作为一个点在n维空间中(其中n是你拥有的特征数)作为一个点,每一个特征值都是一个特定坐标的值。然后,我们通过查找区分这两个类的超平面来进行分类。

2.核心代码

模型本身并不难,就是要画出相应的图

clf = SVC(kernel = "linear").fit(X,y)
print(clf.predict(X))

预测又对X自己预测了一变。按照核心代码依旧延续sklearn的风格,十分简单。

可视化可能优点麻烦,需要用到下面这个函数。这个函数只需输入clf即可。

def plot_svc_decision_function(model,ax=None):
    if ax is None:
        ax = plt.gca()
    xlim = ax.get_xlim()
    ylim = ax.get_ylim()
    x = np.linspace(xlim[0],xlim[1],30)
    y = np.linspace(ylim[0],ylim[1],30)
    Y,X = np.meshgrid(y,x)
    xy = np.vstack([X.ravel(), Y.ravel()]).T
    #decision_function这个函数可以返回给定的x,y点到决策边界(也就是点到SVM所得到划分线的距离)
    P = model.decision_function(xy).reshape(X.shape)
    ax.contour(X, Y, P,colors="k",levels=[-1,0,1],alpha=0.5,linestyles=["--","-","--"])
    ax.set_xlim(xlim)
    ax.set_ylim(ylim)

函数大概思路就是首先生成一个网格,然后计算网格中各个点到决策边界的距离,最后绘制等高线(算出的距离相等的一条线)。

感谢你能够认真阅读完这篇文章,希望小编分享的“SVM在python中的原理是什么”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI