Skip to content

Docs(ml-net,#18064): README ML.NET -- presenter ML-04b (validite des comparaisons) et completer ML-05b - #20613

Open
jsboige wants to merge 3 commits into
mainfrom
claude/18064-readme-mlnet
Open

jsboige wants to merge 3 commits into
mainfrom
claude/18064-readme-mlnet

Conversation

@jsboige

@jsboige jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner

See #18064

Summary

  • Le carnet ML-04b-ModelComparison-Validity-Python.ipynb (Python / scikit-learn / scipy, standalone) n'apparaissait nulle part dans le README de la série ML.NET. Constat MISSING_PRESENTATION de l'audit du 27/09 : CONFIRMED (0 occurrence de 04b ni de ModelComparison dans le README avant la PR).
  • Le carnet est présenté là où il s'insère dans le fil : après ML-04, dont il est le compagnon méthodologique. Sa propre barre de navigation pointe déjà ML-04-Python en précédent et ML-05-Python en suivant.
  • Ajouts dans la table Fondamentaux, le parcours Phase 1, la phrase d'introduction du parcours, la phrase des acquis, l'arbre du parcours fondamental et la section « Contenu détaillé ».
  • Second commit (349048debb) : ML-05b ajouté à l'arbre « Parcours avancé » et à « Contenu détaillé ». Constat hors audit, de la même classe de défaut, relevé à la relecture du fichier entier. La table avancée et le paragraphe Phase 2 le présentaient déjà.
  • Aucun total, aucun compte et aucun lien .html ajouté. Aucun carnet modifié.

Changes

Fichier unique : MyIA.AI.Notebooks/ML/ML.Net/README.md (+32 / -2), deux commits : 2db65e8dfd (ML-04b) et 349048debb (ML-05b).

Ligne (après PR) Ajout
16 Phrase d'introduction du parcours : « que prolonge la validité statistique d'une comparaison entre modèles (ML-04b, complément Python) »
40 Ligne 04b dans la table « Fondamentaux (ML-01 à ML-04) », après ML-04 (standalone Python (scikit-learn, scipy), 45-60 min)
76 Paragraphe « complément 4b » dans le parcours Phase 1
184 Section « ML-04b-ModelComparison-Validity-Python » dans « Contenu détaillé » (données, variance d'un split, k-fold, bootstrap, Nadeau-Bengio, taille d'effet / Bonferroni)
212 Section « ML-05b-Series-Temporelles-Classiques-Python » dans « Contenu détaillé », entre ML-05 et ML-06
348 Ligne 4b dans l'arbre « Parcours fondamental (débutant) », marquée facultative et Python
358 Ligne ML-05b dans l'arbre « Parcours avancé », entre ML-05 et ML-06
478 Phrase ajoutée au premier acquis « Évaluer rigoureusement et expliquer »

Choix de placement : la table Fondamentaux, car le carnet est le compagnon de ML-04, comme ML-05b est celui de ML-05 et figure juste après lui dans la table avancée (même convention pour les carnets standalone Python). La section ML-05b est rédigée d'après la lecture complète du carnet (objectifs, six parties, exercices).

La durée « 45-60 min » de ML-04b est une estimation (barème des exercices du carnet plus la lecture des cinq sections), à valider par l'auteur. Les profils « Développeur C# débutant » et « Data scientist » ne sont pas modifiés : leurs durées agrégées sont des totaux.

Verdicts

Constat Sévérité Verdict Preuve
ML/ML.Net/README.md : MISSING_PRESENTATION, carnet ML-04b-...ipynb absent du README MED CONFIRMED (corrigé) Sur origin/main : grep -c "04b" → 0 ; grep -n "ModelComparison|Validity" → aucune sortie. Le fichier s'appelle ML-04b-... (et non ML-4b-... comme l'écrit l'audit).
ML/ML.Net/README.md : ML-05b absent de l'arbre « Parcours avancé » et de « Contenu détaillé » — CONFIRMED (hors audit, même classe, corrigé) Sur origin/main : grep -n "05b" → lignes 46 (table) et 79 (paragraphe) seulement.

Validation

Barre de navigation du carnet ML-04b (placement) :

**Navigation** : [Index](README.md) | [<< ML-04](ML-04-Evaluation-Python.ipynb) | [Suivant ML-05 >>](ML-05-TimeSeries-Python.ipynb)

Liens, dump_readme_link_violations.py avant et après :

origin/main : n_violations 2, n_readmes 441
HEAD 349048debb : n_violations 2, n_readmes 441
ajoutées : []    retirées : []
violations dans ML/ML.Net/README.md : []

Les deux violations existantes sont dans GenAI/SemanticKernel/README.md, hors de cette PR. Les liens vers le carnet sont en .ipynb, forme de référence sur main (commit 99a31bb, #20550).

$ python scripts/notebook_tools/check_prose_quantitative_claims.py --diff origin/main...HEAD
[OK] aucun compteur quantitatif en prose.   (rc=0)

$ python scripts/notebook_tools/check_activity_leak.py --diff origin/main...HEAD
[OK] aucun passage d'activite dense ajoute (0 carnet(s) modifie(s) analyses, mentions isolees tolerees).   (rc=0)

Aucun titre existant modifié (deux ### ajoutés). Aucune ancre vers ce README dans le dépôt. Les cibles des nouveaux liens existent.

Ré-exécution du carnet ML-04b (contrôle, non committée)

Le carnet n'est pas modifié. Pour vérifier les sorties décrites, il a été ré-exécuté avec papermill vers un fichier temporaire (cwd = dossier du carnet) : rc=0, 23/23 cellules, 19.5 s (scikit-learn 1.9.1, scipy 1.18.1, pandas 3.0.6, numpy 2.5.4).

Les sorties diffèrent des sorties committées sur cinq cellules, à la quatrième décimale ou au-delà :

Cellule Committé Ré-exécuté
4 GradientBoosting R2 = 0.4241 0.4240
7 GradientBoosting R2 = 0.3621 +/- 0.1724 0.3634 +/- 0.1719
10 diff R2 = 0.0320, IC [-0.0489, 0.1168] 0.0321, IC [-0.0489, 0.1169]
13 t-test corrigé p = 0.0938 ; naïf p = 0.0342 p = 0.0993 ; naïf p = 0.0375
15 taille d'effet +0.547, p = 0.0938 +0.537, p = 0.0993

Les conclusions qualitatives sont identiques (IC qui contient 0, test corrigé non significatif, test naïf sous 0.05). Le README ne cite aucun de ces nombres. Cause non établie (versions des bibliothèques du run committé non documentées), à traiter séparément.

Incohérences relevées dans le carnet ML-04b (hors constat, non corrigées)

  • Cellule 0 : « RandomForest obtient R² = 0.42 ». La sortie committée de la cellule 4 donne RandomForest 0.4556 ; 0.4241 est la valeur de GradientBoosting.
  • Cellule 17 (stub de l'exercice 1) : le stub décrit un banc à 4 modèles et 6 paires Bonferroni, alors que la consigne (cellule 16) demande un IC bootstrap sur le RMSE d'un modèle unique.
  • Cellule 14 : la taille d'effet est annoncée « rank-biserial » avec une formule de rangs ; la cellule 15 calcule d_mean / sqrt(d_mean² + var(d)).

Incohérence du README hors constat, non corrigée : la section « Dépendances (packages NuGet) » ne couvre que les carnets C#.

Review Checklist

  • 1. Scope réel : un fichier, deux commits (ML-04b, ML-05b). Aucun compte, aucun lien .html, aucun carnet, aucun fichier du catalogue généré ni du bloc CATALOG-STATUS.
  • 2. Validation post-fix : contrôles relancés sur le commit final (349048debb).
  • 3. Cohérence pédagogique : description fidèle aux sections du carnet ; placement après ML-04 conforme à sa barre de navigation.
  • 4. Exécution réelle : N/A pour la PR (aucun carnet modifié). Contrôle : ML-04b ré-exécuté sans erreur, dérive numérique signalée ci-dessus.
  • 5. Regression check : aucun titre existant modifié, aucune ancre cassée, cibles des liens présentes.

Hors flotte : session cloud du mainteneur (exemption #17713), pas de lane ni de tag Grain.

🤖 Generated with Claude Code

https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA


Generated by Claude Code

Le carnet ML-04b-ModelComparison-Validity-Python (Python / scikit-learn /
scipy, standalone) n'etait mentionne nulle part dans le README de la serie
(constat MISSING_PRESENTATION de l'audit README du 27/09, verifie : 0
occurrence de "04b" ni de "ModelComparison" dans le README).

Ajouts, au fil de la serie (le carnet suit ML-04 dans sa propre barre de
navigation) :
- ligne 04b dans la table Fondamentaux, apres ML-04 ;
- paragraphe du complement 4b dans le parcours Phase 1 ;
- phrase d'introduction du parcours et phrase des acquis (ML-04) ;
- ligne 4b dans l'arbre du parcours fondamental (facultatif, Python) ;
- section "ML-04b-ModelComparison-Validity-Python" dans Contenu detaille.

Verdict :
- MISSING_PRESENTATION (ML-04b absent du README) : CONFIRMED, corrige.
  Nom reel du fichier : ML-04b-ModelComparison-Validity-Python.ipynb
  (l'audit l'ecrivait ML-4b).

Aucun compte ni total remis a jour. Aucun lien .html introduit : les liens
restent en .ipynb (forme de reference, arbitrage #18911 / #20550).
dump_readme_link_violations : 2 violations avant et apres, toutes deux dans
GenAI/SemanticKernel, aucune dans ML/ML.Net/README.md.

See #18064

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
…t le contenu detaille

Constat hors audit, meme classe de defaut que ML-04b (carnet absent de
listes du README). ML-05b-Series-Temporelles-Classiques-Python figurait deja
dans la table avancee (ligne 05b) et dans le paragraphe Phase 2, mais pas dans
l'arbre "Parcours avance" ni dans "Contenu detaille".

- arbre "Parcours avance" : ML-05b entre ML-05 et ML-06 (socle statistique) ;
- "Contenu detaille" : section ML-05b-Series-Temporelles-Classiques-Python
  (donnees daily-sales.csv, decomposition, ADF, ACF/PACF, SARIMA, lissage,
  backtest glissant), lue dans le carnet.

Aucun compte, aucun total, aucun carnet modifie.

See #18064

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01LRbWZZHE9jZscr8ya3niWA
@github-actions github-actions Bot added the variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol) label Oct 14, 2026

jsboige commented Oct 14, 2026

Copy link
Copy Markdown
Owner Author

Check rouge Always-on guards -- 16 organes, 1 checkout sur la tête 349048debb : il ne vient pas de cette PR.

Hors flotte : session cloud du mainteneur (exemption #17713).


Generated by Claude Code

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-tag-missing PR sans tag Grain: <TIER>/<GENRE> (variation-protocol)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants