Exploración y Preprocesamiento de datos usando PySpark — tarjeta de crédito

En este artículo hablaré un poco la exploración y preprocesamiento de datos usando Spark de un set de datos de kaggle de tarjetas de crédito (“credit card”).

Jonathan Quiza
Ciencia y Datos
6 min readJul 6, 2018

--

¿Exploración de datos?

En primer lugar, debemos entender mucho mejor la exploración de datos como un proceso y, si es posible, crear modelos capaces de describirla en términos abstractos útiles.

En segundo lugar, necesitamos desarrollar más métodos, técnicas y herramientas para respaldar la exploración interactiva de datos. Apuesto a que hay muchas “necesidades latentes” que esperan ser descubiertas. Asi como resolver hipótesis que nos planteamos.

En tercer lugar, debemos encontrar formas de enseñar sistemáticamente análisis de datos exploratorios a otros de forma que el proceso sea lo más eficaz posible.

¿Preprocesamiento de los datos?

Existe un flujo que es común para la mayoría de los algoritmos de Machine Learning

  • Importar los datos y resumen
  • Establecer una estrategia para los datos que faltan (missing values) y las variables categóricas
  • Dividir el conjunto en entrenamiento (Train) y validación (Test)
  • Escalar (la mayoría de algoritmos de las librerías ya incluyen el escalado
  • Construir y ajustar (fit) el modelo que se vaya a usar al conjunto de entrenamiento
  • Utilizar el modelo con nueva información del conjunto de validación
  • Validar el comportamiento (accuracy) que tiene el modelo -> RMSE + Gráfico
  • Redefinir el modelo para conseguir mejores predicciones
  • Guardar y desplegar el modelo en producción

Demostración con Spark en kaggle

ruta del desafió

Lo puede ver aquí

importar librerías

Spark Session

Estructura del esquema

El esquema ayuda cuando crear un modelo y por alguna razón alguien te lo cambia, ya sabes la estructura inicial

Leer archivo

Tipo de datos

Cantidad de filas

Valores nulos(missing values)

Dataset sin ID y sin label

Detección de valores unico

Primeros 10 valores del dataset

Data descriptiva

función de Anomalías

Selección de variables excepto ID y LABEL

Visualizacion de Anomalías con dbscan

Visualización de Anomalías con Isolation Forest

Visualización de Anomalías con LocalOutlierFactor

Visualización de la correlación

Visualización de la distribución

Visualización de valores vacios conocido como “missing values”

Correlación entre las variables independientes y la variable label.

Visualización del balance del label

Imputacion de datos

lamentablemente no existe datos para realizar imputación =(

Transformación de los datos

lamentablemente no existe datos para transformar =(

Partición de los datos

Vectorización de los datos

Modelo selección RF

Test Area Roc

ParamGrid

Validación cruzada(numFolds=5)

Selecciona el mejor Modelo de entrenamiento (K*M)

Evaluación del modelo

Visualización de la probabilidad

Stochastic Outlier Selection on Apache Spark

ruta aquí

t-Distributed Stochastic Neighbor Embedding

ruta aquí

Espero le hayas gustado esta publicación sobre exploración y preprocesamiento usando Spark, ya comenzare con unas aplicaciones visión computaciónal y tensorflow

linkedin:

Gracias

--

--

Jonathan Quiza
Ciencia y Datos

Lead ML Engineer / Data science / Machine Learning / MLops