🛡️ ScoutML: Enterprise AutoML & Audit FrameworkVersão: 2.1.0 | Foco: Governança, Auditabilidade e Robustez.O ScoutML não é apenas mais um framework de AutoML. Ele foi desenhado para ambientes regulados e críticos (Crédito, Fraude, Seguros, Saúde), onde explicar por que um modelo tomou uma decisão é tão importante quanto a sua performance.Diferente de outras ferramentas "caixa-preta", o ScoutML gera um Relatório de Auditoria Completo (Markdown + Gráficos) detalhando cada decisão estatística tomada, desde a limpeza de dados até a validação de estabilidade (PSI/KS).🚀 Principais Diferenciais (v2.1)1. 🕵️ Scout v2 (O Analista Estatístico)Antes de treinar, o Scout realiza uma varredura profunda nos dados:Detecção de Leakage: Usa um modelo "Sentinela" para identificar variáveis que contêm a resposta (vazamento de dados) e remove-as automaticamente.Perfilamento Estatístico: Calcula Skewness (assimetria), Kurtosis e Outliers (via IQR) para guiar o pré-processamento.Higiene de Dados: Remove identificadores (IDs), colunas constantes e multicolinearidade excessiva.2. 🔧 Forge v2 (O Engenheiro Inteligente)Constrói pipelines de scikit-learn dinamicamente baseados no diagnóstico do Scout:Tratamento de Outliers: Aplica RobustScaler automaticamente se detectar >5% de outliers.Normalização: Aplica PowerTransformer (Yeo-Johnson) em distribuições enviesadas.Encoding Inteligente: Alterna entre OneHotEncoder (baixa cardinalidade) e TargetEncoder (alta cardinalidade) para evitar explosão dimensional.3. ⚖️ Auditoria de Risco & EstabilidadePara problemas de classificação, o ScoutML gera métricas de mercado financeiro:KS (Kolmogorov-Smirnov): Mede a separação entre classes.PSI (Population Stability Index): Garante que o modelo não está degradado entre Treino e Teste.Matriz de Confusão: Visualização clara de Falsos Positivos/Negativos.📦 InstalaçãoO ScoutML depende de bibliotecas robustas de Data Science.Crie um arquivo requirements.txt (veja a seção abaixo).Instale as dependências:pip install -r requirements.txt
⚡ Quick Start1. Classificação (Ex: Risco de Crédito / Fraude)import pandas as pd
from scoutml import Engine

# Carregue seus dados
df = pd.read_csv("credit_risk_dataset.csv")

# Inicialize a Engine
# metric='roc_auc' é ideal para problemas binários
engine = Engine(
    df=df, 
    target_col='default_payment', 
    time_budget=300,  # 5 minutos de otimização
    metric='roc_auc'
)

# Execute o pipeline
pipeline = engine.run()

# O modelo final é salvo como .pkl e o relatório como .md
2. Regressão (Ex: Previsão de Preços)engine = Engine(
    df=df_housing, 
    target_col='price', 
    metric='neg_root_mean_squared_error'
)
engine.run()
📊 O Relatório de Auditoria (_audit_report.md)Ao final da execução, um arquivo Markdown é gerado contendo:Data Integrity: Tabela com Skewness, % de Nulos e recomendação estatística para cada feature.Pipeline Trace: Log exato de qual transformação foi aplicada em qual coluna e por quê (ex: "RobustScaler aplicado devido a 14% de outliers").Model Leaderboard: Comparativo de todos os modelos testados pelo Optuna (LightGBM vs XGBoost).Risk Audit: (Apenas Classificação) Gráficos de Curva KS, PSI e estabilidade por faixas de score.Interpretability: Gráfico SHAP (Summary Plot) para explicar as variáveis mais importantes.🏗️ Arquitetura do Projetoscoutml/
├── __init__.py      # Exporta os módulos
├── engine.py        # O Maestro: Gerencia Optuna, Treino e Validação
├── scout.py         # O Analista: Estatísticas, Leakage e Data Quality
├── forge.py         # O Construtor: Cria Pipelines sklearn dinâmicos
└── audit.py         # O Auditor: Gera logs, calcula KS/PSI e escreve o Relatório
🛠️ Configuração AvançadaVocê pode personalizar o comportamento da Engine:engine = Engine(
    df=df,
    target_col='target',
    
    # Tempo em segundos para busca de hiperparâmetros
    time_budget=600,            
    
    # Limite de correlação para remover colunas colineares ou vazamento
    correlation_threshold=0.90, 
    
    # Métrica de Otimização:
    # 'roc_auc', 'f1', 'precision', 'recall' (Classificação)
    # 'neg_root_mean_squared_error', 'r2' (Regressão)
    metric='recall'             
)
📝 Requisitos (requirements.txt)Copie este conteúdo para o seu arquivo requirements.txt:numpy>=1.21.0
pandas>=1.3.0
scipy>=1.7.0
scikit-learn>=1.0.0
optuna>=3.0.0
shap>=0.40.0
joblib>=1.1.0
matplotlib>=3.5.0
seaborn>=0.11.0
tabulate>=0.8.0
lightgbm>=3.3.0
xgboost>=1.6.0
Desenvolvido para Data Science Sério. Sem caixas-pretas. Apenas ciência auditável.