Hvergelmir · de onde brotam os rios
Tutoriais
Doze notebooks passo a passo em notebooks/tutoriais/, prontos para Jupyter e
Databricks, com dados sintéticos embutidos. A lógica de produção nunca mora aqui: ela vive em
yggdrasil/. Estes cadernos existem para mostrar como usar.
1 · Primeiros passos
Se é a sua primeira vez, comece pelo 00: ele percorre a esteira inteira em um problema de classificação, do contrato de dados ao relatório por grupo homogêneo. O 01 repete o percurso com alvo contínuo, e o 05 resolve o ambiente antes de você abrir as UIs.
feat_*/dt_ref/amostra/target, execução da esteira, métricas por amostra, shifts DES→OOT, ratings e SHAP.
01Regressão · alvo [0,1] bimodalO mesmo percurso com alvo contínuo: RMSE, MAE, MAPE robusto, R² e binning contínuo.
05Instalação e carregamento das interfacesExtras, ipywidgets/anywidget e como subir as UIs local e no Databricks.
2 · Features: da exploração à seleção
Antes de qualquer modelo, entender e podar o conjunto de variáveis. O 02 perfila cada feature e emite um veredito. Depois vêm dois estágios em sequência, que é onde as pessoas costumam se confundir: o 03 é a peneira do universo — centenas de colunas agrupadas por book, com Boruta e consenso, devolvendo uma shortlist; o 10 pega essa lista já curta e aplica a régua do modelo dentro do segmentador, com PSI, monotonia e VIF, produzindo a política em JSON e o relatório do comitê. Um corta o universo; o outro documenta a régua final.
feature_profile com veredito.
03Triagem de features por bookAntes do modelo: funil por book com missing, variância, importância RF com IV/KS/AUC, redundância, Boruta e consenso. Roda em pandas ou Spark — o backend vem do tipo do DataFrame.
10Esteira de seleção de variáveisA régua do modelo sobre a lista já curta: etapas plugáveis (categóricas, IV, PSI, monotonia, correlação, VIF), funil, relatório consolidado e política em JSON.
3 · Segmentadores e a esteira governada
Os dois segmentadores dividem a mesma filosofia: uma classe por família, com
classificação e regressão escolhidas por task_type. O 04 é a régua
sequencial em árvore; o 06 é o construtor orientado a modelo; o 07 fecha o ciclo
registrando tudo no MLflow.
to_sql e diff_trees.
06Construtor de modelos (UI)Univariada com logodds/WoE, seleção, ajuste, fórmula com p-valor, SHAP, ratings e tuning com Optuna.
07Esteira ML + MLflowExperimento, métricas por amostra, shifts, séries de PSI por rating e artefatos de interpretabilidade.
01Regressão na práticaTambém vale como referência de task_type="regression" nos dois segmentadores.
4 · Risco de carteira: capital e ciclo macro
Os dois eixos que completam o quadro. O 08 é o eixo de carteira: quanto de capital a instituição precisa para absorver perdas inesperadas. O 09 e o 11 são o eixo temporal: como o ciclo macroeconômico desloca o nível das curvas de risco.
SatelliteUI em 7 abas: da estacionariedade ao backtest de cobertura, com projeção em leque e exportação.
Antes de rodar
- Rode a partir da raiz do repositório. O layout é flat e
import yggdrasilfunciona sem instalar. - Localmente, o MLflow 3.x precisa de
MLFLOW_ALLOW_FILE_STORE=truepara usar./mlruns. Os notebooks já definem isso. - Para as UIs interativas, instale o extra
[ui]. Semanywidget, o preview da árvore cai para PNG estático. - Os tutoriais 09 e 11 (satélites) exigem o extra
[econometric]. O 03 roda sem nada além do pacote se você passar umDataFramepandas; o extra[spark]só é necessário para a versão distribuída, que é a que o notebook demonstra.