Mas leido
Building Stories
Modo Rua: Redefiniendo el desarrollo de aplicaciones mediante iteración centrada en el usuario Ago 23
Building Stories
NuStories: Adaptación de productos para clientes fanáticos en varios países Oct 30
Culture & Values
Cómo los valores y la cultura de Nu dan forma a los productos que creamos Ago 7
Carreras
Reunimos a grandes mentes de diversos orígenes que permiten la discusión y el debate y mejoran la resolución de problemas.
Conoce más sobre nuestras carreras



Lea la Parte I de esta serie aquí.
En la primera parte de esta serie, hablamos sobre los principios de fklearn y cómo puede resultar útil crear canales de aprendizaje automático utilizando funciones puras. Sin embargo, los beneficios más significativos de usar fklearn se obtienen al realizar análisis y validación de modelos, como veremos a continuación.
Validación Extensible
Para los modelos que entran en producción, la validación a menudo requiere mucho más que simplemente descubrir el valor de alguna métrica en un conjunto de reservas o comparar una métrica con un punto de referencia. A menudo queremos responder preguntas como:
Todas estas pueden parecer preguntas muy diferentes, pero pueden responderse mediante el mismo algoritmo de validación de modelo generalizado.
Algoritmo de validación generalizado de fklearn: Primero los datos se dividen en fragmentos, se aplica una función de entrenamiento a algún subconjunto de datos, se hacen predicciones en otro subconjunto y luego se aplica una función de evaluación a las predicciones.
En fklearn, este algoritmo se implementa mediante la función de validación:
La función de validación en fklearn (dentro de fklearn.validation.validator) implementa el algoritmo de validación generalizado que se describe aquí.
El validador devuelve un conjunto de registros que contienen los resultados de todas las evaluaciones realizadas en los conjuntos de prueba. Luego se puede realizar el análisis extrayendo los datos de estos registros (fklearn proporciona funciones auxiliares para hacerlo).
Simplemente intercambiando las funciones de división y evaluación, podemos simular y evaluar muchos escenarios diferentes de la vida real, lo que nos ayuda a responder esas preguntas.
Veamos un ejemplo, utilizando el alumno que definimos en la Parte 1, en el que intentamos responder estas dos preguntas:
Un ejemplo completo de formación y evaluación.
Repasemos este ejemplo con más detalle.
Consulte nuestras oportunidades laborales
Funciones de División
En el ejemplo anterior, después de definir al alumno, definimos dos funciones de división:
Fklearn viene preempaquetado con muchas funciones de división para casos de uso comunes (puede encontrar una lista completa y descripciones de cuándo son útiles aquí). La mayoría de los divisores están diseñados para simular situaciones de la vida real, donde normalmente los modelos se entrenan con datos de un período de tiempo pero se aplican en el futuro. La validación cruzada simple suele ser insuficiente para modelos reales.
Evaluación Personalizable
Esto surge a menudo en la evaluación de modelos: las métricas globales únicas a menudo no cuentan la historia completa. Es posible que deseemos aislar los efectos del ordenamiento de los modelos y la calibración del modelo o analizar el desempeño en subgrupos específicos de nuestra población. También podríamos estar interesados en la evolución de una métrica particular, en lugar de simplemente una estimación puntual.
Para ello, necesitamos evaluar simultáneamente múltiples métricas, divididas en dimensiones (por ejemplo, tiempo, segmento de clientes). Fklearn permite esto al permitirnos definir ″árboles de evaluación″, combinando funciones de evaluación individuales. Volviendo a nuestro ejemplo, así es como definimos la función de evaluación:
Ejemplo de definición de un árbol de evaluación.
Este fragmento de código conduce al árbol de evaluación que se muestra a continuación:
Representación de árbol de la función de evaluación definida anteriormente.
Una vez que se aplica final_eval_fn a los datos, se ejecuta todo el árbol de evaluadores y todos los resultados se devuelven en el registro. Esto significa que tanto r2 como la correlación de Spearman se calcularán primero para todos y luego por separado para cada segmento de usuarios. Estos ″árboles de evaluación″ pueden ser muy poderosos y permiten a los científicos de datos automatizar análisis recurrentes.
Analizando Resultados
Como habrás notado, la mayoría de las operaciones en fklearn devuelven registros. Estos registros concentran información valiosa, ya sean parámetros del modelo, metadatos del conjunto de datos o resultados de validación. Fklearn puede ser muy detallado con el registro, ya que nos hemos arrepentido de no haber guardado información con frecuencia.
Fklearn también proporciona funciones útiles para extraer datos de estos registros (pueden llegar a ser bastante grandes) y es fácil crear gráficos de evaluación utilizando solo los registros. Esto nos permite construir un código de evaluación genérico que recibe registros de ejecuciones de entrenamiento y genera paneles con el rendimiento del modelo, acelerando el proceso de iteración. A continuación se muestra un ejemplo de extracción de datos de los registros:
Ejemplo de uso de extractores de fklearn para obtener resultados de registros.
Gráfico de la curva de estabilidad de la muestra, después de extraer los datos de los registros. Muestra el rendimiento del modelo (correlación de Spearman entre predicción y objetivo) a lo largo del tiempo, dividido por segmento. También sería posible trazar R2 a partir de los mismos datos.
Felicidad Funcional
Como nota final sobre la validación, observe que el alumno que definimos se utilizará una y otra vez dentro de estas llamadas de validador, entrenando varios modelos. Tenemos la tranquilidad de saber que es una función pura, por lo que nada de lo que sucede dentro de la validación puede cambiar la definición de nuestro modelo, y que, al validar nuestro modelo, todos los pasos de nuestra canalización se aplican de manera consistente a todos los pliegues de datos. En última instancia, esto significa que nuestro modelo final, que pasa a producción, coincide con precisión con los modelos que pasan por todos estos escenarios de validación.
Lo mismo ocurre con el ajuste o la selección de funciones. Para ambos, fklearn proporciona funciones que son similares en espíritu al validador: usted define cómo dividir los datos, cómo evaluar el rendimiento del modelo y reutilizar su función de aprendizaje.
¿Qué sigue?
Esta publicación concluye nuestra breve introducción a fklearn. Para obtener más ejemplos de las capacidades de validación de modelos de fklearn y otras herramientas poderosas, consulte la documentación aquí. También esperamos que esto le entusiasme al probar fklearn usted mismo.
Consulte nuestras oportunidades laborales
Descubre las oportunidades