Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/genai-helpers-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ name: GenAI-Helpers-Tests
# 3. pytest.ini gagne le testpath correspondant (découverte locale
# alignée sur la CI).
# 4. Les autres familles SANS trigger path-reactif (#13746 : GradeBookApp,
# 01-PythonForDataScience/tests, QuantConnect/scripts/tests) restent
# 01-Python-For-Data-Science/tests, QuantConnect/scripts/tests) restent
# HORS de cette PR — une famille par PR (G.4 anti-composite). NB : ces
# trois familles SONT exécutées par scripts-tests.yml (cibles du run
# + collect floors) ; ce qui leur manque est une entree paths: propre
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/scripts-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ on:
# #13746 tranche 2 : les trois suites executees par le bloc pytest
# ci-dessous qui ne vivent PAS sous scripts/** -- GradeBookApp,
# QuantConnect/scripts/tests (imports : audit_readme,
# validate_qc_notebooks, test_algorithms) et 01-PythonForDataScience/
# validate_qc_notebooks, test_algorithms) et 01-Python-For-Data-Science/
# tests (numpy/pandas purs, tests self-contenus sans reference aux
# notebooks) -- n'avaient aucun declencheur sur leurs propres arbres :
# elles ne s'executaient qu'en riders d'un push scripts/**, et une PR
Expand All @@ -129,7 +129,7 @@ on:
# Python (tests self-contenus), et GradeBookApp/** qui est la cible
# pytest verbatim. Miroir push/pull_request.
- 'MyIA.AI.Notebooks/QuantConnect/scripts/**'
- 'MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-PythonForDataScience/tests/**'
- 'MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-Python-For-Data-Science/tests/**'
- 'GradeBookApp/**'
pull_request:
branches: [main]
Expand Down Expand Up @@ -183,7 +183,7 @@ on:
- 'MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/tests/**'
# #13746 tranche 2 (mirror of the push paths above).
- 'MyIA.AI.Notebooks/QuantConnect/scripts/**'
- 'MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-PythonForDataScience/tests/**'
- 'MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-Python-For-Data-Science/tests/**'
- 'GradeBookApp/**'
workflow_dispatch:

Expand Down Expand Up @@ -412,7 +412,7 @@ jobs:
MyIA.AI.Notebooks/SymbolicAI/Lean/agent_tests/tests/test_prover_forensic_guards.py \
MyIA.AI.Notebooks/SymbolicAI/Lean/agent_tests/tests/test_provider_gate_18709.py \
MyIA.AI.Notebooks/GenAI/Audio/04-Applications/v4/prosody_lab/test_bake_bank.py \
MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-PythonForDataScience/tests \
MyIA.AI.Notebooks/ML/DataScienceWithAgents/01-Python-For-Data-Science/tests \
scripts/secrets/tests \
scripts/quantconnect/tests \
MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis \
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# 01-PythonForDataScience — Fondations NumPy & Pandas
# 01-Python-For-Data-Science — Fondations NumPy & Pandas

[← DataScienceWithAgents (parent)](../README.md) | [02-ML-Cours (suite) →](../02-ML-Cours/README.md)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
"source": [
"# 2.1 — Le workflow d'apprentissage automatique\n",
"\n",
"**Navigation** : [<< 01-PythonForDataScience](../01-PythonForDataScience/) | [2.2-Descente-de-gradient >>](2.2-Descente-de-gradient.ipynb) | [Index](../README.md)\n",
"**Navigation** : [<< 01-Python-For-Data-Science](../01-Python-For-Data-Science/) | [2.2-Descente-de-gradient >>](2.2-Descente-de-gradient.ipynb) | [Index](../README.md)\n",
"\n",
"**Kernel** : Python 3\n",
"\n",
Expand All @@ -33,7 +33,7 @@
"\n",
"### Prérequis\n",
"\n",
"- NumPy et Pandas (voir `01-PythonForDataScience`).\n",
"- NumPy et Pandas (voir `01-Python-For-Data-Science`).\n",
"- Bases de Python (boucles, fonctions, indexation).\n",
"\n",
"> **Référence.** Mitchell, T. (1997), *Machine Learning*, McGraw-Hill. La distinction entraînement/généralisation et le surapprentissage (overfitting) y sont définis comme le concept central de l'apprentissage supervisé."
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# 02-ML-Cours — Le socle Machine Learning canonique avec scikit-learn

[← DataScienceWithAgents (série parente)](../README.md) | [01-PythonForDataScience (prérequis) →](../01-PythonForDataScience/README.md)
[← DataScienceWithAgents (série parente)](../README.md) | [01-Python-For-Data-Science (prérequis) →](../01-Python-For-Data-Science/README.md)

**Kernel** : Python 3 · **Bibliothèque** : scikit-learn · **Niveau** : intermédiaire (post NumPy/Pandas)

**Environnement** : CPython 3.13 — `pip install -r [requirements.txt](requirements.txt)` installe toutes les dépendances de la série (relevées par imports : scikit-learn, optuna, shap, lime, dice-ml, diffprivlib, cvxpy, imbalanced-learn, umap-learn, statsmodels, torch). Sans lui, 2.10 / 2.12 / 2.14 / 2.14b / 2.15 lèvent une `ImportError` dès la première cellule.

## Pourquoi cette série

La formation `DataScienceWithAgents` saute aujourd'hui un maillon. Après les fondations NumPy/Pandas ([`01-PythonForDataScience`](../01-PythonForDataScience/)), les *labs agentic* (LangChain, Google ADK) demandent à des agents LLM de produire et d'exécuter du code de data science — y compris du machine learning. Mais entre les deux, **aucun notebook n'enseigne le workflow ML, un modèle ou une métrique comme un sujet en soi** : scikit-learn n'apparaît que comme une séquence magique non expliquée (un `fit()` isolé dans un lab de visualisation, ou cité en litteral dans une chaîne LLM).
La formation `DataScienceWithAgents` saute aujourd'hui un maillon. Après les fondations NumPy/Pandas ([`01-Python-For-Data-Science`](../01-Python-For-Data-Science/)), les *labs agentic* (LangChain, Google ADK) demandent à des agents LLM de produire et d'exécuter du code de data science — y compris du machine learning. Mais entre les deux, **aucun notebook n'enseigne le workflow ML, un modèle ou une métrique comme un sujet en soi** : scikit-learn n'apparaît que comme une séquence magique non expliquée (un `fit()` isolé dans un lab de visualisation, ou cité en litteral dans une chaîne LLM).

Cette série comble ce socle manquant. Elle pose, **à la main et de façon canonique**, les huit chapitres fondamentaux du machine learning supervisé et non supervisé — le référent qui rend *jugeable* ce qu'un agent produira ensuite. L'arc pédagogique suit la progression classique : le **workflow** d'ensemble, puis on ouvre les boîtes noires (**descente de gradient**, **fonction de lien**), on élargit la famille de modèles (**régression linéaire/logistique**, **arbres et ensembles**, **SVM à noyau et k plus proches voisins**), on formalise l'évaluation (**biais-variance, validation croisée, ROC, calibration des probabilités**), puis l'on bascule en **non supervisé** (**clustering, ACP**), avant de clore par le **cadre théorique** (**théorie PAC, dimension VC**). Chaque notebook rend visible un concept-phare — le surapprentissage, la divergence d'un learning rate, la frontière de décision, la réduction de variance, le coût d'un seuil, le kernel trick, la structure retrouvée sans étiquettes, et le nombre d'exemples suffisant pour généraliser.

Expand Down Expand Up @@ -208,7 +208,7 @@ Chaque notebook suit les mêmes conventions :

## Prérequis

- **NumPy et Pandas** : manipulation de tableaux et DataFrames ([`01-PythonForDataScience`](../01-PythonForDataScience/README.md)).
- **NumPy et Pandas** : manipulation de tableaux et DataFrames ([`01-Python-For-Data-Science`](../01-Python-For-Data-Science/README.md)).
- Notions de base : fonction, dérivée, variance, probabilité.

## Suite logique
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ Cette série ancre ses carnets dans la **référence canonique du deep learning*
gradient)](../02-ML-Cours/2.2-Descente-de-gradient.html), [2.8 (théorie PAC, la borne que
ce notebook confronte)](../02-ML-Cours/2.8-Theorie-PAC.html) et
[2.9 (le grokking boîte noire que le 3.5 rouvre à la main)](../02-ML-Cours/2.9-Grokking-Generalisation.html)
- NumPy niveau [1.2](../01-PythonForDataScience/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.html)
- NumPy niveau [1.2](../01-Python-For-Data-Science/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb)
(produits matriciels, broadcast)

