DataPrep Service
godml incluye un motor de transformaciones declarativas. Define los pasos de limpieza en YAML — sin escribir una línea de Python.
Configuración en godml.yml
dataset:
uri: ./data/raw.csv
target: churn
dataprep:
steps:
- op: drop_columns
params:
columns: [id, created_at, uuid]
- op: fill_missing
params:
strategy: median # mean | median | mode | constant
columns: [age, income]
- op: encode_categorical
params:
columns: [region, plan_type]
method: onehot # onehot | label | ordinal
- op: scale
params:
columns: [age, income, tenure]
method: standard # standard | minmax | robust
Transforms disponibles
Columnas
| Operación | op | Descripción |
|---|---|---|
| Eliminar columnas | drop_columns | Elimina columnas por nombre |
| Renombrar | rename_columns | Renombra columnas |
| Seleccionar | select_columns | Mantiene solo las especificadas |
| Castear tipos | cast_types | Convierte tipos de datos |
Valores faltantes
| Operación | op | Descripción |
|---|---|---|
| Rellenar | fill_missing | Media, mediana, moda o constante |
| Eliminar filas | drop_missing | Elimina filas con nulos |
Encoding
| Operación | op | Descripción |
|---|---|---|
| Categóricas | encode_categorical | One-Hot, Label, Ordinal |
| Texto | encode_text | TF-IDF, conteo |
Escalado
| Operación | op | Descripción |
|---|---|---|
| Normalizar | scale | StandardScaler, MinMax, Robust |
Calidad
| Operación | op | Descripción |
|---|---|---|
| Deduplicar | dedup | Elimina filas duplicadas |
| Validar | quality_check | Valida schema y rangos |
| Ventana temporal | window | Agregaciones por ventana de tiempo |
Unión
| Operación | op | Descripción |
|---|---|---|
| Join | join | Une con otro dataset |
Ejemplo completo
dataset:
uri: ./data/customers_raw.csv
target: churned
dataprep:
steps:
# Eliminar columnas no útiles
- op: drop_columns
params:
columns: [customer_id, signup_timestamp, internal_note]
# Rellenar nulos
- op: fill_missing
params:
strategy: median
columns: [monthly_charges, tenure_months]
- op: fill_missing
params:
strategy: mode
columns: [contract_type, payment_method]
# Encoding de categóricas
- op: encode_categorical
params:
columns: [contract_type, payment_method, internet_service]
method: onehot
# Normalizar numéricas
- op: scale
params:
columns: [monthly_charges, total_charges, tenure_months]
method: standard
# Verificar calidad
- op: quality_check
params:
min_rows: 100
max_null_pct: 0.05
Usar DataPrep standalone
godml dataprep run recipe.yml
recipe.yml
inputs:
- name: raw
connector: csv
uri: ./data/raw.csv
steps:
- op: drop_columns
params:
columns: [id]
outputs:
- name: clean
connector: csv
uri: ./data/clean.csv