autentisitet/python-sklearn-workflow

Conçoit des split, validation croisée, scoring, recherche, courbes de diagnostic, mise à l'échelle PCA, inspection de modèles, ColumnTransformer et Pipelines sans fuite de données pour scikit-learn. À utiliser lors de la construction ou de la révision d'un workflow d'évaluation sklearn.

Qu'est-ce que python-sklearn-workflow ?

Cette compétence guide les développeurs et les utilisateurs d'agents IA dans la création de workflows d'évaluation scikit-learn robustes et sans fuite de données. Elle couvre le choix des stratégies de validation croisée (KFold, StratifiedKFold, GroupKFold, TimeSeriesSplit), la mise en place de pipelines de prétraitement avec ColumnTransformer, les recherches d'hyperparamètres (GridSearchCV, RandomizedSearchCV), et l'ajout de courbes d'apprentissage/validation ainsi que de techniques d'inspection (permutation importance, dépendance partielle). L'accent est mis sur la prévention des fuites de données, un problème critique dans l'évaluation des modèles. La compétence est déclenchée par des tâches liées à la sélection de modèles, la validation croisée, le prétraitement ou l'inspection, et indique clairement quand ne pas l'utiliser (prédiction simple, suivi d'expériences, etc.). Elle fournit des références documentaires pour approfondir les sujets comme la sélection du splitter ou le prétraitement. L'utilisateur doit spécifier l'unité d'évaluation indépendante, la justification de la taille de l'ensemble de test, la stratégie de split et de scoring, la gestion du prétraitement, le budget de recherche, l'utilité des courbes, les méthodes d'inspection et les contrôles de fuite.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/autentisitet/python-engineering-skills/tree/HEAD/skills/python-sklearn-workflow

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Workflow Python Scikit-Learn

Activation

  • Déclencheur par mot-clé : la tâche implique de manière substantielle la sélection de modèles scikit-learn, KFold, StratifiedKFold, GroupKFold, TimeSeriesSplit, cross_validate, GridSearchCV, RandomizedSearchCV, les courbes d'apprentissage/validation, PCA, sklearn.inspection, ColumnTransformer ou Pipeline.
  • Déclencheur par intention : l'utilisateur demande comment diviser, prétraiter, régler, diagnostiquer ou interpréter un modèle scikit-learn sans fuite de données.
  • Divulgation : une fois au début du travail applicable, indiquer brièvement : Utilisation de $python-sklearn-workflow car cette tâche implique l'évaluation ou le prétraitement scikit-learn.
  • Sortie : cesser d'appliquer cette compétence lorsque les choix de division, de validation croisée, de prétraitement, de recherche et de diagnostic sont finalisés.
  • Ne pas déclencher : une mise à jour de dépendance, un suivi d'expériences lorsque les divisions/réglages sont déjà fixés, un appel predict ordinaire sur un estimateur déjà ajusté, un tracé de rapport à partir de prédictions déjà calculées, une question isolée sur l'API d'un estimateur, un pipeline d'apprentissage profond, ou une importation incidente ne sont pas suffisants. Le tracé appartient ici uniquement lorsque la tâche modifie le scoring, la conception de l'évaluation, la méthodologie de diagnostic ou l'inspection du modèle.

Commencer par l'Unité d'Évaluation

Avant de choisir un séparateur, identifiez ce qui doit rester indépendant entre l'entraînement et l'évaluation :

  • observations IID individuelles ;
  • étiquettes de classe avec résultats rares ;
  • utilisateurs, patients, appareils, sessions, emplacements ou autres groupes ;
  • observations futures chronologiques ; ou
  • une combinaison d'équilibre des classes et de groupes qui ne se chevauchent pas.

Choisissez l'ensemble de test et la stratégie de validation croisée à partir de cette unité, et non à partir d'un pourcentage par défaut préféré. Consultez references/model-selection-guide.md pour les choix de séparateur et de recherche.


Garder le Prétraitement à l'Intérieur du Plissement

  • Séparez tout ensemble de test final avant d'ajuster les scalers, imputeurs, encodeurs, sélecteurs de caractéristiques, PCA ou autres transformations apprises.
  • Placez le prétraitement appris et l'estimateur dans un Pipeline afin que chaque pli de validation croisée ajuste les transformations uniquement sur sa partition d'entraînement.
  • Utilisez ColumnTransformer lorsque des sous-ensembles de colonnes numériques, catégorielles, textuelles ou autres nécessitent des transformations différentes.
  • Recherchez les paramètres imbriqués via les noms du pipeline tels que preprocess__numeric__scaler ou model__C.
  • Ne prétraitez pas manuellement l'ensemble de données complet avant cross_val_score, cross_validate, la recherche par grille ou la recherche aléatoire.

Consultez references/preprocessing-inspection.md pour PCA, inspection et colonnes hétérogènes.


Sélectionner les Outils d'Évaluation et de Recherche de Manière Réfléchie

  • Utilisez cross_val_score pour une seule métrique et des scores de plis simples.
  • Utilisez cross_validate lorsque plusieurs métriques, scores d'entraînement, temps d'ajustement/score ou estimateurs retournés sont réellement nécessaires.
  • Utilisez GridSearchCV pour une grille de paramètres petite, discrète et justifiée où les combinaisons exhaustives correspondent au budget de calcul.
  • Utilisez RandomizedSearchCV pour des espaces plus grands, des distributions ou un budget de candidats fixe. Définissez n_iter et les distributions de paramètres délibérément.
  • Conservez la même sémantique de validation croisée et le même contrat de scoring lors des comparaisons de modèles. Transmettez correctement les groupes/métadonnées lorsque le séparateur les requiert.
  • Préservez un ensemble de test intact ou utilisez une évaluation imbriquée appropriée lorsque la sélection du modèle consomme tous les plis de développement.

Ajouter des Courbes et de l'Inspection pour Répondre à une Question

  • Utilisez learning_curve pour demander si davantage de données d'entraînement est susceptible de réduire l'écart entraînement/validation ou si les deux scores ont atteint un plateau.
  • Utilisez validation_curve pour inspecter le comportement entraînement/validation d'un seul hyperparamètre. Ce n'est pas un remplacement pour une recherche multi-paramètres ou un test final.
  • Utilisez sklearn.inspection.permutation_importance pour mesurer la dépendance du score d'un modèle ajusté aux caractéristiques, de préférence sur des données retenues après avoir confirmé que le modèle a une performance prédictive utile.
  • Utilisez la dépendance partielle ou ICE uniquement lorsque leurs hypothèses et la distribution des caractéristiques rendent le résultat interprétable.
  • N'ajoutez pas de graphiques d'inspection mécaniquement. Définissez d'abord la question de débogage, de fiabilité ou d'interprétabilité.

Sortie Requise

Indiquez l'unité d'évaluation indépendante ; la justification de la proportion de conservation ; le séparateur de validation croisée et le scoring sélectionnés ; le placement du prétraitement/PCA ; le budget de recherche par grille ou aléatoire ; si les courbes d'apprentissage/validation répondent à une question concrète ; la méthode d'inspection et l'ensemble de données ; les contrôles de fuite ; et le chemin final d'évaluation intact.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

autentisitet/python-callable-caching

Chooses Python callable ownership, including lambda versus named function and method versus module placement, plus properties, closures, cache lifetimes, construction/subclass hooks, and deterministic cleanup. Use when those design decisions affect reuse, binding, tracebacks, state, or lifetime. Do not use for ordinary calls to partial or other higher-order helpers, browser/distributed/external caches, dependency maintenance, or isolated syntax.

autentisitet/python-cli-file-workflows

Builds and reviews bounded-memory Python file-processing CLIs with explicit path bases, argparse contracts, and iterable- or callback-driven tqdm progress. Use when file scale, path ownership, progress semantics, or CLI behavior needs design. Never activate for tiny fixed fixtures that can be read wholly, swapping an already-chosen progress library, translation, documentation-only edits, dependency updates, web APIs, GUIs, shell-only scripts, or incidental Path/tqdm/argparse terms.

autentisitet/python-domain-modeling

Designs Python type annotations, domain objects, validation boundaries, dataclass/Pydantic models, invariants, interfaces, fixed choices, and object-copy semantics. Use when choosing ABC for owned nominal implementations versus Protocol for third-party structural compatibility, or when changing model behavior and boundary contracts. Never activate for dependency/version updates, translation, documentation-only edits, counting references, isolated syntax, or incidental modeling terms.

Skills associés