¿Cómo realizar un seguimiento eficaz de las métricas en un modelo predictivo?
La capacidad de realizar un seguimiento eficaz de las métricas de un modelo predictivo es crucial para el desarrollo y mejora continua de modelos de aprendizaje automático. Esto nos permite auditar y comprender mejor nuestro modelo, brindando detalles que pueden orientar nuestras decisiones en fases futuras del proceso de desarrollo. En esta clase, aprenderemos cómo implementar un seguimiento adecuado utilizando técnicas de validación cruzada y búsqueda en grilla, un camino crucial para optimizar nuestro modelo predictivo.
¿Cuál es el significado de las métricas 'ROC AUC' y cómo se integran en el seguimiento?
El ROC AUC (Receiver Operating Characteristic - Area Under the Curve) es una métrica fundamental para evaluar la performance de modelos clasificatorios. Esta métrica permite detectar la capacidad del modelo para distinguir entre clases, representando este comportamiento en una gráfica ROC.
Para llevar un control adecuado de estas métricas, es esencial utilizar herramientas que nos permitan registrar cada una de ellas. Así, al ejecutar un código de seguimiento de estas métricas, podemos listar las métricas de entrenamiento y prueba de la siguiente manera:
metrics.extend([roc_auc_train, roc_auc_test])
El uso de logger para mostrar la información es crucial, aunque no suficiente, ya que se debe hacer un seguimiento real de estas métricas utilizando herramientas como emiliflow.logmetric.
¿Cómo implementamos predicciones sobre los datos y el seguimiento de precisión y recall?
Tomar predicciones sobre los conjuntos de datos de entrenamiento y prueba es esencial para evaluar diferentes métricas de evaluación, como precision y recall, aplicando ambas en modelos discriminativos.
La implementación del código para hacer predicciones y el registro de las métricas sería como sigue:
train_pred = model.predict(train_data)test_pred = model.predict(test_data)# Log metrics for precision and recall
emiliflow.logmetric("precision_train",precision_score(train_labels, train_pred))emiliflow.logmetric("recall_train",recall_score(train_labels, train_pred))emiliflow.logmetric("precision_test",precision_score(test_labels, test_pred))emiliflow.logmetric("recall_test",recall_score(test_labels, test_pred))
Vale la pena señalar que estas métricas nos brindan una visión más amplia de la capacidad de rendimiento y generalización del modelo.
¿Cómo manejar el seguimiento de hiperparámetros con validación cruzada y búsqueda en grilla?
Comprender y realizar un seguimiento de los hiperparámetros utilizados en la validación cruzada y la búsqueda en grilla puede ser complicado, pero es esencial para optimizar eficazmente el modelo. La función de seguimiento que utilizaremos podrá identificar si un modelo fue entrenado con validación cruzada o no, ajustando dinámicamente los parámetros para registrar la información necesitada sin interrupciones.
En el caso de un modelo entrenado con búsqueda en grilla:
Este enfoque garantiza que, independientemente de cómo se haya entrenado el modelo, los mejores hiperparámetros sean reconocidos y rastreados, permitiéndonos optimizar futuras implementaciones.
¿Por qué es importante el registro de hiperparámetros en el proceso de modelado?
El registro de los hiperparámetros es crucial para entender el comportamiento y las características de un modelo. Nos ayuda a:
Reproducibilidad: Permite a otros reproducir tu trabajo exacto en un futuro cercano.
Análisis exhaustivo: Facilita el análisis comparativo entre diferentes modelos y configuraciones.
Mejora continua: Proporciona una base para la optimización y mejora continua de modelos predictivos.
Al automatizar el proceso de registro de hiperparámetros, podemos asegurar que estamos listos para iterar utilizando los datos y configuraciones previas, fundamental para el aprendizaje automático moderno.
Decepcionante hasta ahora el curso, todavía no entiendo qué es mlflow si fuera por el curso (ya que tuve que ver otros videos), lo único que está haciendo la profe es escribir codigo. Yo pensé que Platzi se daría cuenta de esto, ya que hay un monton de cursos con profes que te habla mientras escriben el codigo sin ninguna explicación profunda ni nada por el estilo, necesito explicaciones gráficas, recursos en la descripción, etc. Y más que todo de un tema tan complejo e importante como lo es MLOps.
Vengo del anterior curso de MLOps (que fue hace 2 años) y esperaba encontrarme con todas los problemas y debilidades del anterior resueltas.
Tu lo has dicho, es un tema complejo, si al momento de ver este video no entiendes o tienes idea de lo que te esta explicando en el código, quizás debas tomar cursos fundamentales de Machine Learning y practicar mas. Iniciar con MLOps podría considerarse como la parte final de tu aprendizaje en ML y AI.
En lo personal me ha parecido muy interesante y profesional como esta estructurando el código y todo lo que podemos registrar y monitorear con mlflow,
El curso está bien, solo que la gente no entiende lo que es MLOps, yo soy científico de datos y también trabajo con MLOps en el momento y entiendo perfectamente, solo que si van a tomar este curso deben tener ciertos conocimientos previos, primero deben estudiar mas de Machine Learning y otros conceptos estadísticos.
Yo creo que la profesora debió tomar un ejemplo desde 0 e irlo armando a lo largo del curso y codificando linea a linea explicando lo que hace y por qué. Lo que veo es que tomó un ejercicio complejo que ya tenía y te lo va explicando muy resumidamente
Me siento raro en este curso, siento que los cursos no comienzan desde las bases o lo basico de algo, solo escucho y escucho a la profe hablar, pero no se que estamos haciendo, me siento perdido, siento que solo veo copiar pegar codigo, pero siento que no avanzo en nada de este curso, me siento perdiendo el tiempo.
Hola Luis. Este curso es un poquito más avanzado que lo que buscas, en este punto debes saber hacer prácticamente todo el pipeline de un proyecto de ML para entender porque hace lo que hace.
Mi recomendación es que empieces con cursos más sencillo de ciencia de datos antes de este.
Saludos!
concuerdo con algunos de los compañeros, el enfoque de este curso es acerca de despliegues de modelos de ML, a partir de la herramienta de MLflow, esta es muy buena pero siento que con el ejemplo de proyecto es muy complicado entender como esta usando mlflow (al final es explicando muchas cosas para al final usar una cosita no mas en mlflow), es mi perspectiva, el curso es bueno pero serie mejor dandole un enfoque desde un proyecto mas basico
También estoy de acuerdo con que el curso está bien. Esto no es una clase de Data Science o Procesamiento de Lenguaje, es una clase de MLOps y de como operar un ciclo de desarrollo de Machine Learning en ambientes productivos. Mi recomendación para los que no están entendiendo es que paren y tomen algunos cursos de NLP y luego vuelvan a tomarlo.
Me parece que para explicar MLOps tenemos un ejemplo algo complejo y se pierde la idea que se queire aprender aqui .Se esta tomando mas tiempo y esfuerzo al explicar las clases y metodos del NLP y se pierde enfoque en el MLOps .En conclusion la profesora es buena pero el proyecto que tomo como ejemplo me parece que no es el adecuado para que quede mas claro el MLOPS.
excelente
Me gustaría si por favor me recomiendan algunos cursos para comprender mejor lo que aquí de explica