Está en la página 1de 11

PEC 1: Segmentación de clientes.

Análisis Multivariante

Presentación
Esta PEC recoge las primeras técnicas para aprender a segmentar clientes, como la
reducción de la dimensionalidad o el preprocesamiento de los datos.

Competencias
En esta PEC se trabajan las siguientes competencias:

1. Identificar, comprender y reconocer nuevas oportunidades de mejora en


cualquier tipo de organización que pueden ser resueltas de forma efectiva y
eficiente mediante la ciencia de datos.
2. Utilizar de forma combinada los fundamentos matemáticos, estadísticos y de
programación para desarrollar soluciones a problemas en el ámbito de la
ciencia de los datos.
3. Resumir, interpretar, presentar y contrastar de forma crítica los resultados
obtenidos utilizando las herramientas de análisis y visualización más adecuadas.

Objetivos
Los objetivos de esta PEC son:
● Comprender la necesidad de aplicar técnicas de preprocesamiento de datos
para poder trabajar con un dataset con las mejores características.
● Aplicar técnicas de reducción de la dimensionalidad en datos tan categóricos
como numéricos.
● Aprender a manipular un dataset detectando outliers y tratando missings.
● Conocer y saber aplicar las técnicas del Principal Component Analysis (PCA) y el
Correspondence Analysis.
● Entender la documentación de librerías básicas para el tratamiento de datos.

PEC 1 - Analítica de Clientes 1/03/2022 pág 1


Descripción de la PEC

Esta actividad nos permitirá poner en práctica los conocimientos y los procedimientos
trabajados en este reto.
A partir de un dataset, pedimos que resolváis una serie de ejercicios donde se tendrán
que aplicar los procedimientos que hemos ido trabajando. Estos ejercicios plantean
escenarios propios de la ciencia de datos y veremos cómo lo que hemos visto en la
asignatura nos aportan valor en el estudio de un conjunto de datos.

Recursos
Los recursos de aprendizaje relacionados con esta PEC se pueden encontrar en el aula
de la asignatura, concretamente en los hitos del calendario del Reto 1.

Criterios de evaluación
- La PEC debe resolverse de forma individual.
- Es necesario justificar todas las respuestas de las preguntas de la PEC.
- La nota de la PEC1 será parte de la nota de evaluación continua de la asignatura
con un peso del 20% respecto al total. Para más información sobre el modelo
de evaluación de la asignatura consulte el plan docente.

Formato y fecha de entrega


Es necesario entregar un documento PDF con las respuestas de todos los ejercicios y un
archivo .py o .ipynb con el código realizado para cada pregunta que aplique.
Es necesario realizar el documento PDF con la solución de la PEC con un procesador de
textos ya que no se aceptarán soluciones a mano y escaneadas.
El nombre del archivo debe ser PEC1Cognom1Cognom2.zip que tendrá los dos archivos
comprimidos con nombre PEC1Apellido1Apellido2_codi.py o .ipynb y el de texto con
nombre PEC1Apellido1Apellido2_doc.pdf. Este archivo debe entregarse en el espacio
de Entrega y Registro AC del aula antes de las 23:59 del día 15/03/2022. No se
aceptarán entregas fuera de plazo.

PEC 1 - Analítica de Clientes 1/03/2022 pág 2


Reto

Imagínate que trabajas para un banco y éste tiene un problema importante: los clientes
se marchan. A tu equipo le han encargado entender el porqué los clientes se marchan y
ver si se puede hacer algo para, proactivamente, ir a aquellos clientes que tienen una
posibilidad alta de marcharse y ofrecerle algún producto o servicio para evitarlo.
La tarea que te han asignado es la de estudiar y entender el dataset que te han
proporcionado y realizar diferentes tareas para poder estar en las mejores condiciones
para después entrenar un modelo predictivo.
El dataset lo puedes descargar en la misma página de la PEC.

Responda a las siguientes preguntas razonadamente.

En el fichero adjunto en el aula se puede encontrar el código de cada actividad.

Actividad 1: Preprocesamiento de los datos y Estudio inicial

Para realizar esta actividad se recomienda utilizar la librería Pandas de Python. La


documentación la tiene en: https://pandasguide.readthedocs.io/en/latest/

a) ¿Cuántas muestras y variables tiene el dataset? ¿Cuántas de ellas son


categóricas? ¿Y de numéricas?
Indicación: Por ejemplo, esta pregunta debería contestarse en el documento
escrito indicando el número de muestras y variables y en el fichero de código el
cómo se ha conseguido. Por tanto, intenta hacer comentarios en el código
indicando a partir de qué línea obtenemos lo que pregunta cada apartado de
cada actividad.

El dataset tiene 10127 muestras y 18 variables.


De estas 18 variables, 6 son categóricas y 12 numéricas.

b) ¿Tiene nulos el dataset? Si es así, elimínalo. ¿Cuántas muestras te quedan?

Si. Después de eliminarlos nos quedan 9559 muestras.

c) El dataset tiene algunas variables categóricas en las que la categoría es


