svm算法python实现,svmpython
在python中,除了编程知识点,还涉及到数学方法的算法,SVM就是一个很好的体现。我们学过数学中的坐标法,就是把点、线、面连成一个图形,SVM在这方面继承了作图法。先学习SVM的相关概念,再分析其核心代码,实现SVM的使用原理。
1.概念理解
支持向量机(SVM)是一种受监督的机器学习算法,可用于分类或回归挑战。但是,它主要用于分类问题。在这个算法中,我们把每个数据项作为N维空间中的一个点(其中N是你拥有的特征数)作为一个点,每个特征值是一个特定坐标的值。然后,我们通过找到区分这两类的超平面来对它们进行分类。
2.核心代码
模型本身不难,就是画出相应的图。
clf=SVC(kernel=linear )。拟合(X,y)
Print(clf.predict(X)) forecast预测X本身的另一个变化。根据核心代码,延续sklearn的风格非常简单。
可视化可能比较麻烦,所以需要使用以下函数。这个函数只需要输入clf。
defplot_svc_decision_function(模型,ax=无):
ifaxisNone:
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)。整形(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)函数的总体思路是首先生成一个网格,然后计算网格中各点到决策边界的距离,最后画出等高线(计算距离相等的线)。
以上是python中SVM的原理分析。了解了SVM的基本用法后,就可以练习核心代码,找到用SVM画图的关键实现方法了。
(推荐操作系统:windows7系统,Python 3.9.1,戴尔G3电脑。)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。