Última lliçó del curs. Ja tens els llibres, els cursos i les comunitats; falta la peça més tangible: l'entorn de treball. Un practicant d'aprenentatge automàtic és tan productiu com el seu taller: on escriu codi, com gestiona entorns i experiments, d'on treu dades per practicar i què fa quan el seu portàtil es queda curt. En aquesta lliçó organitzem aquest taller amb eines reals i consolidades — moltes ja les has tocat durant el curs — i, al final, farem el que pertoca a una última lliçó: mirar enrere, recórrer el camí complet des del primer mòdul fins aquí, i acomiadar-nos.
Contingut
- Notebooks: Jupyter, JupyterLab i Google Colab
- L'editor: VS Code amb Python i Jupyter
- Entorns i versions: venv/conda, Git, DVC i MLflow
- Experimentació: Optuna i Weights & Biases
- AutoML: què és i què esperar-ne
- Datasets públics per practicar
- Maquinari: quan cal GPU i alternatives al núvol
- Taula resum: eina, ús i cost
- El viatge complet: recapitulació del curs
- Conclusió i comiat
Notebooks: Jupyter, JupyterLab i Google Colab
El notebook és el quadern de laboratori de l'ML, i l'has fet servir durant tot el curs:
- Jupyter Notebook / JupyterLab (jupyter.org): l'eina local de referència. JupyterLab és l'evolució del Notebook clàssic: mateixa idea (cel·les de codi, text i gràfics) amb interfície d'entorn complet — pestanyes, explorador de fitxers, terminals. Cost: gratuït i open source. Idioma: interfície en anglès.
- Google Colab (colab.research.google.com): notebooks de Jupyter al navegador, sense instal·lar res, amb les llibreries del curs preinstal·lades i — la seva gran basa — GPU gratuïta (amb límits de temps i disponibilitat; els plans de pagament amplien recursos). Cost: gratuït en el seu nivell base. Idioma: interfície disponible en castellà.
Quan fer servir cadascun?
| Situació | Eina |
|---|---|
| Feina diària amb dades locals i ML clàssic (scikit-learn) | JupyterLab local |
| Entrenar xarxes neuronals sense GPU pròpia (com la CNN de 09-02) | Colab |
| Compartir un experiment amb algú sense que instal·li res | Colab |
| Projectes amb dades sensibles (recorda l'RGPD de 08-04) | Local: no pugis dades personals a serveis externs sense avaluar-ho |
| Codi camí de producció (mòdul 8) | Cap: migra el notebook a mòduls .py |
L'editor: VS Code amb Python i Jupyter
El notebook és ideal per explorar, però quan el codi madura — funcions reutilitzables, tests, l'API de FastAPI del mòdul 8 — necessites un editor de debò:
- Visual Studio Code (code.visualstudio.com): gratuït, multiplataforma i l'editor més utilitzat a l'ecosistema Python. Amb dues extensions oficials és un entorn de dades complet: l'extensió Python (autocompletat, depurador, selecció d'intèrpret/entorn) i l'extensió Jupyter, que permet obrir i executar notebooks dins del mateix editor: el millor de tots dos mons.
- El flux professional que ja vam esbossar al mòdul 8: explorar en notebook, consolidar en fitxers
.py, versionar en Git. VS Code cobreix les tres fases sense canviar de finestra. - Alternativa digna de menció: PyCharm (JetBrains), amb edició Community gratuïta, preferit pels qui volen un IDE més pesant i complet des de l'inici.
Entorns i versions: venv/conda, Git, DVC i MLflow
Recapitulació i ampliació del que vam muntar al mòdul 8:
- Entorns virtuals (venv / conda): com vam veure a 08-01, cada projecte ha de tenir el seu entorn aïllat amb les seves versions exactes de llibreries.
venv+pip(estàndard de Python) cobreix la majoria de casos; conda hi afegeix gestió de paquets no-Python i és popular en ciència de dades. Tria'n un i sigues consistent; elrequirements.txt(oenvironment.yml) va sempre al repositori. - Git i GitHub: el control de versions del codi no és opcional. Tot projecte teu — inclosos els del mòdul 9 — hauria de viure en un repositori amb commits petits i descriptius. A més d'historial, GitHub és el teu portfolio (lliçó anterior).
- DVC (dvc.org): Git versiona codi, però els datasets i models grans no caben a Git. DVC (Data Version Control), que vam esmentar a 08-03, estén el flux de Git a dades i models: versiona quines dades van produir quin model. Gratuït i open source. Apunta-te'l per a quan un projecte teu pateixi el problema "amb quina versió del CSV vaig entrenar això?".
- MLflow (mlflow.org): registre d'experiments, models i el seu cicle de vida, també esmentat al mòdul 8. Gratuït i open source. El seu cas d'ús mínim — apuntar paràmetres i mètriques de cada experiment en lloc de fer-ho en un full de càlcul — ja justifica aprendre'l.
Experimentació: Optuna i Weights & Biases
- Optuna (optuna.org): el vas fer servir a 07-05 per a la cerca d'hiperparàmetres. Mereix quedar-se a la teva caixa d'eines permanent: la seva cerca bayesiana amb pruning d'assajos dolents estalvia hores davant d'un grid search a cegues, i s'integra amb scikit-learn, XGBoost, LightGBM i Keras. Gratuït i open source.
- Weights & Biases (wandb.ai): plataforma de seguiment d'experiments molt estesa en deep learning: registra mètriques, gràfics i models de cada execució i els presenta en panells web compartibles. Té pla gratuït per a ús personal. És l'alternativa "servei gestionat" a l'MLflow autogestionat; conèixer-ne una de les dues és suficient al principi.
AutoML: què és i què esperar-ne
L'AutoML automatitza parts del flux que has après: provar algorismes, preprocessaments i hiperparàmetres i quedar-se amb la millor combinació. auto-sklearn és l'exemple acadèmic de referència sobre el nostre stack: li dones les dades i un pressupost de temps i explora configuracions de scikit-learn per tu.
Perspectiva honesta:
- El que fa bé: establir ràpidament un llistó fort ("quin rendiment és assolible aquí?") i estalviar cerca mecànica.
- El que no fa: entendre el problema de negoci, detectar fuites de dades (mòdul 6), dissenyar variables amb coneixement del domini (l'RFM de MercaFresh del mòdul 3) ni respondre de les implicacions ètiques (08-04). Justament les parts on tu aportes valor.
- Conclusió: l'AutoML no et substitueix; automatitza el que aquest curs et va ensenyar a fer a mà — i precisament per haver-ho fet a mà pots fer-lo servir amb criteri i desconfiar-ne quan toca.
Datasets públics per practicar
Tot l'anterior necessita matèria primera. Fonts consolidades de dades per als teus projectes:
- Kaggle Datasets (kaggle.com/datasets): milers de datasets de tots els dominis, amb notebooks d'altres usuaris com a punt de partida. Idioma: anglès.
- UCI Machine Learning Repository (archive.ics.uci.edu): el repositori acadèmic clàssic — molts datasets històrics de l'ML (Iris, Wine, Adult...) viuen aquí. Idioma: anglès.
- Dades obertes d'administracions espanyoles: el portal nacional datos.gob.es agrega dades públiques d'administracions (transport, padró, pressupostos...), i ajuntaments com Madrid i Barcelona tenen portals propis d'open data. Idioma: castellà. Avantatge doble: practiques amb dades del teu context real i els projectes resultants són més originals que un altre Titanic al teu portfolio.
- També els generadors de
sklearn.datasets(que vam fer servir en diverses lliçons) continuen sent útils per a experiments controlats.
Maquinari: quan cal GPU i alternatives al núvol
Pregunta freqüent en acabar un curs com aquest: "em compro una GPU?". Resposta curta: probablement encara no.
- No necessites GPU per a: tot l'ML clàssic del curs (scikit-learn no fa servir GPU), XGBoost/LightGBM sobre datasets tabulars mitjans, i en general els mòduls 1 a 8. Un portàtil modern amb 16 GB de RAM va sobrat.
- Sí que ajuda (o cal) GPU per a: deep learning seriós — entrenar CNN sobre moltes imatges (09-02), models d'NLP grans, fine-tuning de models preentrenats.
- Alternatives abans de comprar: Google Colab (GPU gratuïta amb límits; de pagament per a més), Kaggle Notebooks (també ofereix GPU gratuïta amb quota setmanal) i, per a necessitats més grans, instàncies amb GPU dels proveïdors cloud (AWS, Google Cloud, Azure) pagant per hora. La regla econòmica: lloga fins que la despesa recurrent justifiqui comprar.
Taula resum: eina, ús i cost
| Eina | Ús principal | Cost |
|---|---|---|
| JupyterLab | Exploració i prototipatge local | Gratuït (open source) |
| Google Colab | Notebooks al núvol, GPU gratuïta | Gratuït (plans de pagament opcionals) |
| VS Code + ext. Python/Jupyter | Editor per a codi de producció i notebooks | Gratuït |
| venv / conda | Aïllament d'entorns per projecte | Gratuït |
| Git + GitHub | Versionament de codi i portfolio | Gratuït (plans de pagament per a equips) |
| DVC | Versionament de dades i models | Gratuït (open source) |
| MLflow | Registre d'experiments i models | Gratuït (open source) |
| Optuna | Optimització d'hiperparàmetres | Gratuït (open source) |
| Weights & Biases | Seguiment d'experiments (servei) | Pla gratuït personal; de pagament per a equips |
| auto-sklearn | AutoML sobre scikit-learn | Gratuït (open source) |
| Kaggle Datasets / UCI / datos.gob.es | Dades per practicar | Gratuïts |
| GPU al núvol (Colab de pagament, AWS...) | Entrenar deep learning a escala | Per hores / subscripció |
El viatge complet: recapitulació del curs
Val la pena, abans d'acomiadar-nos, mirar el camí recorregut amb MercaFresh, el nostre supermercat en línia, com a company de viatge:
- Mòdul 1: vam partir de zero: què és l'aprenentatge automàtic, els seus tipus (supervisat, no supervisat, per reforç) i el flux de treball que després repetiríem una vegada i una altra.
- Mòdul 2: vam construir la base estadística — distribucions, correlació, probabilitat — per poder raonar sobre dades i no només executar codi.
- Mòdul 3: vam aprendre que les dades reals arriben brutes: neteja, codificació, escalat, les variables RFM dels clients de MercaFresh i els pipelines que ho fan reproduïble.
- Mòdul 4: l'aprenentatge supervisat: de la regressió lineal a les xarxes neuronals, passant per la regressió logística, els arbres, SVM, K-NN i Naive Bayes, predient des de vendes fins a abandonament de clients.
- Mòdul 5: el no supervisat: K-means i clustering jeràrquic per segmentar clients, PCA per reduir dimensions, DBSCAN i t-SNE/UMAP per veure el que no es veu.
- Mòdul 6: el mòdul que separa l'aficionat del professional: avaluar amb honestedat — divisió de dades, mètriques, validació creuada, ROC/AUC i la lluita contra l'overfitting.
- Mòdul 7: vam pujar el nivell: regularització, ensembles, gradient boosting amb XGBoost i LightGBM, deep learning amb Keras i l'ajust sistemàtic d'hiperparàmetres amb Optuna.
- Mòdul 8: vam treure els models del notebook: serialització amb joblib, API amb FastAPI, contenidors Docker, monitoratge de deriva i les obligacions ètiques i legals (RGPD) de posar un model davant de persones reals.
- Mòdul 9: cinc projectes complets de principi a fi — preus d'habitatges, imatges amb CNN, sentiments amb NLP, frau amb classes desequilibrades i segmentació de clients — on tot l'anterior es va trobar amb la realitat.
- Mòdul 10: i aquest mapa final: llibres, cursos, comunitats i eines perquè l'aprenentatge no s'aturi aquí.
Si el primer dia t'haguessin ensenyat l'última cel·la de codi del projecte de frau, t'hauria semblat un altre idioma. Avui la llegeixes amb naturalitat. Aquest és el viatge.
Errors Comuns i Consells
- Error: perseguir eines en lloc de projectes. Instal·lar MLflow, DVC, W&B i tres editors la mateixa setmana és procrastinació amb aparença de productivitat. Adopta cada eina quan un projecte real et faci mal sense ella: DVC quan perdis la pista d'un dataset, MLflow quan els teus experiments no càpiguen a la teva memòria.
- Error: comprar maquinari abans de necessitar-lo. Mesos de Colab i Kaggle gratuïts separen la teva situació actual de la primera GPU justificada.
- Error: quedar-se al notebook per sempre. Si un codi s'ha de reutilitzar o desplegar, migra'l a
.pyamb Git, com vas practicar al mòdul 8. El notebook etern de 200 cel·les és deute tècnic. - Consell: automatitza el teu entorn d'arrencada. Tingues una plantilla de projecte (estructura de carpetes,
requirements.txtbase,.gitignoreper a dades) i clona-la a cada projecte nou: començaràs en minuts i amb bones pràctiques de sèrie. - Consell: revisa el teu taller una vegada l'any, no cada setmana. Les eines d'aquesta lliçó són estables; les modes setmanals de noves eines rarament sobreviuen. El teu criteri, no la novetat, decideix què entra al teu flux.
Exercicis
Exercici 1: muntar el taller complet
Configura des de zero un entorn professional per a un projecte nou: crea una carpeta amb entorn virtual (venv o conda), instal·la scikit-learn, pandas i jupyterlab, genera el requirements.txt, inicialitza un repositori Git amb un .gitignore que exclogui dades i l'entorn, i verifica que pots obrir JupyterLab i VS Code sobre aquest mateix entorn.
Exercici 2: Colab i la seva GPU
Obre Google Colab, crea un notebook, activa l'entorn d'execució amb GPU i comprova des de codi que està disponible (per exemple, amb tf.config.list_physical_devices('GPU') de TensorFlow). Després, puja o carrega un dataset petit i entrena qualsevol model de scikit-learn per verificar el flux complet al núvol.
Exercici 3: el teu primer projecte postcurs amb dades obertes
Explora datos.gob.es (o el portal de dades obertes de la teva ciutat) i tria un dataset que t'interessi. Defineix en un paràgraf un projecte d'ML complet sobre ell: pregunta de negoci, tipus de problema (supervisat?, clustering?), mètrica d'avaluació adequada i quines eines d'aquesta lliçó faries servir a cada fase. És el teu pla per a la primera setmana després d'aquest curs.
Solucions
Exercici 1 (orientativa): la seqüència mínima en Linux/macOS: python -m venv .venv, source .venv/bin/activate, pip install scikit-learn pandas jupyterlab, pip freeze > requirements.txt, git init i un .gitignore amb almenys .venv/, data/ i .ipynb_checkpoints/. A VS Code, selecciona l'intèrpret de .venv (paleta d'ordres, "Python: Select Interpreter"). Si JupyterLab arrenca i VS Code executa un notebook contra el mateix entorn, el taller està operatiu: guarda aquesta recepta com la teva plantilla.
Exercici 2 (orientativa): a Colab: menú Entorn d'execució → Canvia el tipus d'entorn d'execució → GPU. La comprovació hauria de llistar almenys un dispositiu GPU. El model de scikit-learn no farà servir la GPU (i està bé: és la demostració pràctica de la secció de maquinari — l'ML clàssic no la necessita); la GPU cobrarà sentit quan hi repeteixis la CNN del projecte 09-02 i comparis temps d'entrenament amb la teva CPU.
Exercici 3 (orientativa): un exemple ben plantejat: amb dades d'accidents de trànsit d'un ajuntament, "predir la gravetat d'un accident a partir de l'hora, la meteorologia i el tipus de via" — classificació supervisada, probablement amb classes desequilibrades (recorda 09-04: millor F1 o AUC-PR que accuracy), explorada a JupyterLab, versionada amb Git, amb hiperparàmetres via Optuna i, si el resultat val la pena, publicada a GitHub com a peça de portfolio. Qualsevol dataset serveix si la pregunta és concreta i la mètrica està justificada.
Conclusió
I amb això, el curs s'acaba. Vas començar sense saber què distingeix l'aprenentatge supervisat del no supervisat i arribes fins aquí havent netejat dades reals, entrenat i avaluat desenes de models, desplegat un model en una API dins d'un contenidor i completat cinc projectes de principi a fi. MercaFresh es queda aquí, però el flux de treball que vas practicar amb els seus clients, les seves fruites i els seus fraus és exactament el que aplicaràs a qualsevol problema real que t'esperi.
Aquest últim mòdul et deixa el mapa: llibres per aprofundir, cursos per ampliar, comunitats per no caminar sol i un taller d'eines per treballar com un professional. L'aprenentatge automàtic és un camp que es mou ràpid, i això, lluny de ser una amenaça, és la garantia que mai no t'avorriràs: sempre hi haurà un model millor per entrenar, un dataset nou per entendre, una tècnica més per aprendre.
Només queda el més important: practicar. Tria un dataset aquesta setmana — no el mes que ve — i recorre el flux complet una vegada més, ja sense ningú que et guiï. Aquest és el moment exacte en què deixes de ser estudiant d'aprenentatge automàtic i passes a ser-ne practicant. Ha estat un plaer acompanyar-te fins aquí. La resta del camí és teu: gaudeix-lo.
Curs de Machine Learning
Mòdul 1: Introducció al Machine Learning
- Què és el Machine Learning?
- Història i evolució del Machine Learning
- Tipus de Machine Learning
- Aplicacions del Machine Learning
- El flux de treball d'un projecte de Machine Learning
Mòdul 2: Fonaments d'Estadística i Probabilitat
- Conceptes bàsics d'estadística
- Distribucions de probabilitat
- Correlació i covariància
- Inferència estadística
- Teorema de Bayes
Mòdul 3: Preprocessament de Dades
- Neteja de dades
- Gestió de dades mancants
- Transformació de dades
- Codificació de variables categòriques
- Normalització i estandardització
- Enginyeria de característiques
Mòdul 4: Algorismes de Machine Learning Supervisat
- Regressió lineal
- Regressió logística
- Arbres de decisió
- Màquines de suport vectorial (SVM)
- K veïns més propers (K-NN)
- Naive Bayes
- Xarxes neuronals
Mòdul 5: Algorismes de Machine Learning No Supervisat
- Clustering: K-means
- Clustering jeràrquic
- Anàlisi de components principals (PCA)
- Anàlisi d'agrupament DBSCAN
- Visualització de dades amb t-SNE i UMAP
Mòdul 6: Avaluació i Validació de Models
- Divisió de dades: entrenament, validació i prova
- Mètriques d'avaluació
- Validació creuada
- Corba ROC i AUC
- Overfitting i underfitting
Mòdul 7: Tècniques Avançades i Optimització
- Regularització: Ridge, Lasso i Elastic Net
- Ensemble Learning
- Gradient Boosting
- Xarxes neuronals profundes (Deep Learning)
- Optimització d'hiperparàmetres
Mòdul 8: Implementació i Desplegament de Models
- Frameworks i biblioteques populars
- Implementació de models en producció
- Manteniment i monitoratge de models
- Consideracions ètiques i de privadesa
Mòdul 9: Projectes Pràctics
- Projecte 1: Predicció de preus d'habitatges
- Projecte 2: Classificació d'imatges
- Projecte 3: Anàlisi de sentiments a les xarxes socials
- Projecte 4: Detecció de fraus
- Projecte 5: Segmentació de clients
