0% ont trouvé ce document utile (0 vote)
2 vues17 pages

Cours Python Pour Machine Learning M2 2026

Le document présente un cours complet sur le Machine Learning, incluant des définitions, des types d'apprentissage, un pipeline standard pour les projets ML, ainsi que des algorithmes et techniques d'évaluation. Il couvre également des exemples pratiques et des laboratoires pour appliquer les concepts, tels que la régression linéaire, la classification et le clustering. Enfin, il aborde le déploiement de modèles et la création d'API pour des applications ML.

Transféré par

dwolfdoe.msg
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues17 pages

Cours Python Pour Machine Learning M2 2026

Le document présente un cours complet sur le Machine Learning, incluant des définitions, des types d'apprentissage, un pipeline standard pour les projets ML, ainsi que des algorithmes et techniques d'évaluation. Il couvre également des exemples pratiques et des laboratoires pour appliquer les concepts, tels que la régression linéaire, la classification et le clustering. Enfin, il aborde le déploiement de modèles et la création d'API pour des applications ML.

Transféré par

dwolfdoe.msg
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

COURS COMPLET

MACHINE LEARNING

1. Introduction au Machine Learning


1.1 Définition
Le Machine Learning (ML) est une branche de l’Intelligence Artificielle permettant à une
machine d'apprendre automatiquement à partir de données sans être explicitement
programmée.

Au lieu d'écrire :

SI email contient "gagner argent"


ALORS spam

on entraîne un modèle :

Données → apprentissage → modèle

Le modèle apprend les patterns statistiques.

1.2 Domaines d'application


Exemples :

Domaine Exemple
Finance détection fraude
Médecine diagnostic maladie
Marketing recommandation produits
Réseaux détection intrusion
Automobile voiture autonome

1.3 Types de Machine Learning


supervised Learning

Apprentissage avec labels.

Exemple :
Age Salaire Achat
25 400$ Oui
45 1200$ Non

Le modèle apprend :

Age + salaire → achat

Applications :

• Classification
• Régression

Unsupervised Learning

Pas de labels.

Exemple :

Segmentation clients.

Algorithme découvre :

Groupes naturels dans les données

Reinforcement Learning

Apprentissage par récompense/punition.

Exemple :

• robot
• jeu d'échecs
• voiture autonome

2. Pipeline Machine Learning


Un projet ML suit un pipeline standard.

Collecte données

Préparation données

Feature Engineering

Training modèle

Evaluation

Déploiement

3. Environnement de travail
Stack classique :

Python
Jupyter Notebook
Numpy
Pandas
Scikit-learn
Matplotlib

Installation :

pip install numpy pandas scikit-learn matplotlib jupyter

Lancer notebook :

jupyter notebook

4. Manipulation des données


Bibliothèque principale :

Pandas

Exemple
Dataset :

[Link]
hours score
2 20
4 40
6 60

Charger les données


import pandas as pd
data = pd.read_csv("[Link]")

print([Link]())

Séparer variables
X = data[['hours']]
y = data['score']

5. Feature Engineering
Les features sont les variables utilisées pour l'apprentissage.

Exemple :

Dataset immobilier :

| surface | chambres | ville | prix |

On peut créer :

prix / surface

6. Algorithmes de Machine Learning

6.1 Régression linéaire


Objectif :

Prédire une valeur continue

Exemple :

heures étude → note examen

Modèle
y = ax + b

Exemple Python
from sklearn.linear_model import LinearRegression

model = LinearRegression()

[Link](X, y)

prediction = [Link]([[5]])

print(prediction)

6.2 Classification
Objectif :

Prédire une classe.

Exemple :

email → spam / non spam

Algorithmes populaires
Algorithme Utilisation
Logistic Regression classification simple
Decision Tree interprétable
Random Forest robuste
SVM haute dimension

Exemple Logistic Regression


from sklearn.linear_model import LogisticRegression

model = LogisticRegression()

[Link](X_train, y_train)

pred = [Link](X_test)

6.3 Clustering
Algorithme non supervisé.

Objectif :

regrouper données similaires


K-Means

Principe :

1. choisir K centres
2. assigner points
3. recalculer centres

Exemple
from [Link] import KMeans

model = KMeans(n_clusters=3)

[Link](X)

7. Evaluation des modèles

Train / Test split


On divise les données :

80% entrainement
20% test

Code
from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(


X, y, test_size=0.2)

8. Metrics d’évaluation

Classification
métrique signification
Accuracy précision globale
Precision exactitude positive
Recall détection positive
F1 score équilibre

Exemple
from [Link] import accuracy_score

accuracy_score(y_test, pred)

9. Overfitting vs Underfitting

Overfitting
Le modèle mémorise les données.

Problème :

train accuracy = 99%


test accuracy = 60%

Solutions
• plus de données
• regularisation
• cross validation

10. Cross Validation


Technique pour améliorer la généralisation.

Exemple :

K-Fold Cross Validation

Code
from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)

11. Pipeline Machine Learning


Scikit-learn propose des pipelines.

Exemple
from [Link] import Pipeline
from [Link] import StandardScaler
from sklearn.linear_model import LogisticRegression

pipeline = Pipeline([
('scaler', StandardScaler()),
('model', LogisticRegression())
])

12. Sauvegarder un modèle

Joblib
import joblib

[Link](model, "[Link]")

Chargement :

model = [Link]("[Link]")

13. Déploiement d’un modèle


