Note

Go to the end to download the full example code. or to run this example in your browser via JupyterLite or Binder

SVM: Maximum margin separating hyperplane#

Plot the maximum margin separating hyperplane within a two-class separable dataset using a Support Vector Machine classifier with linear kernel.

plot separating hyperplane
# Authors: The scikit-learn developers
# SPDX-License-Identifier: BSD-3-Clause
importmatplotlib.pyplotasplt
fromsklearnimport svm
fromsklearn.datasetsimport make_blobs
fromsklearn.inspectionimport DecisionBoundaryDisplay
# we create 40 separable points
X, y = make_blobs (n_samples=40, centers=2, random_state=6)
# fit the model, don't regularize for illustration purposes
clf = svm.SVC (kernel="linear", C=1000)
clf.fit(X, y)
plt.scatter (X[:, 0], X[:, 1], c=y, s=30, cmap=plt.cm.Paired)
# plot the decision function
ax = plt.gca ()
DecisionBoundaryDisplay.from_estimator (
 clf,
 X,
 plot_method="contour",
 colors="k",
 levels=[-1, 0, 1],
 alpha=0.5,
 linestyles=["--", "-", "--"],
 ax=ax,
)
# plot support vectors
ax.scatter(
 clf.support_vectors_[:, 0],
 clf.support_vectors_[:, 1],
 s=100,
 linewidth=1,
 facecolors="none",
 edgecolors="k",
)
plt.show ()

Total running time of the script: (0 minutes 0.066 seconds)

Related examples

SVM: Separating hyperplane for unbalanced classes

SVM: Separating hyperplane for unbalanced classes

Plot the support vectors in LinearSVC

Plot the support vectors in LinearSVC

SGD: Maximum margin separating hyperplane

SGD: Maximum margin separating hyperplane

SVM with custom kernel

SVM with custom kernel

Gallery generated by Sphinx-Gallery