○ Les principaux points de cet article Notez que j'ai appris la machine vectorielle de support
Machine de vecteur de soutien: ・ Algorithmes pouvant être utilisés à la fois pour les problèmes de classification et les problèmes de régression ・ De meilleurs résultats peuvent être obtenus qu'en utilisant la régression logistique. ・ Une méthode pour obtenir une meilleure frontière en augmentant la marge (la distance entre les données d'apprentissage les plus proches de la limite de décision et la limite de décision). -Il existe des méthodes de marge dure et de marge souple. Définir avec des hyper paramètres Marge dure: une technique qui ne permet pas aux données de pénétrer dans la marge. Dessiner trop étroitement peut conduire à un surapprentissage. Marge souple: une méthode qui permet aux données d'entrer dans la marge. souple. ・ Apprendre avec l'enseignant
Machine de vecteur de soutien
from sklearn.svm import LinearSVC
from sklearn.datasets import make_blobs
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score
import matplotlib.pyplot as plt
%matplotlib inline
#Génération de données
centers = [(-1, -0.125), (0.5, 0.5)]
X, y = make_blobs(n_samples=50, n_features=2, centers=centers, cluster_std=0.3)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3)
#Création, formation et évaluation de modèles
model = LinearSVC()
model.fit(X_train, y_train) #Apprentissage
y_pred = model.predict(X_test)
accuracy_score(y_pred, y_test) #Évaluation
print(y_test) #Étiquette correcte des données de test
print(y_pred) #Libellé correct des données de prédiction
print(accuracy_score(y_pred, y_test)) #Taux de réponse correct
#Diagramme de dispersion des données de test
fig, ax = plt.subplots()
ax.scatter(X_test[:, [0]], y_test[:], c='blue', label='test data')
ax.legend()
résultat [1 0 0 1 0 0 0 1 1 0 0 1 1 1 0] [1 0 0 1 0 0 0 1 1 0 0 1 1 1 0] 1.0
-Les données de test et les données prédites sont en parfait accord, et le taux de réponse correct est de 100%. ・ Cependant, on ne peut pas dire que ce qui précède est un bon modèle en raison du manque de données. Testez le code jusqu'au dernier.
Recommended Posts