CommunityRecherche & Datenanalysegithub.com

autentisitet/python-sklearn-workflow

Entwirft leakagesichere Scikit-Learn-Splits, Kreuzvalidierung, Bewertung, Suche, Diagnosekurven, PCA-Skalierung, Modellinspektion, ColumnTransformer und Pipelines. Verwenden Sie dies beim Aufbau oder der Überprüfung eines sklearn-Evaluierungs-Workflows. Nicht verwenden für gewöhnliche Vorhersagen mit einem bereits angepassten Schätzer, das Plotten bereits berechneter Vorhersagen, Experimentverfolgung nach festgelegtem Evaluierungsdesign, Deep-Learning-Frameworks, reine Schätzer-Theorie oder beiläufige sklearn-Importe.

Was ist python-sklearn-workflow?

Dieses Skill (autentisitet/python-sklearn-workflow) unterstützt Entwickler beim Entwurf leakagesicherer Evaluierungs-Workflows mit scikit-learn. Es hilft dabei, den richtigen Splitter (z. B. KFold, StratifiedKFold, GroupKFold, TimeSeriesSplit) basierend auf der unabhängigen Evaluierungseinheit auszuwählen und stellt sicher, dass Vorverarbeitungsschritte (Skalierung, Imputation, Kodierung, PCA) innerhalb der Kreuzvalidierungsfalten mittels Pipeline und ColumnTransformer bleiben. Das Skill deckt auch die systematische Modellauswahl mit GridSearchCV oder RandomizedSearchCV ab, das Hinzufügen von Lern- und Validierungskurven zur Beantwortung konkreter Fragen sowie die Modellinspektion mit Permutation Importance oder partiellen Abhängigkeitsplots. Es ist für Claude Code (oder ähnliche KI-Agenten) auf jeder Plattform nutzbar, auf der solche Skills ausgeführt werden können. Die Hauptvorteile liegen in der Vermeidung von Datenlecks, der klaren Dokumentation der Evaluierungsstrategie und der erzwungenen Struktur, die den Nutzer zwingt, vor dem Plotten oder der Inspektion eine konkrete Frage zu definieren.

Funktioniert mit~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 & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Python Scikit-Learn Workflow

Aktivierung

  • Schlüsselwortauslöser: Die Aufgabe beinhaltet wesentlich scikit-learn Modellauswahl, KFold, StratifiedKFold, GroupKFold, TimeSeriesSplit, cross_validate, GridSearchCV, RandomizedSearchCV, Lern-/Validierungskurven, PCA, sklearn.inspection, ColumnTransformer oder Pipeline.
  • Absichtsauslöser: Der Benutzer fragt, wie ein scikit-learn Modell ohne Leck geteilt, vorverarbeitet, abgestimmt, diagnostiziert oder interpretiert werden kann.
  • Offenlegung: Geben Sie einmalig zu Beginn der anwendbaren Arbeit kurz an: Verwende $python-sklearn-workflow, da diese Aufgabe scikit-learn Evaluierung oder Vorverarbeitung beinhaltet.
  • Beenden: Stellen Sie die Anwendung dieses Skills ein, sobald die Verträge für Split, CV, Vorverarbeitung, Suche und Diagnose festgelegt sind.
  • Nicht auslösen: Eine Abhängigkeitsaktualisierung, Experimentverfolgung wenn Splits/Tuning bereits festgelegt sind, gewöhnlicher predict-Aufruf auf einem bereits angepassten Schätzer, reines Plotten aus bereits berechneten Vorhersagen, isolierte Schätzer-API-Frage, Deep-Learning-Pipeline oder beiläufiger Import sind nicht ausreichend. Plotten gehört hierher nur, wenn die Aufgabe die Bewertung, das Evaluierungsdesign, die Diagnosemethodik oder die Modellinspektion ändert.

Beginnen Sie mit der Evaluierungseinheit

Identifizieren Sie vor der Wahl eines Splitters, was zwischen Training und Evaluierung unabhängig bleiben muss:

  • einzelne IID-Beobachtungen;
  • Klassenlabels mit seltenen Ergebnissen;
  • Benutzer, Patienten, Geräte, Sitzungen, Standorte oder andere Gruppen;
  • chronologische zukünftige Beobachtungen; oder
  • eine Kombination aus Klassenbalance und nicht überlappenden Gruppen.

Wählen Sie den Testsatz und die CV-Strategie basierend auf dieser Einheit, nicht basierend auf einem bevorzugten Standardprozentsatz. Lesen Sie references/model-selection-guide.md für Splitter- und Suchoptionen.


Halten Sie die Vorverarbeitung innerhalb der Falte

  • Trennen Sie einen endgültigen Testsatz ab, bevor Sie Skalierer, Imputer, Encoder, Merkmalsselektoren, PCA oder andere gelernte Transformationen anpassen.
  • Setzen Sie die gelernte Vorverarbeitung und den Schätzer in Pipeline, sodass jeder CV-Fold Transformationen nur auf seinem Trainingspartition anpasst.
  • Verwenden Sie ColumnTransformer, wenn numerische, kategoriale, Text- oder andere Spaltenteilmengen unterschiedliche Transformationen benötigen.
  • Durchsuchen Sie verschachtelte Parameter über Pipeline-Namen wie preprocess__numeric__scaler oder model__C.
  • Führen Sie keine manuelle Vorverarbeitung des gesamten Datensatzes vor cross_val_score, cross_validate, Grid-Suche oder Randomisierter Suche durch.

Lesen Sie references/preprocessing-inspection.md für PCA, Inspektion und heterogene Spalten.


Wählen Sie Evaluierungs- und Suchwerkzeuge bewusst aus

  • Verwenden Sie cross_val_score für eine Metrik und einfache Fold-Scores.
  • Verwenden Sie cross_validate, wenn mehrere Metriken, Trainingsscores, Anpassungs-/Bewertungszeiten oder zurückgegebene Schätzer tatsächlich benötigt werden.
  • Verwenden Sie GridSearchCV für ein kleines, diskretes, begründetes Parameterraster, bei dem erschöpfende Kombinationen in das Rechenbudget passen.
  • Verwenden Sie RandomizedSearchCV für größere Räume, Verteilungen oder ein festes Kandidatenbudget. Setzen Sie n_iter und Parameterverteilungen bewusst.
  • Behalten Sie dieselbe CV-Semantik und denselben Bewertungsvertrag über Modellvergleiche hinweg bei. Übergeben Sie Gruppen/Metadaten korrekt, wenn der Splitter sie benötigt.
  • Bewahren Sie einen unberührten Testsatz auf oder verwenden Sie eine geeignete verschachtelte Evaluierung, wenn die Modellauswahl alle Entwicklungsfalten verbraucht.

Fügen Sie Kurven und Inspektion hinzu, um eine Frage zu beantworten

  • Verwenden Sie learning_curve, um zu fragen, ob mehr Trainingsdaten wahrscheinlich die Trainings-/Validierungslücke verringern oder ob beide Scores ein Plateau erreicht haben.
  • Verwenden Sie validation_curve, um das Trainings-/Validierungsverhalten eines Hyperparameters zu inspizieren. Es ist kein Ersatz für eine Mehrparametersuche oder abschließende Tests.
  • Verwenden Sie sklearn.inspection.permutation_importance, um die Abhängigkeit der Bewertung eines angepassten Modells von Merkmalen zu messen, vorzugsweise auf zurückgehaltenen Daten, nachdem bestätigt wurde, dass das Modell eine nützliche Vorhersageleistung hat.
  • Verwenden Sie partielle Abhängigkeit oder ICE nur, wenn ihre Annahmen und die Merkmalsverteilung das Ergebnis interpretierbar machen.
  • Fügen Sie Inspektionsplots nicht mechanisch hinzu. Definieren Sie zuerst die Debugging-, Zuverlässigkeits- oder Interpretierbarkeitsfrage.

Erforderliche Ausgabe

Geben Sie die unabhängige Evaluierungseinheit; Begründung für den Holdout-Anteil; ausgewählten CV-Splitter und Bewertung; Platzierung der Vorverarbeitung/PCA; Budget für Grid- oder Randomisierte Suche; ob Lern-/Validierungskurven eine konkrete Frage beantworten; Inspektionsmethode und Datensatz; Leckkontrollen; und den endgültigen unberührten Evaluierungspfad an.

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.

Verwandte Skills