Cosas Importantes
Hacks de Productividad
Sesiones Q&A
BLOQUE I - MENTALIDAD Y FOCO
BLOQUE II - BASES DEL CIENTÍFICO DE DATOS
BLOQUE III - PROYECTO CORE
BLOQUE IV- PROYECTOS SATÉLITE
BLOQUE V - LÁNZATE AL MERCADO
EXTRA - SESIONES EXPERTOS

IMPLEMENTACIÓN DEL PROYECTO CORE PASO A PASO

En este bloque vamos a implementar la estructura de proyecto o la estructura de servicio que se puede utilizar en el 90% de los proyectos. Estamos hablando de una estructura que el proyecto se puede ofrecer a partir de 2000€ tirando bajo.

Lo que vas a ver en esta sección es un paso a paso que hemos validado con numerosos clientes y que evidentemente hay que adaptar al proyecto y datos que estás trabajando en la mentoría. Por ello, están las pensadas las sesiones de ejecución de análisis de datos donde os damos soporte 1 a 1.

A continuación te voy a presentar una serie de hojas de trabajo tipo guías que te ayudarán a implementar el paso a paso del proyecto.

Los contenidos que tienes a continuación te van a servir para poder entender mucho mejor e implementar los PATH de R y el PATH de PYTHON de los proyectos de clasificación y de regresión.

El objetivo de este bloque III es que seas capaz de entrenar algoritmos de clasificación y de regresión y que te sirvan para poder entender mejor tu sistema y usarlos para predecir nuevos casos.

VÍDEO 1 - PROBLEMA, ESTRATEGIA Y LECTURA DE DATOS

Después del trabajo que has hecho durante el bloque anterior ahora vamos a ir un paso más allá y vas a trabajar el proyecto core.

El proyecto core puede ser un proyecto clasificador o un proyecto de regresión. Es más común que sea clasificador por ello pondremos más énfasis en el clasificador, aunque la diferencia entre ambos se puede ver solo en las métricas de error que usaremos para decidir el mejor algoritmo y los tipos de algoritmos a entrenar. Son las dos grandes diferencias. Por lo demás, el método es replicable para ambos casos. De todas formas, en el path de R y Python tienes ejemplos de ambos proyectos para que puedas aplicarlo a tus datos indistintamente.

En este vídeo vamos a repasar cómo plantear el problema, la estrategia en cada una de las fases de análisis de datos y te presento la lectura de datos y los tipos de formatos.

¡Vamos a ello!

VÍDEO 2 - INTRODUCCIÓN A LA LIMPIEZA DE DATOS

Se dice que un científico de datos se pasa el 80% del tiempo leyendo y limpiando datos. La limpieza y el reordenamiento de las matrices de datos es un trabajo que depende mucho de cada proyecto y del tipo de datos que tengas pero es de vital importancia para que después funcione correctamente el clasificador o el proyecto de regresión.

En estos dos vídeos pretendo exponerte ejemplos de limpieza de datos para que te des cuenta cómo hacerlo en la práctica pero no pretendo darte el ingrediente secreto de la limpieza de datos porque no existe.

Lo que si que existe son pequeños tips o rutinas de trabajo que nos sirven para poder limpiar los datos y darnos cuenta y aplicarlo a tus proyectos.

¡Vamos a allá!

¡Bien¡ Ahora que hemos dedicado repasar cómo limpiar datos vamos a ver diferentes ejemplos de limpieza de datos, en este caso, lo hemos planteado con R, aunque aquí lo importante no es la herramienta sino los diferentes ejemplo vistos en la práctica.

Al final se pueden resumir en:

  • - Corregir errores de sintaxis.
    - Cambiar tipo de variables correctas.
    - Eliminar las filas duplicadas.
    - Corregir valores erróneos o eliminarlos.
    - Imputar o eliminar los valores perdidos.
    - Check de valores outliers.

¡Vamos a ver esos ejemplos!

VÍDEO 3 - EJEMPLO: PROBLEMA, ESTRATEGIA, LECTURA DE DATOS Y DESCRIPCIÓN INTELIGENTE

Ahora ya tienes mucho más claro el planteamiento de este tipo de proyectos y el paso a paso inicial antes de empezar a calcular nada.

Vamos a repasar los primeros pasos con un ejemplo del equipo ganador de la NBA.

Este ejemplo te ayudará a bajar todos los conceptos que hemos visto en un ejemplo práctico para ayudarte a verlo más aplicable.

Los pasos que seguimos en el vídeo son los siguientes:

  • - Definir el problema y la estructura de tabla de datos.
  • - Encontrar los datos y leerlos.
  • - Limpieza y reordenación de los datos.
  • - Descripción inteligente de los datos.

