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,ColumnTransformerouPipeline. - 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
predictem 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
Pipelinepara que cada fold de CV ajuste as transformações apenas em sua partição de treino. - Use
ColumnTransformerquando 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__scaleroumodel__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_scorepara uma métrica e pontuações simples de folds. - Use
cross_validatequando múltiplas métricas, pontuações de treino, tempos de ajuste/pontuação ou estimadores retornados forem realmente necessários. - Use
GridSearchCVpara uma grade de parâmetros pequena, discreta e justificada onde combinações exaustivas cabem no orçamento computacional. - Use
RandomizedSearchCVpara espaços maiores, distribuições ou um orçamento fixo de candidatos. Definan_itere 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_curvepara perguntar se mais dados de treino provavelmente reduzirão uma lacuna treino/validação ou se ambas as pontuações estabilizaram. - Use
validation_curvepara 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_importancepara 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.