## Environnement
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ Cette série suit la **même discipline que 03** : *from scratch PUIS framework,
## Prérequis

- [`03-DeepLearning`](../03-DeepLearning/README.md) en entier — en particulier [3.4 (Attention-Transformer from scratch)](../03-DeepLearning/3.4-Attention-Transformer-From-Scratch.html) qui partage le mécanisme résiduel.
- NumPy niveau [`01-PythonForDataScience/1.2`](../01-PythonForDataScience/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.html) (broadcast, produits matriciels).
- NumPy niveau [`01-Python-For-Data-Science/1.2`](../01-Python-For-Data-Science/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) (broadcast, produits matriciels).
- PyTorch CPU (installé via `pip install torch torchvision`).

## Environnement
Expand Down
18 changes: 9 additions & 9 deletions MyIA.AI.Notebooks/ML/DataScienceWithAgents/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ Labs 1 + 6 + 8. Découvrir le pipeline data science, construire un premier agent

```
DataScienceWithAgents/
├── 01-PythonForDataScience/ # Fondations Python
├── 01-Python-For-Data-Science/ # Fondations Python
│ └── notebooks/
│ ├── 1.1-Python_pour_la_Data_Science.ipynb
│ ├── 1.2-Manipulation_de_Donnees_avec_NumPy.ipynb
Expand Down Expand Up @@ -144,22 +144,22 @@ DataScienceWithAgents/
└── Day7-Production/ # Integration GCP
```

## Fondations (01-PythonForDataScience)
## Fondations (01-Python-For-Data-Science)

La porte d'entrée de la série, en amont de NumPy et Pandas : le strict minimum de Python pour lire la suite, puis les gestes que la data science suppose acquis — visualiser une question, nettoyer un jeu sale, décrire une distribution.

| Notebook | Contenu | Durée |
|----------|---------|-------|
| [1.1-Python](01-PythonForDataScience/notebooks/1.1-Python_pour_la_Data_Science.ipynb) | types et conversions (`float()` d'import), structures (`list`/`dict`/`tuple`/`set`), fonctions et docstring, compréhensions, fichiers en `with` + encodage explicite, traceback lu de bas en haut | 60-75 min |
| [1.2-NumPy](01-PythonForDataScience/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) | Arrays, opérations, vectorisation | 45 min |
| [1.3-Pandas](01-PythonForDataScience/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) | DataFrames, filtrage, groupby | 60 min |
| [1.4-Visualisation](01-PythonForDataScience/notebooks/1.4-Visualisation_Matplotlib_Seaborn.ipynb) | matplotlib d'abord (figure/axes, une question → un graphique), erreurs classiques (axe tronqué, surcharge), puis seaborn (`hue`, `pairplot`, heatmap de corrélation) — manchots de Palmer | 60 min |
| [1.5-Exploration](01-PythonForDataScience/notebooks/1.5-Exploration_Nettoyage_Donnees_Reelles.ipynb) | audit (dimensions/types/manquants/doublons), journal des décisions de nettoyage, quasi-doublon instruit, référence auteur reproduite à zéro divergence — sur `penguins_raw.csv` | 75 min |
| [1.6-Statistiques](01-PythonForDataScience/notebooks/1.6-Statistiques_Descriptives.ipynb) | tendance centrale, dispersion et coefficient de variation, asymétrie par sous-groupe, corrélation de Pearson et paradoxe de Simpson mesuré — renvoi vers [`Probas/`](../../Probas/README.md) | 60 min |
| [1.1-Python](01-Python-For-Data-Science/notebooks/1.1-Python_pour_la_Data_Science.ipynb) | types et conversions (`float()` d'import), structures (`list`/`dict`/`tuple`/`set`), fonctions et docstring, compréhensions, fichiers en `with` + encodage explicite, traceback lu de bas en haut | 60-75 min |
| [1.2-NumPy](01-Python-For-Data-Science/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) | Arrays, opérations, vectorisation | 45 min |
| [1.3-Pandas](01-Python-For-Data-Science/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) | DataFrames, filtrage, groupby | 60 min |
| [1.4-Visualisation](01-Python-For-Data-Science/notebooks/1.4-Visualisation_Matplotlib_Seaborn.ipynb) | matplotlib d'abord (figure/axes, une question → un graphique), erreurs classiques (axe tronqué, surcharge), puis seaborn (`hue`, `pairplot`, heatmap de corrélation) — manchots de Palmer | 60 min |
| [1.5-Exploration](01-Python-For-Data-Science/notebooks/1.5-Exploration_Nettoyage_Donnees_Reelles.ipynb) | audit (dimensions/types/manquants/doublons), journal des décisions de nettoyage, quasi-doublon instruit, référence auteur reproduite à zéro divergence — sur `penguins_raw.csv` | 75 min |
| [1.6-Statistiques](01-Python-For-Data-Science/notebooks/1.6-Statistiques_Descriptives.ipynb) | tendance centrale, dispersion et coefficient de variation, asymétrie par sous-groupe, corrélation de Pearson et paradoxe de Simpson mesuré — renvoi vers [`Probas/`](../../Probas/README.md) | 60 min |

> **Numérotation (règle d'accrétion).** La série commence à `1.1` — les notebooks `1.2` et `1.3` d'origine sont inchangés, et les prérequis s'insèrent autour d'eux. Continuité : `1.1` (Python) → `1.2` (NumPy) → `1.3` (Pandas) → `1.4` (Visualisation) → `1.5` (Exploration) → `1.6` (Statistiques) → [02-ML-Cours](02-ML-Cours/README.md).

Documentation complète : [01-PythonForDataScience/README.md](01-PythonForDataScience/README.md)
Documentation complète : [01-Python-For-Data-Science/README.md](01-Python-For-Data-Science/README.md)

## Fondations ML (02-ML-Cours)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[← DataScienceWithAgents (parent)](../README.md) | [Track2-GoogleADK (Google ADK) →](../Track2-GoogleADK/README.md)

Le track **LangChain** du workshop : 7 labs répartis sur 3 jours qui mènent de la prise en main des outils data science (Journée 1) jusqu'à la construction d'un agent d'analyse de données autonome (Journée 3). C'est le compagnon opérationnel des fondations [`01-PythonForDataScience`](../01-PythonForDataScience/README.md) et [`02-ML-Cours`](../02-ML-Cours/README.md) : on y apprend à orchestrer un LLM pour qu'il accomplisse des tâches data science concrètes — analyser un appel d'offres, pré-qualifier des CVs, nettoyer des données sales, interroger un DataFrame en langage naturel.
Le track **LangChain** du workshop : 7 labs répartis sur 3 jours qui mènent de la prise en main des outils data science (Journée 1) jusqu'à la construction d'un agent d'analyse de données autonome (Journée 3). C'est le compagnon opérationnel des fondations [`01-Python-For-Data-Science`](../01-Python-For-Data-Science/README.md) et [`02-ML-Cours`](../02-ML-Cours/README.md) : on y apprend à orchestrer un LLM pour qu'il accomplisse des tâches data science concrètes — analyser un appel d'offres, pré-qualifier des CVs, nettoyer des données sales, interroger un DataFrame en langage naturel.

## Pourquoi cette série

Expand Down Expand Up @@ -45,7 +45,7 @@ Chaque lab est accompagné de son propre [`README.md`](Day1-Foundations/Labs/REA

## Prérequis

- Fondations [`01-PythonForDataScience`](../01-PythonForDataScience/README.md) (NumPy/Pandas) et idéalement [`02-ML-Cours`](../02-ML-Cours/README.md) (workflow sklearn).
- Fondations [`01-Python-For-Data-Science`](../01-Python-For-Data-Science/README.md) (NumPy/Pandas) et idéalement [`02-ML-Cours`](../02-ML-Cours/README.md) (workflow sklearn).
- **LangChain** + clé API OpenAI (les labs 2, 3, 6, 7 appellent un LLM).

## Suite logique
Expand Down
10 changes: 5 additions & 5 deletions MyIA.AI.Notebooks/ML/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Le parcours Python s'articule en trois temps. Les **fondations** (NumPy/Pandas)
### Parcours Data Scientist classique (~12h)

1. [ML-01](ML.Net/ML-01-Introduction.html) → comprendre le pipeline ML
1. [NumPy](DataScienceWithAgents/01-PythonForDataScience/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) + [Pandas](DataScienceWithAgents/01-PythonForDataScience/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) → maîtriser les données
1. [NumPy](DataScienceWithAgents/01-Python-For-Data-Science/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) + [Pandas](DataScienceWithAgents/01-Python-For-Data-Science/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) → maîtriser les données
1. [Socle ML canonique 2.1 → 2.8](DataScienceWithAgents/02-ML-Cours/) → les fondamentaux scikit-learn (gradient, régressions, ensembles, biais-variance, non supervisé, PAC)
1. [ML-02](ML.Net/ML-02-Data&Features.html) + [ML-03](ML.Net/ML-03-Entrainement&AutoML.html) → entraîner des modèles
1. [ML-04](ML.Net/ML-04-Evaluation.html) → évaluer rigoureusement
Expand Down Expand Up @@ -122,7 +122,7 @@ ML/
│ └── taxi-fare.csv
│
├── DataScienceWithAgents/ # Data Science Python + AI Agents
│ ├── 01-PythonForDataScience/ # Fondations NumPy/Pandas
│ ├── 01-Python-For-Data-Science/ # Fondations NumPy/Pandas
│ ├── 02-ML-Cours/ # Socle ML canonique (scikit-learn)
│ │ ├── 2.8b-Theorie-PAC-Lean.ipynb # compagnon Lean (lean4-wsl) du lake learning_theory_lean (moitie PAC)
│ │ └── 2.8d-Lean-Novikoff-Convergence.ipynb # compagnon Lean (lean4-wsl) du lake learning_theory_lean (moitie Perceptron)
Expand Down Expand Up @@ -224,12 +224,12 @@ L'écart entre le pire et le meilleur essai est de **338×** — un fait pédago

Formation complète en Data Science Python enrichie d'agents IA. Vous commencerez par les fondamentaux (NumPy, Pandas), puis construirez des agents LLM capables d'analyser des données, de nettoyer des datasets, et de participer à des compétitions Kaggle. La seconde moitié plonge dans les frameworks Google ADK pour construire des systèmes multi-agents avancés.

### Fondations (01-PythonForDataScience)
### Fondations (01-Python-For-Data-Science)

| Notebook | Contenu |
|----------|---------|
| [1.2-NumPy](DataScienceWithAgents/01-PythonForDataScience/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) | Arrays, vectorisation, opérations |
| [1.3-Pandas](DataScienceWithAgents/01-PythonForDataScience/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) | DataFrames, filtrage, manipulation |
| [1.2-NumPy](DataScienceWithAgents/01-Python-For-Data-Science/notebooks/1.2-Manipulation_de_Donnees_avec_NumPy.ipynb) | Arrays, vectorisation, opérations |
| [1.3-Pandas](DataScienceWithAgents/01-Python-For-Data-Science/notebooks/1.3-Analyse_de_Donnees_avec_Pandas.ipynb) | DataFrames, filtrage, manipulation |

#### Trois figures du track Data Science (Pandas, Seaborn, ADK)

Expand Down
Loading
Loading