Python implémente la classification des machines à vecteurs de support (SVM) : explication détaillée des principes de l'algorithme

WBOY
Libérer: 2024-01-24 09:33:05
avant
1117 Les gens l'ont consulté

支持向量机(SVM)算法原理 Python实现支持向量机(SVM)分类

Dans l'apprentissage automatique, la machine à vecteurs de support (SVM) est souvent utilisée pour la classification des données et l'analyse de régression. Il s'agit d'un modèle d'algorithme discriminant basé sur la séparation des hyperplans. En d’autres termes, étant donné les données d’entraînement étiquetées, l’algorithme génère un hyperplan optimal pour classer de nouveaux exemples.

Le modèle d'algorithme de machine à vecteurs de support (SVM) représente les exemples sous forme de points dans l'espace. Après la cartographie, les exemples de différentes catégories sont divisés autant que possible. En plus d'effectuer une classification linéaire, les machines à vecteurs de support (SVM) peuvent effectuer efficacement une classification non linéaire, en mappant implicitement leurs entrées dans un espace de fonctionnalités de grande dimension.

Que font les machines à vecteurs de support ?

Étant donné un ensemble d'exemples de formation, chaque exemple de formation est marqué d'une catégorie selon 2 catégories, puis un modèle est construit via l'algorithme de formation de la machine à vecteurs de support (SVM), et de nouveaux exemples sont attribués à ces 2 catégories, donc cela devient un classificateur linéaire binaire non probabiliste.

Python implémente la classification des machines à vecteurs de support (SVM)

Prérequis : Numpy, Pandas, matplot-lib, scikit-learn

Tout d'abord, créez l'ensemble de données

from sklearn.datasets.samples_generator import make_blobs
X,Y=make_blobs(n_samples=500,centers=2,
random_state=0,cluster_std=0.40)
import matplotlib.pyplot as plt
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring');
plt.show()
Copier après la connexion

Classification

xfit=np.linspace(-1,3.5)
plt.scatter(X[:,0],X[:,1],c=Y,s=50,cmap='spring')
for m,b,d in[(1,0.65,0.33),(0.5,1.6,0.55),(-0.2,2.9,0.2)]:
yfit=m*xfit+b
plt.plot(xfit,yfit,'-k')
plt.fill_between(xfit,yfit-d,yfit+d,edgecolor='none',
color='#AAAAAA',alpha=0.4)
plt.xlim(-1,3.5);
plt.show()
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:163.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal