CommunityPesquisa e Análise de Dadosgithub.com

autentisitet/python-sklearn-workflow

Projeta divisões scikit-learn seguras contra vazamento, validação cruzada, pontuação, busca, curvas de diagnóstico, escalonamento PCA, inspeção de modelos, ColumnTransformer e Pipelines. Use ao construir ou revisar um fluxo de avaliação sklearn. Não use para previsão comum com um estimador já ajustado, plotagem de previsões já computadas, rastreamento de experimentos após o design da avaliação estar fixo, frameworks de aprendizado profundo, apenas teoria de estimadores ou imports sklearn incidentais.

O que é python-sklearn-workflow?

Este skill orienta a construção de fluxos de avaliação seguros contra vazamento de dados (data leakage) no scikit-learn. Ele cobre desde a definição da unidade de avaliação independente (observações IID, classes raras, grupos, séries temporais) até a escolha do splitter de validação cruzada, a inclusão de pré-processamento dentro de Pipelines e ColumnTransformers, a seleção deliberada de ferramentas de busca (GridSearchCV, RandomizedSearchCV) e a adição de curvas de aprendizado/validação e inspeção de modelos (permutation importance, dependência parcial) apenas quando há uma pergunta concreta a ser respondida. O skill explica que todo pré-processamento aprendido (escalonadores, imputadores, codificadores, PCA) deve estar dentro do Pipeline para evitar vazamento entre os folds, e que a busca de hiperparâmetros deve respeitar os mesmos contratos de validação cruzada. A saída necessária inclui declarações explícitas sobre a unidade de avaliação, o splitter, a pontuação, o orçamento de busca e os controles de vazamento. É útil para qualquer desenvolvedor ou engenheiro de ML que esteja projetando ou revisando um fluxo de validação e seleção de modelos no scikit-learn, independentemente da plataforma (CLI, notebook, IDE).

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

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Fluxo de Trabalho Python Scikit-Learn

Ativação

  • Gatilho de palavra-chave: a tarefa envolve substancialmente seleção de modelos scikit-learn, KFold, StratifiedKFold, GroupKFold, TimeSeriesSplit, cross_validate, GridSearchCV, RandomizedSearchCV, curvas de aprendizado/validação, PCA, sklearn.inspection, ColumnTransformer ou Pipeline.
  • Gatilho de intenção: o usuário pergunta como dividir, pré-processar, ajustar, diagnosticar ou interpretar um modelo scikit-learn sem vazamento.
  • Divulgação: uma vez ao iniciar o trabalho aplicável, declare brevemente: Usando $python-sklearn-workflow porque esta tarefa envolve avaliação ou pré-processamento scikit-learn.
  • Saída: pare de aplicar este skill quando os contratos de divisão, CV, pré-processamento, busca e diagnóstico estiverem definidos.
  • Não ativar: uma atualização de dependência, rastreamento de experimentos quando a divisão/ajuste já estão fixos, chamada comum de predict em um estimador já ajustado, plotagem apenas de relatório a partir de previsões já computadas, pergunta isolada sobre API de estimador, pipeline de aprendizado profundo ou import incidental são insuficientes. A plotagem pertence aqui apenas quando a tarefa altera a pontuação, o design da avaliação, a metodologia de diagnóstico ou a inspeção do modelo.

Comece com a Unidade de Avaliação

Antes de escolher um divisor, identifique o que deve permanecer independente entre o treino e a avaliação:

  • observações IID individuais;
  • rótulos de classe com resultados raros;
  • usuários, pacientes, dispositivos, sessões, locais ou outros grupos;
  • observações cronológicas futuras; ou
  • uma combinação de balanceamento de classe e grupos não sobrepostos.

Escolha o conjunto de teste e a estratégia de CV a partir dessa unidade, não a partir de uma porcentagem padrão preferida. Leia references/model-selection-guide.md para escolhas de divisor e busca.


Mantenha o Pré-processamento Dentro do Fold

  • Separe qualquer conjunto de teste final antes de ajustar escalonadores, imputadores, codificadores, seletores de características, PCA ou outras transformações aprendidas.
  • Coloque o pré-processamento aprendido e o estimador em Pipeline para que cada fold de CV ajuste as transformações apenas em sua partição de treino.
  • Use ColumnTransformer quando subconjuntos de colunas numéricas, categóricas, texto ou outros precisarem de transformações diferentes.
  • Pesquise parâmetros aninhados através de nomes de pipeline como preprocess__numeric__scaler ou model__C.
  • Não pré-processe manualmente o conjunto de dados completo antes de cross_val_score, cross_validate, busca em grade ou busca aleatória.

Leia references/preprocessing-inspection.md para PCA, inspeção e colunas heterogêneas.


Selecione Ferramentas de Avaliação e Busca Deliberadamente

  • Use cross_val_score para uma métrica e pontuações simples de folds.
  • Use cross_validate quando múltiplas métricas, pontuações de treino, tempos de ajuste/pontuação ou estimadores retornados forem realmente necessários.
  • Use GridSearchCV para uma grade de parâmetros pequena, discreta e justificada onde combinações exaustivas cabem no orçamento computacional.
  • Use RandomizedSearchCV para espaços maiores, distribuições ou um orçamento fixo de candidatos. Defina n_iter e distribuições de parâmetros deliberadamente.
  • Mantenha a mesma semântica de CV e contrato de pontuação em todas as comparações de modelo. Passe grupos/metadados corretamente quando o divisor exigir.
  • Preserve um conjunto de teste intocado ou use uma avaliação aninhada apropriada quando a seleção de modelo consome todos os folds de desenvolvimento.

Adicione Curvas e Inspeção para Responder a uma Pergunta

  • Use learning_curve para perguntar se mais dados de treino provavelmente reduzirão uma lacuna treino/validação ou se ambas as pontuações estabilizaram.
  • Use validation_curve para inspecionar o comportamento treino/validação de um hiperparâmetro. Não substitui a busca multiparâmetro ou o teste final.
  • Use sklearn.inspection.permutation_importance para medir a dependência da pontuação de um modelo ajustado em relação às características, preferencialmente em dados não vistos após confirmar que o modelo tem desempenho preditivo útil.
  • Use dependência parcial ou ICE apenas quando suas suposições e a distribuição das características tornarem o resultado interpretável.
  • Não adicione gráficos de inspeção mecanicamente. Defina primeiro a questão de depuração, confiabilidade ou interpretabilidade.

Saída Necessária

Declare a unidade de avaliação independente; a justificativa da proporção de retenção; o divisor de CV e a pontuação selecionados; o posicionamento do pré-processamento/PCA; o orçamento da busca em grade ou aleatória; se as curvas de aprendizado/validação respondem a uma pergunta concreta; o método de inspeção e o conjunto de dados; os controles de vazamento; e o caminho de avaliação final não tocado.

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.

Habilidades Relacionadas