“Unknown”. Comenta las técnicas que tenemos para su tratamiento. En el

PEC 1 - Analítica de Clientes 1/03/2022 pág 3


dataset, sustituye aquellas muestras que tengan la categoría “Unknown” con la
más frecuente de la feature. Puedes hacerlo mediante la librería Numpy y
Pandas creando los métodos tú mismo o utilizando el SimpleImputer de la
librería Sklearn para hacerlo .
(https://scikit-learn.org/stable/modules/generated/sklearn.impute.SimpleImpu
ter.html)

Para tratar las variables que su categoría es Unknown podemos realizar


diferentes técnicas como sustituirlas por la más frecuente, hacer una
sustitución aleatoria, borrar dichas muestras o columna e incluso crear un
modelo de machine learning con dicha feature como objetivo del modelo
predictivo.

d) Utilizando una librería de visualización gráfica como Matplotlib


(https://matplotlib.org/stable/) o Seabron (https://seaborn.pydata.org/),
representa en gráficas diferentes la siguiente información:
i) Distribución de las edades de los clientes.
ii) Distribución de las edades de los clientes por sexo.
iii) Distribución de clientes que se han ido y se han quedado por sexo.
iv) Distribución de clientes que se han ido y se han quedado por rango de
ingresos.
Quizás, para algunas de las gráficas debes hacerlas más anchas para que el eje
de las x se pueda ver correctamente.

i)

PEC 1 - Analítica de Clientes 1/03/2022 pág 4


ii)

iii)

iv)

PEC 1 - Analítica de Clientes 1/03/2022 pág 5


e) Un compañero del equipo, después de ver la primera gráfica, comenta hacer
rangos en las edades de los clientes. Convierte esta variable de integer a
categórica en una columna nueva y razona qué número de años vas a utilizar
entre los rangos, es decir, si haces de 5 en 5 o de 10 en 10 y el porqué.

Como el std de la edad es 8.023, podemos escoger los rangos de 8 en 8.

f) Replica las gráficas i), ii) del apartado C con la nueva columna de los rangos de
edad.

i)

ii)

PEC 1 - Analítica de Clientes 1/03/2022 pág 6


g) Al revisar las gráficas con el equipo de trabajo, la última (iv) os ha sorprendido.
¿Qué nos ha detectado esta gráfica? Realiza los cambios que creas oportunos
en tu dataset.

No hay ningún cliente que cobre más de 120k y se haya quedado en el banco,
por lo tanto podemos hacer una hipótesis que se base en que aquellos clientes
que cobran más de 120k pagan más comisiones en general cuando en otros
bancos estas son más pequeñas y esto provoca que se marchen. Entonces, para
el estudio, podemos prescindir de las muestras de aquellos que cobran más de
120k.

Por último, haz una copia del dataset de la actividad 1 y guárdalo en la variable data_1.

Actividad 2: Principal Component Analysis (PCA)

a) Elimina del dataset las columnas que contienen las IDs de los clientes, la de si se
han ido o no del banco y la de los rangos de edad creada anteriormente. ¿Qué
método has utilizado? (En la documentación de Pandas lo puedes encontrar).
Elimina también, si no lo has hecho antes, aquellas muestras del dataset que
tengan unos ingresos superiores a 120k y explica el porqué de esa decisión.
Haz una copia del dataset y guárdalo en la variable data_2.

Hay dos métodos para eliminar columnas en un Pandas Dataframe, el delete y


el drop. Teniendo pocas muestras, es indiferente qué usar pero si tuviéramos un
dataset mucho más grande sería preferible usar el drop puesto que es más
eficiente que el delete.
La respuesta de la pregunta 2g es el porqué de la eliminación de las muestras
con ingresos superiores a 120k.

b) Calcula la matriz de correlación del dataset. ¿Qué nos indica?

La matriz de correlación indica la relación entre las diferentes variables. Si 0<r<1


tenemos una correlación positiva, si r=0 no hay relación lineal y si -1<r<0 la
correlación es negativa.
Ante todo tenemos que pensar que esta matriz, tal y como están los datos, no
mostrarán ningún tipo de correlación con las variables categóricas puesto que

PEC 1 - Analítica de Clientes 1/03/2022 pág 7


no las hemos transformado. Por lo tanto, cuando hacemos la matriz no
estaremos viendo el total del dataset, sino una parte.

Si hacemos la matriz de correlaciones con las variables numéricas, en este caso,


podemos ver que hay variables con una correlación positiva alta (verde oscuro)
mientras que hay otras con una correlación negativa (blanc) pero ninguna de
ellas tiene correlación negativa alta.

A veces crear nuevas variables a partir de las existentes en el dataset nos pueden
ayudar a mejorar nuestros modelos predictivos. Por ejemplo, podemos añadir variables
de comportamiento como ver el dinero gastado en la 1ª semana del mes, en la 2ª… En
este caso concreto, se propone crear una nueva variable llamada
AvgAmountTransaction qué es la media de dinero usada en una transacción.

