Cognitive Science">
Nothing Special   »   [go: up one dir, main page]

TP SVM

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 8

Master Data Science & Big Data

Année 2022-2023
TP : Machine Learning

TP-SVM

 Support Vector Machine ou (Machine à vecteurs de support)


Le but de ce TP est l’application des concepts étudies sur SVM.

Le Support Vector Machine (SVM) est l'un des algorithmes d'apprentissage


supervisé les plus connu. C'est l'une des méthodes de prédiction les plus
robustes basées sur le cadre d'apprentissage statistique. Il est utilisé dans
diverses applications telles que la détection de visages, la détection
d'intrusion, la classification des e-mails, des articles de presse et des pages
Web, la classification des gènes et la reconnaissance d'écriture.
L'objectif principal du SVM est de séparer l'ensemble de données donné de la
meilleure façon possible.
En bref, les machines à vecteurs de support séparent les données en
différentes classes à l'aide d'un hyperplan. Un hyperplan est une frontière de
décision telle qu'un point, une ligne ou un plan qui sépare les classes de
données.
La distance entre les points les plus proches est appelée marge.

Bonne Chance !
Le SVM cherche l'hyperplan marginal maximal qui divise le mieux l'ensemble
de données en classes.

Dans cette présentation, nous apprendrons à mettre en œuvre le SVM pour la


classification en utilisant la bibliothèque scikit-learn en Python.
Prenons un exemple simple de classification de genre en utilisant SVM. Voici le
code fourni.

Il utilise d'abord "from sklearn import svm" pour importer la bibliothèque


SVM. Ce problème comporte trois caractéristiques : la taille, le poids et la
pointure.
La cible est le genre. Les données de genre ont deux classes : masculin et
féminin, représentées par zéro et un respectivement.
Ici, vous pouvez construire un modèle pour classer le type de genre.
1- Commençons par charger l'ensemble de données requis que vous
utiliserez.
2- Nous pouvons suivre la convention de scikit-learn et créer deux tableaux
distincts de données. Il utilise un tableau appelé X pour stocker quatre
échantillons de caractéristiques. La lettre est en majuscule car il s'agit
d'un tableau multidimensionnel. Un tableau 'y' stocke les genres. 0 pour

Bonne Chance !
les hommes et 1 pour les femmes. La lettre n'est pas en majuscule car il
s'agit d'un tableau unidimensionnel.
3- Construisons maintenant un modèle de machine à vecteurs de support.
Scikit-learn fournit une classe de classifieur de machine à vecteurs de
support appelée SVC() pour gérer les classifications.
4- Importez d'abord le module SVM et créez un objet classificateur de
vecteurs de support comme indiqué à la ligne 11.
5- Voyez la ligne 14. La méthode fit() de la classe SVC() est appelée pour
entraîner l'algorithme sur les données d'entraînement, qui sont passées
en paramètre à la méthode fit().
6- Enfin, nous pouvons effectuer des prédictions sur l'ensemble de test en
utilisant predict().
7- La ligne 16 prédit le genre pour une taille, un poids et une pointure
donnés : 160 cm, 60 kg et 7.
Lorsque vous exécutez le code, vous obtiendrez la sortie [1], ce qui
signifie que c'est une femme. Vous avez maintenant construit le premier
classifieur SVM et effectué des prédictions basées sur les données.

 Iris Flower Data Set classification with SVM


1- Importez les bibliothèques requises
2- Chargez et prétraitez les données (Utilisez la bibliothèque pandas
pour lire le fichier iris.csv et stockez-le dans une variable appelée df)
3- Divisez les données en ensembles d'entraînement et de test
4- Créez et entraînez le modèle SVM
5- Effectuez des prédictions et évaluez le modèle
6- Effectuez des prédictions sur de nouvelles données

 ECG Heartbeat Classification


Dataset: https://www.kaggle.com/datasets/shayanfazeli/heartbeat?
select=mitbih_test.csv
Description : Cet ensemble de données a été utilisé pour explorer la
classification des battements de cœur en utilisant des architectures de réseaux
de neurones profonds et observer certaines capacités de transfert
d'apprentissage sur celui-ci. Les signaux correspondent aux formes
d'électrocardiogramme (ECG) des battements de cœur pour le cas normal et les
cas affectés par différentes arythmies et infarctus du myocarde. Ces signaux

Bonne Chance !
sont prétraités et segmentés, chaque segment correspondant à un battement
de cœur.
1- Importez les bibliothèques requises
2- Nous commençons par charger les données et séparer la colonne
cible des caractéristiques d'entraînement.

3- Jetons un coup d'œil aux données. Nous avons des échantillons de


80K cycles ECG d'une seule impulsion. Chaque échantillon est une
série temporelle normalisée sur un intervalle [0,1] de séries
temporelles, avec des zéros ajoutés à la fin pour correspondre à une
plage de temps unifiée.

4- Voyons le code suivant :

Bonne Chance !
5- Essayons de comprendre notre variable cible. Nous avons une classe
à un échantillonnage excessif pour la classe "0" « oversampled "0"-
class. oversampled "0"-class. ».

Donner une interprétation.

Bonne Chance !
6- Preprocessing :
6.1- nous avons déjà beaucoup de zéros ajoutés à nos données, il est
juste d'utiliser des matrices éparses «Sparse Matrix » à la fin en fixant
un seuil pour notre signal.
6.2- nous pouvons ajouter des informations supplémentaires en
tenant compte de l'amplitude des gradients discrets du signal.
6.2- essayer d'ajouter une convolution manuelle, par exemple avec
une gaussienne discrète. De même, nous pouvons incorporer un
regroupement maximal manuel en utilisant la fonction
pd.DataFrame.rolling.
6.3- rééchantillonnons notre signal en utilisant scipy.signal.decimate.

***

Bonne Chance !
***

Ajustement d'un modèle avec Scikit-learn :


1- Ajustez un modèle SVM pour une classification multilibellée, vous pouvez
utiliser l'approche One-vs-Rest (un contre tous) en utilisant la classe
sklearn.svm.SVC de Scikit-learn.

2- Etape de prédiction

Bonne Chance !
3- Interpréter la matrice de confusion et l’accuracy et utiliser d’autres
métriques avec leurs interprétations.
4- Interpréter les résultats

Bonne Chance !

Vous aimerez peut-être aussi