Plusieurs options :

technologie usage
Flask API ML
FastAPI API rapide
Docker container
Kubernetes production
Exemple API FastAPI
from fastapi import FastAPI
import joblib

app = FastAPI()

model = [Link]("[Link]")

@[Link]("/predict")
def predict(hours: float):
result = [Link]([[hours]])
return {"score": result[0]}

14. Lab pratique


Projet :

Prédiction du prix immobilier

Dataset :

surface
chambres
age maison
prix

Étapes

Charger dataset

data = pd.read_csv("[Link]")

Préparer données

Train / Test

Entrainer modèle

Evaluer

Sauvegarder
LABS PRATIQUES MACHINE
LEARNING

LAB 1 — Installation de l’environnement ML


Objectif
Installer l’environnement Python pour le Machine Learning.

Étapes
Créer un environnement :

python3 -m venv ml-env

Activer :

Linux / Mac

source ml-env/bin/activate

Windows

ml-env\Scripts\activate

Installer les librairies :

pip install numpy pandas scikit-learn matplotlib jupyter

Lancer Jupyter :

jupyter notebook

Résultat attendu :

Interface web Jupyter ouverte

LAB 2 — Charger un dataset avec Pandas


Objectif
Lire un dataset CSV.
Dataset :

[Link]
hours score
2 21
4 45
6 63

Code :

import pandas as pd

data = pd.read_csv("[Link]")

print([Link]())

Résultat attendu :

hours score
2 21
4 45
6 63

LAB 3 — Analyse exploratoire des données


Objectif
Comprendre les données.

Code :

print([Link]())

Visualisation :

import [Link] as plt

[Link](data['hours'], data['score'])
[Link]()

Observation :

relation linéaire positive

LAB 4 — Préparation des données


Objectif
Séparer variables indépendantes et cible.

Code :

X = data[['hours']]
y = data['score']

LAB 5 — Train/Test Split


Objectif
Diviser les données.

Code :

from sklearn.model_selection import train_test_split

X_train, X_test, y_train, y_test = train_test_split(


X, y, test_size=0.2)

Résultat :

80% training
20% test

LAB 6 — Régression linéaire


Objectif
Prédire une note.

Code :

from sklearn.linear_model import LinearRegression

model = LinearRegression()

[Link](X_train, y_train)

prediction = [Link]([[5]])

print(prediction)

Résultat attendu :

environ 50
LAB 7 — Visualisation du modèle
Code :

[Link](X, y)
[Link](X, [Link](X))
[Link]()

Résultat :

droite de regression

LAB 8 — Classification simple


Dataset :

[Link]
length links spam
50 1 0
200 10 1

Code :

from sklearn.linear_model import LogisticRegression

model = LogisticRegression()

[Link](X_train, y_train)

LAB 9 — Evaluation modèle classification


Code :

from [Link] import accuracy_score

pred = [Link](X_test)

print(accuracy_score(y_test, pred))

LAB 10 — Matrice de confusion


Code :
from [Link] import confusion_matrix

print(confusion_matrix(y_test, pred))

Résultat :

TP FP
FN TN

LAB 11 — Arbre de décision


Code :

from [Link] import DecisionTreeClassifier

model = DecisionTreeClassifier()

[Link](X_train, y_train)

LAB 12 — Random Forest


Code :

from [Link] import RandomForestClassifier

model = RandomForestClassifier()

[Link](X_train, y_train)

Avantage :

moins de sur-apprentissage

LAB 13 — Clustering avec K-Means


Dataset :

[Link]
revenu age
1500 22
4500 45

Code :

from [Link] import KMeans

model = KMeans(n_clusters=3)
[Link](data)

LAB 14 — Visualisation des clusters


Code :

[Link](data['revenu'], data['age'], c=model.labels_)


[Link]()

Résultat :

3 groupes clients

LAB 15 — Feature Scaling


Objectif :

normaliser les données.

Code :

from [Link] import StandardScaler

scaler = StandardScaler()

X_scaled = scaler.fit_transform(X)

LAB 16 — Pipeline Machine Learning


Code :

from [Link] import Pipeline

pipeline = Pipeline([
('scaler', StandardScaler()),
('model', LogisticRegression())
])

[Link](X_train, y_train)

LAB 17 — Cross Validation


Code :
from sklearn.model_selection import cross_val_score

scores = cross_val_score(model, X, y, cv=5)

print(scores)

Résultat :

5 scores accuracy

LAB 18 — Sauvegarde du modèle


Code :

import joblib

[Link](model, "[Link]")

Chargement :

model = [Link]("[Link]")

LAB 19 — API de prédiction


Créer API avec FastAPI.

from fastapi import FastAPI


import joblib

app = FastAPI()

model = [Link]("[Link]")

@[Link]("/predict")
def predict(hours: float):
result = [Link]([[hours]])
return {"score": result[0]}

Lancer :

uvicorn main:app --reload

LAB 20 — Mini projet complet


Projet :

Prédiction réussite étudiant


Dataset :

hours absences score

Pipeline :

Pandas

Scikit-learn

MLflow

Docker

Kubernetes

Étapes :

1 Collecte données
2 Nettoyage
3 Training modèle
4 Evaluation
5 API
6 Déploiement

Résultat
• Python ML
• Scikit-learn
• Data preprocessing
• Training modèles
• Evaluation
• API ML
• pipeline ML

Vous aimerez peut-être aussi