13 - Proyecto final: limpieza, análisis y clasificación de datos con NumPy

Lección 13 del curso NumPy para Ciencia de Datos y Machine Learning.

Introducción

En la lección anterior vimos el uso de funciones avanzadas en NumPy que resultan muy útiles en diferentes proyectos de Ciencia de Datos y Machine Learning.

En este último módulo pondremos en práctica todo lo aprendido durante el curso para resolver un problema de Ciencia de Datos y Machine Learning.

Así que en este proyecto final usaremos varias herramientas de NumPy para abordar un problema de segmentación de clientes, en donde será necesario realizar primero una limpieza de los datos, para luego realizar un análisis exploratorio preliminar de los mismos.

Posteriormente, para realizar un análisis más detallado implementaremos un sencillo modelo de Machine Learning para, finalmente, determinar las características de cada segmento de cliente.

Y todo lo anterior lo haremos haciendo uso de varias de las herramientas de NumPy aprendidas hasta el momento.

Contenido exclusivo suscriptores

Suscríbete y accede al set de datos, código fuente y video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

El problema a resolver

Tenemos un set de datos recolectado por un centro comercial y que contiene información de la edad y del nivel de compra de sus clientes durante el último año. En total el set de datos tiene 373 registros (correspondientes a la información de 373 diferentes clientes).

En este set de datos original observamos que no resulta fácil apreciar sus características porque algunos valores (de edad o nivel de compra) están por fuera del rango de la mayoría de los datos (son datos atípicos u outliers).

Así que en una primera fase del proyecto realizaremos una limpieza de los datos.

Una vez realizada la limpieza, una segunda fase será realizar el análisis exploratorio de los datos con lo cual veremos sus principales características y podremos determinar los principales segmentos de cliente existentes.

Pero este análisis exploratorio no será lo suficientemente preciso, así que para poder caracterizar de forma detallada cada segmento, en la tercera fase del proyecto implementaremos lo que se conoce como el algoritmo de k-means, uno de los algoritmos básicos del Machine Learning y que nos permitirá generar agrupaciones de clientes basados en su edad y su nivel de compra.

Una vez implementado el algoritmo de k-means, en la última fase del proyecto caracterizaremos en detalle cada segmento de cliente usando los resultados de dicho algoritmo.

Lectura y exploración inicial del set de datos

El set de datos se encuentra almacenado en formato npy, propio de NumPy. Usaremos la función load de NumPy para cargarlo, así como la librería Matplotlib para visualizarlo y comenzar a entenderlo.

El set contiene un total de 373 registros organizados en dos columnas. La primera columna corresponde a la edad, mientras que la segunda corresponde al nivel de compra en el último año. Cada fila corresponde a un cliente diferente.

Vemos que no resulta fácil ver las características del set de datos pues contiene algunos outliers o valores atípicos:

En la fase de limpieza manejaremos las inconsistencias en estos datos.

Contenido exclusivo suscriptores

Recuerda suscribirte para acceder al set de datos, código fuente y video con la explicación detallada de esta lección. Además podrás disfrutar de todos los cursos de la Academia Online

Conclusión

Muy bien y con este proyecto hemos puesto en práctica buena parte de las herramientas aprendidas en este curso y hemos visto otras herramientas adicionales útiles en las fases de limpieza y análisis exploratorio de los datos.

Además hemos implementado el algoritmo k-means, un sencillo método de Machine Learning que permite realizar de forma automática el agrupamiento de datos.

Y con esto ya hemos culminado este curso de Numpy para Ciencia de Datos y Machine Learning. Así que los invito a ver el video de cierre del curso, en donde haremos una síntesis de todo lo aprendido en el curso y hablaremos de los próximos cursos que vienen en la Academia.

Ver todas las lecciones de este curso