Ressources

Fiches Mémo IA

🧠 Concepts Fondamentaux

  • Machine Learning (ML) : Algorithmes apprenant des modèles à partir de données.
  • Deep Learning (DL) : ML utilisant des réseaux de neurones profonds.
  • Supervisé : Données étiquetées (X, y). Ex: Classification, Régression.
  • Non Supervisé : Données non étiquetées (X). Ex: Clustering, Réduction de dimension.
  • Train / Test Split : Toujours séparer les données (80% entraînement, 20% test) pour évaluer la généralisation.
  • Overfitting : Le modèle apprend le bruit par cœur (Bon en train, mauvais en test).

🛠️ Scikit-Learn (Machine Learning)

La bibliothèque standard pour le ML classique.

Imports Classiques

import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.metrics import accuracy_score, mean_squared_error

Algorithmes Principaux

Algorithme Type Utilisation Classe Sklearn
K-NN Classif/Reg Basé sur les voisins proches. Simple mais lent sur gros datasets. KNeighborsClassifier
Régression Linéaire Régression Prédire une valeur continue. LinearRegression
Régression Logistique Classification Prédire une classe binaire (0/1). LogisticRegression
Arbres de Décision Classif/Reg Règles if/else interprétables. DecisionTreeClassifier
Random Forest Classif/Reg Ensemble d'arbres. Robuste et puissant. RandomForestClassifier
SVM Classification Trouve la meilleure marge de séparation. SVC
K-Means Clustering Groupe les données en K paquets. KMeans

Workflow Type

# 1. Préparer les données
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)

# 2. Choisir le modèle
model = RandomForestClassifier()

# 3. Entraîner
model.fit(X_train, y_train)

# 4. Prédire et Évaluer
predictions = model.predict(X_test)
print(accuracy_score(y_test, predictions))

🔥 TensorFlow & Keras (Deep Learning)

Pour les tâches complexes (Vision, NLP, Audio).

Architecture de Base (MLP)

import tensorflow as tf
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Conv2D, Flatten

model = Sequential([
    Dense(64, activation='relu', input_shape=(10,)), # Couche cachée
    Dense(1, activation='sigmoid')                   # Sortie
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
model.fit(X_train, y_train, epochs=10)

Couches Spéciales

  • Conv2D : Convolution (pour les images).
  • MaxPooling2D : Réduit la taille des images.
  • Flatten : Aplatit les tenseurs multidimensionnels.
  • Dropout : Désactive aléatoirement des neurones (anti-overfitting).