Commit f2fae483 authored by jg5dev's avatar jg5dev 💬
Browse files

better

parent ce646938
Loading
Loading
Loading
Loading
+19 −1
Original line number Diff line number Diff line
@@ -284,7 +284,7 @@ Per cada fase:
**Transform**:

- Quines validacions necessiteu?
- Què feu amb registres invàlids?
- Què feu amb registres invàlids o amb valors absents? (en producció les opcions canvien: vegeu [Error Handling](#patró-error-handling))
- Quines transformacions apliqueu?

**Load**:
@@ -436,6 +436,24 @@ def predict(features: Features):

La clau és: **logs detallats per vosaltres, missatges clars per l'usuari**.

#### Cas concret: i si falta un valor?

Un cas particular de validació que sovint es passa per alt: una petició arriba amb un camp buit o absent. Teniu tres opcions, però **no totes estan disponibles a les dues fases** del cicle de vida del model:

| Opció | A l'entrenament | En producció (serving) |
| --- | --- | --- |
| **Descartar la fila** | Habitual i barat: teniu moltes files i en sobren | Impossible: l'usuari ha enviat *aquesta* petició, no podeu descartar-la i prou |
| **Rebutjar** | No té sentit (no hi ha cap "petició" que rebutjar) | Retorneu un `400` amb un missatge clar sobre el camp que falta |
| **Imputar** | Habitual | Habitual |

Dues idees per recordar:

1. **L'asimetria entrenament/producció**: a l'entrenament, descartar files és la sortida fàcil; en producció aquesta opció desapareix. La decisió real es redueix a **rebutjar o imputar**.

2. **La imputació enllaça les dues fases**: el valor amb què ompliu el buit (mitjana, mediana, valor més freqüent) s'ha de calcular **amb les dades d'entrenament** i reutilitzar-lo en producció, exactament igual que el scaler o l'encoder (vegeu [Desplegament de models](01_model_deployment.md)). Amb una sola petició no podríeu calcular cap mitjana, i si l'imputador "aprèn" de les dades de producció introduïu una discrepància entre entrenament i producció (*train/serve skew*).

> **Com triar entre rebutjar i imputar?** Penseu en el cost de l'error. Un camp opcional i poc informatiu es pot imputar sense gaire risc. Un camp crític per a la predicció sovint és millor rebutjar-lo (`400`) que inventar-ne un valor i retornar una predicció en què ningú no hauria de confiar.

---

## Part 4: Persistència i base de dades
+1 −1
Original line number Diff line number Diff line
@@ -236,7 +236,7 @@ Tècnica per tractar dades desbalancejades que consisteix a augmentar el nombre
Mètode complementari al sobremostreig que consisteix a reduir el nombre de mostres de les classes majoritàries per igualar la distribució de classes.

**Imputació (Imputation):**  
Tècnica per gestionar valors absents en les dades, substituint-los per valors calculats (mitjana, mediana, valor més freqüent) o mitjançant models predictius.
Tècnica per gestionar valors absents en les dades, substituint-los per valors calculats (mitjana, mediana, valor més freqüent) o mitjançant models predictius. En producció, les opcions per a un valor absent canvien respecte a l'entrenament (vegeu [Patrons d'implementació](../ba2/05_implementation_patterns.md#patró-error-handling)).

**Codificació de Variables Categòriques:**  
Transformació de variables no numèriques en representacions numèriques. Inclou tècniques com one-hot encoding (vector binari) i label encoding (assignació d’enters únics).