19 · Sentimiento Kindle: pipeline TF-IDF de produccion
Dale forma de produccion al clasificador de sentimiento Kindle: TF-IDF mas GridSearchCV mas persistencia joblib — la forma de entrega de cualquier clasificador de texto.
Dale forma de produccion al clasificador de sentimiento Kindle con TF-IDF mas GridSearchCV mas persistencia — la forma de entrega de cualquier clasificador de texto.
Sin esto:
Enviarias una celda de Jupyter en vez de un modelo reutilizable.
Esta leccion es la sintesis de todo el track NLP. Has tokenizado texto, explorado BOW, TF-IDF y Word2Vec, construido clasificadores de spam y comparado representaciones de features. Ahora lo pondras todo junto en un pipeline de clasificacion de texto con forma de produccion.
"Forma de produccion" significa tres cosas:
- Conjunto de prueba reservado: el conjunto de prueba se separa primero y nunca se toca durante el desarrollo o el ajuste. Su resultado es la precision reportada honestamente.
- Ajuste de hiperparametros solo en TRAIN: GridSearchCV valida cruzadamente completamente dentro del conjunto de entrenamiento. El conjunto de prueba no tiene ninguna influencia en la seleccion de parametros.
- Artefacto persistente: el pipeline entrenado se serializa en disco con joblib, se recarga y se verifica — la forma exacta de un microservicio que llama a
pipe.predict_proba.
La tarea sigue siendo el sentimiento de Kindle en las mismas 40 resenas sinteticas. El objetivo no es exprimir el ultimo 0.5% de precision en 40 filas — es demostrar el andamiaje de ingenieria que envuelve cualquier modelo NLP clasico.
Despues de esta leccion tambien inspeccionaras la interpretabilidad del modelo (que tokens senalan con mayor fuerza sentimiento positivo vs negativo) — porque todo modelo desplegado debe ser explicable a sus partes interesadas.
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Python (in browser)
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
Checklist de produccion: pipeline completo, holdout de prueba, tuning CV solo en train, joblib, semilla, log de auditoria
Por que ajustar los hiperparametros en los pliegues CV de TRAIN y no en el conjunto de prueba?
- Los clasificadores de texto de produccion usan una division en 3 partes: train (pliegues CV de GridSearchCV), val opcional (verificaciones rapidas), test (reservado hasta la evaluacion final). El conjunto de prueba nunca se toca durante el ajuste.
- sklearn Pipeline mas GridSearchCV es el patron de ajuste canonico: define un pipeline, define un param_grid con notacion de doble subrayado (tfidf__ngram_range, clf__C), ejecuta GridSearchCV en datos de train, lee best_params_ y best_estimator_.
- Interpretabilidad del modelo via coeficientes de LogReg: coef_[0] mapea cada feature TF-IDF a su contribucion a la clase positiva. Los coeficientes positivos mas altos son senales de sentimiento positivo; los negativos son senales de sentimiento negativo. Siempre inspecciona antes de enviar.
- joblib.dump(pipe, path) mas joblib.load(path) es el patron del artefacto de despliegue. El pipeline serializado incluye tanto TfidfVectorizer (vocabulario y pesos IDF) como el clasificador. Cargalo en cualquier endpoint de Flask o FastAPI y llama a pipe.predict_proba en cadenas crudas.
Esta es la forma de entrega final de cualquier proyecto NLP clasico; el mismo patron funciona para categorizacion de productos, enrutamiento de tickets de soporte, clasificacion de intencion y deteccion de abuso.
Si lo quitas: Sin ella, enviarias celdas de Jupyter en vez de modelos reutilizables.