Vous êtes sur la page 1sur 4

Atelier 

:ml-classification
SKLEARN, le meilleur package pour faire du machine Learning avec Python, Tous les
modèles, et tous les algorithmes de machine Learning ont déjà été implémentés avec une
architecture orientée objet, chaque modèle disposant de sa propre classe. KNN,
LinearRegression, Decision Trees, Support vector machines, etc.

 Les étapes à suivre sur sklean :


1. Sélectionner un estimateur et préciser ses hyperparamètres:
model=NomEstimateur(………………….) objet constructeur Hyperparamètres
Exemple1: Régression linéaire avec la méthode des moindres carré
Model=LinearRegression ()
2. Entrainer le modèle sur les données X, y
Model.fit(x,y)
3. Evaluer le modèle
model.score(x, y)
Remarque : Cette fonction retourne une valeur qui représente la performance du
modèle (Coefficient de détermination)
4. Utiliser le modèle pour faire la prédiction sur des nouvelles données X
Remarque : Cette fonction retourne les Target(y_pred) des données X
Exemple :

Etape 1 : Importer les librairies et notre dataset


On va importer notre Dataset avec Seaborn, Et on va importer pandas pour la manipulation de
notre dataset
import numpy as np
import pandas as pd
import seaborn as sns

titanic = sns.load_dataset('titanic')
titanic.shape
titanic.head()

Étape 2 : filtrer notre dataset


On va filtrer notre dataset en sélectionnant que les colonnes qui nous intéressent la colonne
« survived », « pclass », « sexe », « Age ».
titanic = titanic[['survived', 'pclass','sex','age']]

Étape 3 : Nettoyage de la dataset : Eliminer les données manquantes s’il


existe
On va éliminer les données qui sont manquantes dans ce dataset avec la méthode Dropna ()
titanic.dropna(axis=0,inplace=True)

Étape 4 : Transformation des variables qualitatives en des variables


quantitatives(sexe)
Puis la chose qui est très importante on va transférer les mots « male » et « female » par des
valeurs numériques à savoir 0 et 1 parce que pour faire du machine Learning il nous faut que
des valeurs numérique (on ne peut pas faire de calculs avec des mots)
titanic['sex'].replace(['male','female'],[0,1],inplace=True)
Afficher l’entête de notre dataset par la méthode titanic.head()
titanic.head()

Etape 3 : Développer le modèle et l’entraîner


Ensuite on va Développer un modèle de classification pour déterminer si un passager du
Titanic va survivre ou non au naufrage du navire
Pour résoudre un problème de classification, il faut commencer par charger un modèle de
classification on a choisi de travailler avec Knn
Charger le modèle qui résout notre problème :
On écrit : from Sklearn.neighbors import KNeighborsClassifier
from sklearn.neighbors import KNeighborsClassifier

On va initialiser notre modèle par : model= KNeighborsClassifier ()


Model = KNeighborsClassifier ()

Ensuite on va entrainer notre modèle des données (x, y)


Maintenant on a (x, y) dans un tableau pandas donc il va falloir diviser ce tableau en deux
tableau : un tableau y qui va être notre colonne « survived » et un tableau x qui va être tout le
reste du tableau pandas
Y= Titanic[‘survived’]
Et créer un tableau x en sélectionnant toutes les colonnes à l’exception de la colonne survived
y = titanic ['survived']
x = titanic.drop('survived', axis=1)
Etape 4 : évaluer notre modèle
model.fit(x,y)
model.score(x,y)
On va évaluer la performance de notre modèle
on obtient une précision de 83%, Donc le modèle arrive à classifier 83% des données.
Ça veut dire que 83% du temp notre modèle effectue une bonne prédiction
On va utiliser la méthode predict pour voir les passagers qui ont survécu et non.
Model.predict(x)

Etape 5 : créer la fonction survie et test le modèles sur des nouvelles
données
Maintenant on va faire la chose que vous attendez depuis le début de cours on va écrire une
fonction qui pour déterminer si oui ou non vous auriez survécu au naufrage du Titanic
On va créer une fonction survie () dans laquelle on va faire passer notre modèle ainsi qu’une
classe de passagers une valeur pour notre sex, une valeur pour notre âge
def survie(model, pclass=1, sex=0, age=24):
Dans cette fonction on va créer un tableau Numpy qui comprend ces différents éléments :
pclass, sex, âge
x= np.array([pclass, sex, age]).reshape(1,3)

Nb : il faut veiller à entrer ces données dans le bon ordre c’est-à-dire le même que celui avec
le cas de la machine a été entrainé

print(model.predict(x))
Et finalement on va appeler notre fonction pour savoir si oui ou non vous auriez survécu au
naufrage du Titanic.

Vous aimerez peut-être aussi