Module 2: Apprentissage supervisé
- 2.1: Les K plus Proches Voisins [Notebook]
- 2.2: Régression linéaire [Notebook]
- 2.3: Régression logistique [Notebook]
- 2.4: Séparatrices à Vastes Marges [Notebook]
- 2.5: Arbres de décision [Notebook]
- 2.6: Bagging [Notebook]
- 2.7: Forêts Aléatoires [Notebook]
- 2.8: Gradient Boosting [Notebook]
Objectif
Notre objectif est de prédire si un patient souffre ou non du diabète. Il s'agit d'un problème d'apprentissage supervisé, problème de classification.
Importer les libairies nécessaires
Importer les données depuis un fichier
La commande pour importer des données depuis un fichier .csv
c'est pandas.read_csv
.
Afficher les dimensions du tableau
Le jeu de données contient 768 données et 9 variables, les huit variables explicatives et une variable expliquée Outcome
Variable expliquée
La variable expliquée est Outcome
. Elle est encodée en 0 et 1, 0 pour négatif et 1 pour positif.
Table des effectifs
La méthode .value_counts
Deux types de graphes sont adaptés pour représenter: le diagramme en bâtons et le diagramme en secteurs.
Dans la pratique, lorsque le nombre de modalités dépasse trois, le diagramme en bâtons est préféré au digramme en secteurs. La comparaison est plus facile. Les tuyaux d'orgue sont une variante du diagramme en bâtons.
Table des fréquences
Nous utilisons toujours la méthode .value_counts
mais cette fois-ci en donnant la valeur True
à l'argument normalize
.
Diagramme en bâtons
Diagramme en secteurs (camenbert)
Le jeu de données est déséquilibré. Il y'a plus de 65%
de données négatives contre un peu plus de 34%
de données négatives. Il faudra en tenir compte de ce déséquilibre lors de l'échantillonnage des données d'entraînement.
Variables explicatives
En dessinant les boîtes à moustaches comme ci-dessus, on constate qu'il y'a une différence d'echelle entre les variables. Et on peut commencer par envisager de les centrer et de les réduire pour les ramener à la même échelle.
On remarque par ailleurs la présence de plusieurs valeurs atypiques pour la variable Insulin
. Nous allons regarder de plus près en étudiant les variables une à une.
L'histogramme
Nous allons enlever les données pour lesquelles Insulin > 400
.
De même que pour la variable Insulin
, nous allons enlever les données pour lesquelles DiabetesPedigreeFunction > 1.5
.
Suppression des données atypiques (outliers)
Nous avons ainsi enlevé 768-740=28
données atypiques qui sont succeptible de biaisé la modélisation.