FuncionalidadesCasos de UsoBlogReferência APIPor Que CorePlexMLPreços
Começar Grátis
← Voltar ao Blog
Tutoriais13 min read

Primeiros Passos com AutoML no CorePlexML

CorePlexML Team·

Introducao

O machine learning transformou praticamente todas as industrias, desde o diagnostico medico ate a deteccao de fraudes financeiras e a otimizacao de cadeias de suprimentos. No entanto, para a maioria das organizacoes, a barreira de entrada continua sendo frustrante. Os fluxos de trabalho tradicionais de ML exigem experiencia em selecao de algoritmos, engenharia de features, ajuste de hiperparametros e estrategias de validacao cruzada. Um unico projeto pode exigir semanas de iteracao antes que um cientista de dados chegue a um modelo digno de ser implantado.

Automated Machine Learning, ou AutoML, muda a equacao por completo. Os sistemas de AutoML automatizam as partes mais trabalhosas do pipeline de ML: testam dezenas de algoritmos, geram features, ajustam hiperparametros e ate constroem modelos de ensemble que combinam os pontos fortes de multiplos aprendizes. O resultado sao modelos com qualidade de producao em uma fracao do tempo, acessiveis tanto para cientistas de dados experientes que desejam acelerar seu fluxo de trabalho quanto para especialistas de dominio que entendem seus dados, mas carecem de experiencia profunda em ML.

O motor AutoML do CorePlexML e construido sobre o H2O.ai, um dos frameworks de ML de codigo aberto mais comprovados disponiveis. Suporta classificacao, regressao e previsao de series temporais nativamente, e lida automaticamente com tarefas como imputacao de valores ausentes, codificacao de variaveis categoricas e descoberta de interacoes entre features. Neste tutorial, percorreremos o caminho completo desde um dataset bruto ate um modelo implantado, cobrindo cada etapa em detalhe para que voce tenha confianca em cada decisao ao longo do processo.

Passo 1: Carregue seus Dados

Todo projeto de ML comeca com dados. O CorePlexML suporta arquivos nos formatos CSV, Excel (XLSX), JSON e XML, e pode lidar com datasets que vao de algumas centenas de linhas ate varios milhoes. Quando voce faz o upload de um arquivo, a plataforma infere automaticamente os tipos de coluna, detecta delimitadores e gera um esquema que voce pode revisar e ajustar antes de continuar.

Para fazer o upload pela interface, navegue ate a secao Datasets na barra lateral do seu projeto e clique em New Dataset. Arraste e solte seu arquivo ou navegue para seleciona-lo. O processo de upload analisa o arquivo, amostra os dados para inferir tipos (numerico, categorico, data, texto) e apresenta um editor de esquema onde voce pode renomear colunas, alterar tipos inferidos ou excluir colunas por completo.

Se preferir uma abordagem programatica, o SDK facilita os uploads:

from coreplexml import CorePlexClient

client = CorePlexClient(
    base_url="https://api.coreplexml.io",
    api_key="your-api-key"
)

# Upload a CSV file to your project
dataset = client.datasets.upload(
    project_id="proj_abc123",
    file_path="./data/customer_churn.csv",
    name="Customer Churn Dataset",
    description="Monthly churn data with 15 features, 50k rows"
)

print(f"Dataset ID: {dataset.id}")
print(f"Version: {dataset.version}")
print(f"Columns: {len(dataset.columns)}")
print(f"Rows: {dataset.row_count}")

Uma vez carregado, o CorePlexML cria uma versao do dataset, um snapshot imutavel dos seus dados naquele momento. Esse versionamento e critico para a reprodutibilidade. Cada experimento que voce executar esta vinculado a uma versao especifica do dataset, de modo que voce sempre pode rastrear a linhagem de um modelo ate os dados exatos com os quais foi treinado.

Antes de passar para o proximo passo, reserve um momento para revisar o esquema. Verifique se colunas numericas nao foram inferidas acidentalmente como categoricas (isso pode acontecer com IDs inteiros ou codigos postais), e que colunas de data foram parseadas corretamente. Um esquema limpo nesta etapa previne surpresas mais adiante no pipeline.

Passo 2: Crie um Experimento

Com seus dados carregados, e hora de criar um experimento. Um experimento no CorePlexML e uma execucao de treinamento AutoML: voce especifica o que prever, quanto tempo treinar, e a plataforma cuida de todo o resto.