c) Crea esta nueva variable en una columna nueva del dataset y vuelve a realizar la
matriz de correlación. ¿Aporta valor lo que hemos hecho? ¿Por qué?

La nueva variable que hemos creado tiene una correlación positiva muy alta, de
0.91, con otra variable, por lo tanto, podemos decir que no aporta demasiado
valor al dataset.

PEC 1 - Analítica de Clientes 1/03/2022 pág 8


Un compañero del equipo ha hecho un par de pruebas con el dataset y ha visto que
quizás obtendremos mejores resultados haciendo una reducción de la dimensionalidad
de los datos. Ha sugerido realizar un PCA en el dataset pero tú ves que tenemos
variables categóricas y que provocaría ciertos errores. Para solucionar este problema,
tenemos diferentes opciones como por ejemplo transformar aquellas variables
categóricas a formato one-hot-encoding.

d) Cuenta con tus palabras que nos aporta el uso del PCA. ¿Crees que será útil
aplicarlo a nuestro dataset? ¿Por qué?

El PCA nos permite la reducción de la dimensionalidad del dataset encontrando


un número de factores subyacentes que permiten explicar las mismas
características del dataset original. Es decir, donde antes necesitábamos utilizar
X variables para poder explicar una muestra, podemos reducirlo a un número
más pequeño sin perder (casi) información.

A priori no tendría que ser demasiado útil puesto que solo tenemos 2
relaciones de correlación positiva alta entre 2 parejas de variables pero al tener
una imagen parcial de la matriz de correlación, y al ser un procedimiento rápido
en este dataset puesto que es pequeño, nos aporta utilidad para poder tener
una visión extra de los datos.

PEC 1 - Analítica de Clientes 1/03/2022 pág 9


e) Borra la variable creada en el apartado C de nuestro dataset. Aplica la técnica
de one-hot-encoding a tu dataset en las variables categóricas. El
One-Hot-Encoding puedes hacerlo como prefieras pero se recomienda utilizar la
librería Pandas o Scikit-Learn. Busque en la documentación los métodos
correspondientes.

La función get_dummies() de la librería Pandas es un ejemplo de método que


podemos aplicar de manera senzilla.

f) ¿Crees que tienes el dataset en condiciones para realizar el PCA? En caso


contrario, ¿qué deberías hacer con las demás variables? Aplícalo.

No, tenemos que estandarizar el dataset primero.

g) Realiza el PCA sobre el dataset resultante. Tienes diferentes librerías que


pueden ayudarte como Prince o Scikit-Learn, en este caso utilizaremos la de
Scikit-Learn. Busca en la documentación el método para realizar el PCA. Crea
una gráfica que tenga en el eje de las X el número de componentes y en el de
las Y la varianza acumulada. ¿Qué nos indica el PCA? ¿Se ha podido reducir la
dimensionalidad? ¿Qué número de variables crees que es el óptimo a utilizar?
¿Por qué?

El método de Scikit-Learn para hacer el PCA es el PCA() que se encuentra en el


módulo sklearn.decomposition.

PEC 1 - Analítica de Clientes 1/03/2022 pág 10


Debido al One-Hot-Encoding, hemos desgranado las variables categóricas y, de
las 16 variables iniciales, ahora hay 30.
Si nos fijamos en la gráfica de los componentes y su varianza acumulada,
podemos ver que cuando cogemos (aproximadamente) los primeros 20,21,22 o
23 componentes podemos tener el dataset reducido dimensionalmente
hablando manteniendo así sus características.

Actividad 3: Las habilidades más importantes de los científicos de datos

Lee el documento “Las habilidades más importantes de los científicos de datos” y


contesta a las siguientes preguntas:

a) Según este artículo, ¿qué nos ha aportado a la sociedad la ciencia de datos?

Nos ha aportado una visión basada en datos para tomar decisiones donde
antes, quizás, como sociedad, teníamos en cuenta suposiciones. Es decir, tal y
como comenta el artículo, ahora podemos tomar decisiones basadas en datos.

b) El artículo comenta que la curiosidad es el centro del científico de datos. ¿Estás


de acuerdo? ¿Por qué?

Sí, básicamente porque el trabajo de un científico de datos está en pensar


out-of-the-box y la curiosidad es una virtud que nos aporta mucho valor.
Por ejemplo, cuando tenemos que crear nuevas variables de comportamiento a
partir de las originales, se tiene que ir un poco más allá puesto que algunas
ideas pueden ser la diferencia entre un buen modelo y uno excelente.

c) En la pregunta 2 apartado b de esta PEC se sugiere crear una nueva variable a


partir de dos. Sugiere otras 3 variables a crear. Recuerda que para un científico
de datos la curiosidad es esencial. Sé imaginativo.

1. Porcentaje de la vida total siendo cliente del banco.


2. Riesgo de quiebra (binaria) si tiene un crédito superior al 75 % de su
límite por ejemplo.
3. Teniendo en cuenta la cantidad media gastada en transacción, en
función del límite de crédito, el total de posibles operaciones a realizar.

PEC 1 - Analítica de Clientes 1/03/2022 pág 11

También podría gustarte