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.
É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.
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()
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()
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!