Tienes el código del proyecto en esta carpeta:

VÍDEO 4 - FEATURE SELECTION + INTRODUCCIÓN AL TRAINING

En esta sesión te voy a explicar el feature selection + la introducción al training para que puedas implementar la selección de variables más importantes que usarás después en el training.

En la selección de variables podemos usar las siguientes técnicas:

1. Feature selection univariada ( ANOVA/Kruskall Wallis = Cuantitativa vs salida o Chi Cuadrado = Cualitativas vs salida, MI = Mutual information)

- Quitar las variables con MI = 0
- Quitar las variables con p-valores >25% = 0.25


2. Feature selection multivariado:
- RFE - recursive feature elimination RANDOM FOREST
- Modelo logístico (caso binario) mejor modelo según el BIC. --> con pocos datos y pocas variables
- Boruta - rfe mejorado

Vamos a ver todo ello un poco más en detalle en la sesión:

VÍDEO 5 - PROCESO DE TRAINING: DATA PARTIONING, BALANCEO, K-FOLD VALIDATION + BORUTA FEATURE SELECTION

Para entrenar necesitamos seguir unos pasos muy mecánicos pero siempre hay que estar abierto a probar y testear hasta encontrar la "mejor" opción.

Los pasos del training para un caso de clasificación:

1. Data split - partición de los datos
2. Balancear los datos
3. Definir el training: tipo de resampling, tipos de transformaciones
4. Training de algoritmos sencillos - baseline
5. Training de algoritmos avanzados (ENSEMBLE ALGORITHMS - boosting o de bagging)
6. Optimizar del mejor algoritmo sencillo
7. Optimizar el mejor algoritmo avanzado

En la sesión vamos ampliar la selección de variables con la técnicas de Boruta. Aquí el ejemplo: https://towardsdatascience.com/boruta-explained-the-way-i-wish-someone-explained-it-to-me-4489d70e154a

Y seguidamente te voy a explicar el balanceo de los datos, el resampling, y los algoritmos más sencillos para empezar como base:

VÍDEO 6 - ALGORITMO BÁSICOS. INTUICIÓN PRÁCTICA

En esta sesión puedes ver los algoritmos básicos explicados y la clasificación de algoritmos de forma genérica:

Algoritmos lineales y no lineales.

Algoritmos básicos y avanzados.

En este vídeo vas a ver:

  • - Los modelos estadísticos para regresión y clasificación.
  • - LDA - Linear discriminant analysis.
  • - KNN - los k vecinos más cercanos.
  • - NB: Naive Bayes
  • - CART - Árbol de Clasificación
  • - SVM: introducción al Support Vector Machine

VÍDEO 7 - ALGORITMOS AVANZADOS + TUNNING

En esta sesión vas a descubrir los algoritmos avanzados.

Son algoritmos más potentes que los anteriores que en general funcionan mucho mejor con más datos que los algoritmos básicos.

Los algoritmos avanzados se basa en la idea es usar algoritmos básicos de forma repetida para crear algoritmos más potentes. 

Hay dos grandes maneras de crear algoritmos avanzados:

Bagging - Los métodos de bagging son métodos donde los algoritmos simples son usados en paralelo. El principal objetivo de los métodos en paralelo es el de aprovecharse de la independencia que hay entre los algoritmos simples, ya que el error se puede reducir bastante al promediar las salidas de los modelos simples. Es como si, queriendo resolver un problema entre varias personas independientes unas de otras,  damos por bueno lo que eligiese la mayoría de las personas. Se basa en el boostraping: https://es.wikipedia.org/wiki/Agregaci%C3%B3n_de_bootstrap

Boosting - En los algoritmos de boosting, los modelos simples son utilizados secuencialmente, es decir, cada modelo simple va delante o detrás de otro modelo simple. El principal objetivo de los métodos secuenciales es el de aprovecharse de la dependencia entre los modelos simples. El rendimiento general puede ser mejorado haciendo que un modelo simple posterior le de más importancia a los errores cometidos por un modelo simple previo. Poniendo un ejemplo, es como si nosotros al resolver un problema aprovechásemos nuestro conocimiento de los errores de otros para mejorar en algo intentando no cometerlos nosotros.

La diferencia con el bagging es que en el boosting los algoritmos no se entrenan independientemente, sino que se ponderan según los errores de los anteriores.


¡Vamos a verlo en esta sesión muy muy útil!

En la sesión también hablamos del tunning de algoritmos como el SVM y profundizamos en él ya que es una de los algoritmos más utilizados y funcionales a nivel de predicción de datos.


?