Classification: premier modèle avec les SVM

Download nbviewer Onyxia
Binder Open In Colab githubdev

Nous allons partir du même jeu de données que précédemment, c’est-à-dire les résultats des élections US 2020 présentés dans l’introduction de cette partie: les données de vote aux élections présidentielles américaines croisées à des variables sociodémographiques. Le code est disponible sur Github.

#!pip install --upgrade xlrd #colab bug verson xlrd
#!pip install geopandas

import requests

url = 'https://raw.githubusercontent.com/linogaliana/python-datascientist/master/content/course/modelisation/get_data.py'
r = requests.get(url, allow_redirects=True)
open('getdata.py', 'wb').write(r.content)

import getdata
votes = getdata.create_votes_dataframes()

Pour ce TP, nous aurons besoin des packages suivants :

import pandas as pd
import matplotlib.pyplot as plt

La méthode des SVM (Support Vector Machines)

L’une des méthodes de Machine Learning les plus utilisées en classification est les SVM. Il s’agit de trouver, dans un système de projection adéquat (noyau ou kernel), les paramètres de l’hyperplan (en fait d’un hyperplan à marges maximales) séparant les classes de données:

Exercice

# packages utiles
from sklearn import svm
import sklearn.metrics
from sklearn.model_selection import train_test_split
from sklearn.model_selection import cross_val_score

A l’issue de la question 3, le classifieur avec C = 1 devrait avoir les performances suivantes:

Score
Accuracy 0.868167
Recall 0.878307
Precision 0.97456
F1 0.923933

La matrice de confusion associée prend cette forme:

A l’issue de la question 6, le nouveau classifieur avec devrait avoir les performances suivantes :

Score
Accuracy 0.868167
Recall 0.878307
Precision 0.97456
F1 0.923933

Et la matrice de confusion associée:

Previous
Next