2016 - 2024

感恩一路有你

matplotlib可以绘制极坐标吗 如何用Python实现支持向量机?

浏览量:3465 时间:2023-04-26 10:08:02 作者:采采

如何用Python实现支持向量机?

1、实现线性分类

将numpy作为np导入

作为工厂导入

从生成器导入make _ blobs

从导入服务中心

#随机生成的点,n_samples:样本点数;中心:样本点分为几类;Random_state:随机生成每次都是一致的;Cluster_std:每类样本点之间的分散度。值越大,分散度越大。

x,y make _ blob(n _ samples 50,centers2,random_state0,clust:,0],X[:,1],cy,cmapsummer)

#使用线性分类SVC拟合

#svc函数还可以包括以下参数(具体例子见):文章末尾

# 1,c(c越大,分类越严格,不能有错;当c趋于小时,意味着可以有更大的误差容限)

#2,内核(内核必须是[ ;线性和线性。;, 保利 , rbf , 乙状结肠 , 预计算 ],默认为 RBF ).

# 3,gamma(gamma越大,模型越复杂,会导致过拟合,对线性核函数没有影响)。

SVC型(内核线性)

(X,y)

绘图_ svc _决策_函数(模型)

这里我们用函数plot_svc_decision_function()画边界线,圈出支持向量。

def plot_svc_decision_function(型号,axNon:

#绘制2D SVC的决策函数

如果ax是Non:

ax plt.gca()

#找到图片的X轴和Y轴的边界

xlim _xlim()

ylim _ylim()

#创建网格以评估模型

x (xlim[0],xlim[1],30)

y (ylim[0],ylim[1],30)

y,X (y,X)

#在图上形成所有坐标点(900,2)和900个二维点。

xy np.vstack([X.ravel(),Y.ravel()])。T

#计算每个点到边界的距离(30,30)

P _function(xy)。重塑()

#绘制等高线(距离边界线为0的实线和距离为1的过度支持向量的虚线)。

(X,Y,P,colorsk,色阶[-1,0,1],alpha0.5,线型[-,-,- ])

#圈出支持向量

如果plot_support:

#_vectors_ function可以打印出所有支持向量的坐标。

(_vectors_[:,0],_vectors_[:,1],s200,c,edgecolorsk)

_xlim(xlim)

_ylim(ylim)

绘制效果图如下:

Python如何绘制长方形?

导入为plt #定义plt绘图组件。

d,e [-1,-1,1,1,-1],[-1,1,1,-1] #定义五个点。最后一点与第一点不谋而合。

(D,E) #依次在五个点前画四条线。形成一个长方形(这里是一个正方形)

()#显示图片

线性 函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。