Na interface, navegue ate Experiments e clique em New Experiment. Sera solicitado que voce configure quatro ajustes. Primeiro, selecione a versao do dataset que acabou de carregar. Segundo, escolha a coluna alvo, a coluna que seu modelo deve aprender a prever. Terceiro, defina o tipo de problema. O CorePlexML geralmente infere automaticamente (classificacao para alvos categoricos, regressao para alvos numericos), mas voce pode sobrescrever se necessario. Quarto, configure o orcamento de treinamento definindo um tempo maximo de treinamento (em segundos) e opcionalmente um numero maximo de modelos a avaliar.

O SDK oferece controle total sobre esses parametros:

experiment = client.experiments.create(
    project_id="proj_abc123",
    dataset_version_id=dataset.version_id,
    target_column="churn",
    problem_type="classification",
    max_runtime_secs=600,       # 10 minutes of training
    max_models=30,              # Evaluate up to 30 models
    nfolds=5,                   # 5-fold cross-validation
    seed=42,                    # Reproducibility seed
    balance_classes=True,       # Handle class imbalance
    stopping_metric="AUC",      # Optimize for AUC
    exclude_algos=[]            # Include all algorithms
)

print(f"Experiment ID: {experiment.id}")
print(f"Status: {experiment.status}")

Nos bastidores, o motor AutoML inicia um sofisticado processo de busca. Comeca com modelos base rapidos (um unico GLM, um Random Forest padrao) para estabelecer benchmarks de desempenho, e entao avanca por algoritmos cada vez mais complexos. Modelos XGBoost e GBM sao treinados com hiperparametros variados, modelos de Deep Learning exploram diferentes arquiteturas de rede, e finalmente, Stacked Ensembles sao construidos para combinar os melhores modelos individuais em um unico preditor mais poderoso. Tudo isso acontece com validacao cruzada automatica, de modo que cada metrica que voce ve reflete um desempenho genuino fora da amostra, em vez de sobreajuste aos dados de treinamento.

Voce pode monitorar o progresso em tempo real pela interface, que exibe um leaderboard ao vivo que se atualiza conforme cada modelo termina o treinamento.

Passo 3: Revise o Leaderboard

Apos a conclusao do treinamento, o CorePlexML apresenta um leaderboard de modelos classificado de acordo com a metrica de parada escolhida. E aqui que voce avalia qual modelo melhor atende as suas necessidades. Cada entrada no leaderboard inclui o tipo de algoritmo, todas as metricas de desempenho relevantes, o tempo de treinamento e o tamanho do modelo.

Compreender as metricas e essencial para tomar boas decisoes:

  • AUC (Area Under the ROC Curve) mede a capacidade de um modelo de classificacao distinguir entre classes em todos os limiares de decisao. Os valores vao de 0.5 (adivinhacao aleatoria) a 1.0 (separacao perfeita). AUC e particularmente util quando voce se importa com o ranking de predicoes em vez de um limiar especifico.
  • Accuracy e a fracao de predicoes corretas. Embora intuitiva, a accuracy pode ser enganosa com datasets desbalanceados. Um modelo que preve "no churn" para cada cliente alcanca 95% de accuracy se apenas 5% dos clientes abandonam, mas e completamente inutil.
  • Log Loss penaliza predicoes incorretas com alta confianca mais severamente do que as incertas. Menor e melhor. Essa metrica e ideal quando voce precisa de estimativas de probabilidade bem calibradas, como scoring de risco ou diagnostico medico.
  • RMSE (Root Mean Squared Error) se aplica a problemas de regressao e mede a magnitude media dos erros de predicao nas mesmas unidades da variavel alvo. Um RMSE mais baixo significa predicoes mais precisas.

Os algoritmos que voce tipicamente vera no leaderboard incluem:

  • XGBoost e um framework de gradient boosting conhecido por seu forte desempenho em dados tabulares, com excelente tratamento de valores ausentes e regularizacao para prevenir sobreajuste.
  • GBM (Gradient Boosting Machine) e a implementacao nativa de gradient boosting do H2O, com defaults e otimizacoes ligeiramente diferentes comparado ao XGBoost.
  • Deep Learning refere-se a implementacao de redes neurais multicamada do H2O, que pode capturar relacoes nao lineares complexas, mas pode exigir mais dados para generalizar bem.
  • GLM (Generalized Linear Model) fornece uma baseline rapida e interpretavel. Funciona bem quando as relacoes entre features e alvo sao aproximadamente lineares.
  • Stacked Ensemble combina predicoes de todos os outros modelos usando um meta-aprendiz. Os ensembles frequentemente lideram o leaderboard porque aproveitam as diversas forcas dos modelos individuais.

Como regra geral, se a interpretabilidade e primordial, considere o melhor GLM ou um GBM de arvore unica. Se o poder preditivo bruto e a prioridade, o Stacked Ensemble ou o melhor modelo XGBoost costuma ser a melhor opcao.

Passo 4: Explore e Explique

Selecionar um modelo do leaderboard e apenas o comeco. Antes de implantar, voce precisa entender por que o modelo faz as predicoes que faz. O CorePlexML fornece um conjunto de ferramentas de explicabilidade que ajudam a construir confianca no seu modelo e a atender requisitos regulatorios de transparencia.

Feature Importance classifica as features de entrada por sua contribuicao para as predicoes do modelo. Isso oferece uma visao global do que o modelo aprendeu. Voce pode obter a importancia das features programaticamente:

"hl-kw">curl -X GET "https://api.coreplexml.io/api/models/{model_id}/feature_importance" \
  -H "Authorization: Bearer your-api-key"

A resposta retorna uma lista classificada de features com suas pontuacoes de importancia relativa. Use isso para verificar se o modelo se apoia em features sensiveis. Se uma coluna irrelevante (como um ID de linha ou um timestamp) aparece em posicao alta, pode indicar vazamento de dados que voce deve resolver antes da implantacao.

SHAP (SHapley Additive exPlanations) Values fornecem explicacoes no nivel da instancia. Enquanto a importancia de features diz o que importa globalmente, os valores SHAP explicam por que o modelo fez uma predicao especifica para uma linha especifica. Cada feature recebe um valor SHAP positivo ou negativo indicando quanto empurrou a predicao acima ou abaixo da media. Isso e inestimavel para industrias reguladas onde voce precisa justificar decisoes individuais, como por que uma solicitacao de emprestimo foi negada ou por que um paciente foi sinalizado como alto risco.

Partial Dependence Plots (PDPs) revelam a relacao marginal entre uma unica feature e as predicoes do modelo, mantendo todas as outras features constantes. Por exemplo, um PDP para "account_age" pode mostrar que a probabilidade de churn diminui acentuadamente nos primeiros 12 meses e depois se estabiliza. Esses graficos ajudam a traduzir o comportamento do modelo em insights de negocio acionaveis.

Observe que modelos Stacked Ensemble nao suportam contribuicoes SHAP nem importancia de variaveis diretamente, devido a sua natureza composta. Se voce precisa de explicabilidade completa, considere implantar um dos melhores modelos individuais (como o melhor XGBoost) em seu lugar.

Passo 5: Implante em Producao

Uma vez que esteja satisfeito com o desempenho e as explicacoes do seu modelo, e hora de implanta-lo para que aplicacoes possam solicitar predicoes em tempo real. O modulo MLOps do CorePlexML suporta multiplas estrategias de implantacao para se adaptar a sua tolerancia ao risco:

  • Implantacao direta troca o modelo imediatamente. Melhor para ambientes de desenvolvimento ou casos de uso de baixo risco onde a velocidade importa mais que a cautela.
  • Implantacao canary roteia uma pequena porcentagem do trafego (tipicamente 5-10%) para o novo modelo enquanto o modelo existente continua servindo a maioria. Se as metricas do novo modelo se degradam, o rollback automatico e acionado. Se as metricas se mantem estaveis, voce incrementa gradualmente o trafego ate que o novo modelo sirva 100%.
  • Implantacao Blue-Green executa dois ambientes completos em paralelo e alterna o trafego atomicamente. Isso proporciona implantacao sem tempo de inatividade com capacidade de rollback instantaneo, ao custo de uso temporariamente duplicado de recursos.

Veja como criar uma implantacao com o SDK:

deployment = client.deployments.create(
    project_id="proj_abc123",
    model_id=experiment.best_model_id,
    name="Churn Predictor v1",
    strategy="canary",
    traffic_percentage=10,          # Start with 10% traffic
    auto_rollback=True,             # Roll back on metric degradation
    rollback_threshold=0.05         # Roll back if AUC drops by 5%
)

