Beim maschinellen Lernen wird die Support Vector Machine (SVM) häufig zur Datenklassifizierung und Regressionsanalyse verwendet. Dabei handelt es sich um ein Diskriminanzalgorithmusmodell, das auf der Trennung von Hyperebenen basiert. Mit anderen Worten: Bei gegebenen beschrifteten Trainingsdaten gibt der Algorithmus eine optimale Hyperebene zur Klassifizierung neuer Beispiele aus.
Das Support Vector Machine (SVM)-Algorithmusmodell stellt Beispiele als Punkte im Raum dar. Nach der Zuordnung werden Beispiele verschiedener Kategorien so weit wie möglich unterteilt. Zusätzlich zur Durchführung einer linearen Klassifizierung können Support-Vektor-Maschinen (SVMs) effizient eine nichtlineare Klassifizierung durchführen, indem sie ihre Eingaben implizit in einen hochdimensionalen Merkmalsraum abbilden.
Anhand einer Reihe von Trainingsbeispielen wird jedes Trainingsbeispiel mit einer Kategorie gemäß zwei Kategorien markiert. Anschließend wird ein Modell mithilfe des Trainingsalgorithmus der Support Vector Machine (SVM) erstellt und diesen beiden Kategorien neue Beispiele zugewiesen dass es zu einem nicht-probabilistischen binären linearen Klassifikator wird.
Voraussetzungen: Numpy, Pandas, matplot-lib, scikit-learn
Erstellen Sie zunächst den Datensatz
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()
Klassifizierung
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()
Das obige ist der detaillierte Inhalt vonPython implementiert die SVM-Klassifizierung (Support Vector Machine): Detaillierte Erläuterung der Algorithmusprinzipien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!