Description
LIBSVM est une bibliothèque logicielle complète et facile à utiliser conçue pour les machines à vecteurs de support (SVM). Elle fournit des implémentations pour la classification (C-SVC, nu-SVC), la régression (epsilon-SVR, nu-SVR) et l'estimation de distribution (SVM one-class). La bibliothèque est conçue pour être accessible aux utilisateurs de divers domaines qui souhaitent exploiter les SVM comme un outil puissant.
Les principales caractéristiques de LIBSVM incluent des capacités de classification multi-classe efficaces et la prise en charge de diverses formulations SVM. Elle offre une gamme de fonctions de noyau, y compris linéaire, polynomial, fonction de base radiale (RBF) et sigmoïde, avec des options pour les matrices de noyau précalculées. Pour gérer les ensembles de données déséquilibrés, LIBSVM prend en charge les SVM pondérés. La bibliothèque fournit également la validation croisée pour la sélection de modèles et des estimations de probabilité pour les tâches de classification et de régression.
LIBSVM est conçu avec une interface simple, permettant aux utilisateurs de l'intégrer facilement dans leurs propres programmes. Il est disponible avec le code source C++ et Java, et inclut des interfaces pour de nombreux langages et environnements de programmation tels que Python, R, MATLAB, Perl, Ruby, Weka, Common LISP, CLISP, Haskell, OCaml, LabVIEW et PHP. De plus, du code C# .NET et des extensions CUDA sont disponibles, et il est intégré dans des environnements d'exploration de données comme RapidMiner et PCP.
Le package comprend des outils pour la mise à l'échelle des données et la sélection automatique de modèles, tels que le script `grid.py` qui génère des courbes de niveau de précision de validation croisée, aidant à l'optimisation des paramètres. Le projet a une histoire d'applications réussies, ses développeurs ayant remporté plusieurs défis, dont le défi IJCNN 2001 et le défi WCCI 2008 Causation and Prediction. La dernière version, 3.37, a été publiée en décembre 2025, avec des mises à jour et des corrections de bugs continues.
LIBSVM vise à démocratiser l'utilisation des SVM en fournissant une bibliothèque robuste, efficace et bien documentée. Son support linguistique étendu et ses capacités d'intégration en font un choix polyvalent pour les chercheurs et les développeurs travaillant sur des tâches d'apprentissage automatique. Le projet maintient également une page pour les jeux de données LIBSVM et propose des guides pratiques pour les débutants.
Fonctionnalités principales de LIBSVM
Prend en charge C-SVC, nu-SVC, SVM one-class, epsilon-SVR et nu-SVR
Classification multi-classe efficace
Diverses fonctions de noyau : linéaire, polynomial, RBF, sigmoïde
SVM pondéré pour les données déséquilibrées
Validation croisée pour la sélection de modèles
Estimations de probabilité
Inclut des outils de mise à l'échelle des données
Sélection automatique de modèles avec optimisation des paramètres
Code source C++ et Java disponible
Interfaces pour Python, R, MATLAB, Perl, Ruby, Weka, LISP, Haskell, OCaml, LabVIEW, PHP, C#, CUDA, Node.js, Javascript, Scilab, Nimrod, Julia, Android, GO, Gretl
Intégré dans des environnements d'exploration de données comme RapidMiner
Installable via des gestionnaires de paquets comme pip et vcpkg
Premiers pas avec LIBSVM
Télécharger LIBSVM : Obtenez la dernière version depuis le site officiel ou le dépôt GitHub.
Installer l'interface : Installez l'interface linguistique appropriée (par exemple, `pip install -U libsvm-official` pour Python).
Préparer les données : Formatez vos données d'entraînement et de test, potentiellement en utilisant les outils de mise à l'échelle fournis.
Configurer les paramètres : Sélectionnez le type de SVM, le noyau et d'autres paramètres à l'aide d'options en ligne de commande ou d'appels API.
Entraîner le modèle : Utilisez la bibliothèque LIBSVM ou l'outil en ligne de commande pour entraîner votre modèle SVM.
Évaluer le modèle : Effectuez une validation croisée ou utilisez des estimations de probabilité pour évaluer les performances du modèle.
Intégrer : Liez LIBSVM à vos propres programmes ou flux de travail d'exploration de données.
Cas d'utilisation de LIBSVM
- Tâches de classification
- Analyse de régression
- Estimation de distribution
- Optimisation des paramètres
- Exploration de données (Data Mining)
- Recherche en apprentissage automatique
- Prévision de charge
- Sélection de caractéristiques