print(f"Deployment ID: {deployment.id}")
print(f"Endpoint: {deployment.endpoint}")

Uma vez implantado, seu modelo e acessivel por meio de um endpoint REST. Envie um payload JSON com as features de entrada, e o endpoint retorna predicoes junto com pontuacoes de probabilidade opcionais e contribuicoes SHAP. Voce tambem pode configurar alertas de monitoramento para notificar sua equipe via Slack, email ou webhook quando o desempenho degradar ou a deriva de dados for detectada.

Solucao de Problemas

Mesmo com o AutoML cuidando da maior parte da complexidade, existem alguns problemas comuns que voce pode encontrar:

Coluna alvo nao encontrada. Isso geralmente significa que o nome da coluna na configuracao do seu experimento nao corresponde exatamente ao nome da coluna no esquema do dataset. Os nomes de coluna sao sensibles a maiusculas e minusculas. Verifique a ortografia e certifique-se de que nao ha espacos em branco no final.

Linhas insuficientes. O AutoML precisa de dados suficientes para treinar, validar e testar modelos de forma confiavel. Com validacao cruzada de 5 folds, cada fold deve ter linhas suficientes para aprender padroes significativos. Como diretriz geral, mire em pelo menos 100 linhas por classe para problemas de classificacao, e mais para datasets com muitas features.

Tempo de treinamento esgotado. Se seu tempo maximo de execucao for muito curto em relacao ao tamanho do dataset e ao numero de modelos, o motor pode avaliar apenas um punhado de algoritmos. Aumente max_runtime_secs ou reduza max_models para garantir que os algoritmos mais promissores tenham tempo suficiente para completar.

Desbalanceamento de classes. Quando uma classe supera amplamente a outra (como 95% nao-fraude vs 5% fraude), os modelos podem aprender a prever exclusivamente a classe majoritaria. Habilite balance_classes=True na configuracao do seu experimento, o que aplica sobreamostragem e ponderacao de classes para ajudar o modelo a aprender com os exemplos da classe minoritaria. Considere tambem usar AUC ou log loss como metrica de parada em vez de accuracy, pois essas metricas sao menos sensiveis a distribuicao de classes.

Erros de memoria durante o treinamento. Datasets muito grandes ou muitos modelos concorrentes podem esgotar a memoria disponivel. Considere reduzir o tamanho do dataset por amostragem, reduzir max_models ou aumentar a alocacao de memoria da sua instancia.

Proximos Passos

Com seu primeiro modelo implantado, voce completou o fluxo de trabalho basico de AutoML. Estes sao os proximos passos naturais a explorar:

  • ML Studio oferece analise What-If, permitindo criar cenarios hipoteticos e ver como mudancas nas features de entrada afetam as predicoes. Isso e inestimavel para o planejamento de negocios e a analise de sensibilidade.
  • Privacy Suite escaneia seus datasets em busca de informacoes de identificacao pessoal e aplica transformacoes (mascaramento, hashing, criptografia) para alcanzar conformidade com HIPAA, GDPR, PCI-DSS e CCPA antes do treinamento.
  • Auto-Retraining mantem seus modelos atualizados acionando automaticamente novas execucoes de treinamento quando a deriva de dados e detectada, quando o desempenho cai abaixo de um limiar, ou em um cronograma fixo.
  • SynthGen gera dados sinteticos usando GANs quando voce precisa de mais dados de treinamento ou deseja compartilhar datasets realistas mas nao sensiveis com parceiros.
  • A/B Testing permite comparar duas versoes de modelo em producao com rigor estatistico, medindo qual se sai melhor na sua populacao real de usuarios.

Todo o fluxo de trabalho que abordamos neste tutorial, do upload de dados a implantacao em producao, pode ser concluido em menos de 10 minutos pela interface, ou automatizado completamente com o SDK para pipelines de ML repetiveies e integrados com CI/CD. A ideia-chave por tras do AutoML nao e que ele substitui a experiencia em ciencia de dados, mas sim que a amplifica. Ao automatizar a busca repetitiva por algoritmos e hiperparametros, o AutoML libera voce para se concentrar nas decisoes que verdadeiramente exigem julgamento humano: definir o problema certo, curar os dados adequados e interpretar os resultados no contexto do seu negocio.