SVM est un algorithme de classification couramment utilisé, largement utilisé dans les domaines de l'apprentissage automatique et de l'exploration de données. En Python, l'implémentation de SVM est très pratique et peut être complétée en utilisant les bibliothèques appropriées.
Cet article expliquera comment utiliser SVM pour la classification en Python, y compris le prétraitement des données, la formation du modèle et le réglage des paramètres.
1. Prétraitement des données
Avant d'utiliser SVM pour la classification, nous devons prétraiter les données pour nous assurer qu'elles répondent aux exigences de l'algorithme SVM. Habituellement, le prétraitement des données comprend les aspects suivants :
2. Formation du modèle
Après le prétraitement des données, nous pouvons commencer la formation du modèle. En Python, nous pouvons utiliser des bibliothèques liées à SVM pour la formation de modèles.
Avant d'entraîner le modèle, nous devons importer les bibliothèques pertinentes :
importer numpy en tant que np
depuis sklearn.svm importer SVC
depuis sklearn.model_selection importer train_test_split
depuis sklearn.metrics importer précision_score
Ensuite, nous devons charger les données et diviser l'ensemble d'entraînement et l'ensemble de test :
data = np.loadtxt('data.txt', delimiter=',')
X = data[: , :-1]
y = data[:, -1]
X_train, fonction loadtxt dans. La fonction train_test_split est utilisée pour diviser aléatoirement les données en un ensemble d'apprentissage et un ensemble de test, et le paramètre test_size spécifie la proportion de l'ensemble de test.
clf = SVC(C=1.0, kernel='rbf', gamma='auto')
clf.fit(X_train, y_train)
Parmi eux, le paramètre C est le coefficient de régularisation, le paramètre noyau spécifie quelle fonction noyau utiliser et le paramètre gamma est utilisé pour contrôler l'influence de la fonction noyau. Dans cet exemple, nous utilisons la fonction noyau RBF.
y_pred = clf.predict(X_test)
acc = precision_score(y_test, y_pred)print('Accuracy:', acc)
où, la fonction precision_score est utilisée pour calculer la précision du modèle.
3. Réglage des paramètres
Après la formation du modèle, nous pouvons effectuer le réglage des paramètres pour améliorer encore l'effet de classification du modèle. Dans SVM, les méthodes de réglage des paramètres couramment utilisées incluent la recherche de grille et la validation croisée.
Recherche de grillefrom sklearn.model_selection import GridSearchCV
Définir la plage de paramètres
'kernel': ['linear', 'rbf'], 'gamma': ['auto', 0.1, 0.01]}
Effectuer une recherche de grille
Paramètres optimaux de sortie
Parmi eux, param_grid spécifie la plage de paramètres et le paramètre cv spécifie le nombre de croix -validation. Une fois l’exécution terminée, nous pouvons générer la combinaison optimale de paramètres.
Validation croiséefrom sklearn.model_selection import cross_val_score
Effectuer une validation croisée
Sortir les résultats de la validation croisée
où , le paramètre cv spécifie le nombre de validation croisée. Une fois l'exécution terminée, nous pouvons afficher les résultats de la validation croisée.
4. Résumé
Cet article présente comment utiliser SVM pour la classification en Python, y compris le prétraitement des données, la formation du modèle et le réglage des paramètres. Les problèmes de classification peuvent être résolus efficacement à l'aide de SVM, et les bibliothèques associées en Python fournissent également des outils pratiques pour implémenter SVM. J'espère que cet article pourra être utile aux lecteurs lorsqu'ils utilisent SVM pour la classification.
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!