python svm 决策方程_如何在sklearnpython中绘制SVM决策边界?

为了能够绘制线性SVC的判定边界,您需要首先选择2个特征。在

然后使用这个:

使用虹膜数据集绘制2个特征的二维图from sklearn.svm import SVC

import numpy as np

import matplotlib.pyplot as plt

from sklearn import svm, datasets

iris = datasets.load_iris()

# Select 2 features / variable for the 2D plot that we are going to create.

X = iris.data[:, :2] # we only take the first two features.

y = iris.target

def make_meshgrid(x, y, h=.02):

x_min, x_max = x.min() - 1, x.max() + 1

y_min, y_max = y.min() - 1, y.max() + 1

xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))

return xx, yy

def plot_contours(ax, clf, xx, yy, **params):

Z = clf.predict(np.c_[xx.ravel(), yy.ravel()])

Z = Z.reshape(xx.shape)

out = ax.contourf(xx, yy, Z, **params)

return out

mode

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要可视化SVM决策边界,你可以使用Python的一些数据可视化库,例如Matplotlib和Scikit-learn。下面是一个基本的示例代码,演示了如何绘制SVM决策边界: ```python import numpy as np import matplotlib.pyplot as plt from sklearn import svm # 创建一些样本数据 X = np.array([[2, 2], [1, 3], [2, 3], [3, 1], [3, 2]]) y = np.array([0, 0, 0, 1, 1]) # 创建一个SVM分类器,并训练模型 clf = svm.SVC(kernel='linear') clf.fit(X, y) # 绘制样本点 plt.scatter(X[:, 0], X[:, 1], c=y, cmap=plt.cm.Paired) # 绘制决策边界 ax = plt.gca() xlim = ax.get_xlim() ylim = ax.get_ylim() # 创建网格以绘制决策边界 xx = np.linspace(xlim[0], xlim[1], 30) yy = np.linspace(ylim[0], ylim[1], 30) YY, XX = np.meshgrid(yy, xx) xy = np.vstack([XX.ravel(), YY.ravel()]).T Z = clf.decision_function(xy).reshape(XX.shape) # 绘制决策边界和边界间隔 ax.contour(XX, YY, Z, levels=[-1, 0, 1], alpha=0.5, linestyles=['--', '-', '--'], colors='red') # 绘制支持向量 ax.scatter(clf.support_vectors_[:, 0], clf.support_vectors_[:, 1], s=100, linewidth=1, facecolors='none', edgecolors='black') plt.show() ``` 这段代码首先创建了一些样本数据,然后使用SVC类创建了一个线性核的SVM分类器。接下来,我们用样本点绘制散点图,并使用决策函数绘制决策边界和边界间隔。最后,绘制支持向量。 运行这段代码,你将得到一个显示决策边界和支持向量的散点图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值