Logo Studenta

Clusstering

¡Este material tiene más páginas!

Vista previa del material en texto

APRENDIZAJE COMPUTACIONAL 
 
Taller Clustering WEKA 
 
 
 
Presentado por: 
Sebastián Ricardo Cárdenas 
Roosevelt Daniel Santos Vanegas 
 
 
Presentado a: 
OSWALDO ENRIQUE VELEZ LANGS 
 
 
 
Universidad de Córdoba 
 
 
 
Facultad de Ingeniería 
 
Ingeniería de Sistemas 
 
 
 
 
Montería - 2023 
 
 
En esta parte del documento realizado por Sebastián Ricardo Cárdenas se mostrarán los 
resultados obtenidos 
Siguiendo la metodología CRISP-DM, constamos de 6 fases para llevar a cabo la minería de datos: 
Se realiza esto para el caso de “clustering” de “K-means”: 
Comprensión del Negocio: 
Para este caso en particular se debe saber que cliente deja una compañía a favor de otra 
compañía, a esto se le llama “Churn”. De estos clientes, se toma una muestra y se obtienen varios 
datos de los cuales algunos podrían darnos la información para intentar predecir o clasificar que 
clientes son más propensos a cometer “Churn” o no. 
Comprensión y Recopilación de datos: 
Los datos los recolectados en este caso son los siguientes, de los cuales algunos podrían ser 
considerados relevantes para este proyecto. 
Los siguientes son los datos en su totalidad 
1. Estado: variable discreta que indica el estado donde vive el cliente. 
2. Duración de la cuenta: variable entera que indica cuánto tiempo ha estado activa la 
cuenta. 
3. Código de área. 
4. Número de teléfono. 
5. Plan Inter: variable binaria que indica si el cliente tiene un plan internacional. 
6. Plan de correo de voz: variable binaria que indica si el cliente tiene un plan de correo de 
voz. 
7. No of Vmail Mesgs: variable entera que indica el número de mensajes de correo de voz 
8. Total Day Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio durante el día. 
9. Total Day Calls: variable entera que indica el número de llamadas durante el día. 
10. Cargo Total Día: variable continua que indica cuánto se cobró por utilizar el servicio 
durante el día. 
11. Total Evening Min: variable continua que indica el número de minutos que el cliente usó el 
servicio durante la noche. 
12. Total de llamadas vespertinas: variable entera que indica el número de llamadas durante 
el horario vespertino. 
13. Cargo Total Vespertino: variable continua que indica cuánto se cobró por usar el servicio 
durante el tiempo de la tarde. 
14. Total Night Min: variable continua que indica el número de minutos que utilizó el cliente el 
servicio durante la noche. 
15. Total de Llamadas Nocturnas: variable entera que indica el número de llamadas en horario 
nocturno. 
16. Cargo Total Nocturno: variable continua que indica cuánto se cobró por usar el servicio 
durante la noche. 
17. Total Int Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio para realizar llamadas internacionales. 
18. Total Int Calls: variable entera que indica el número de llamadas internacionales. 
19. Total Int Charge: variable continua que indica cuánto se cobró llamadas internacionales. 
20. Nº de Llamadas Atención al Cliente: variable entera que indica el número de llamadas a 
servicio de atención al cliente. 
21. Churn: variable de clase binaria. 
Los datos que se usaran en este caso serán los siguientes, ya que estos aportaran información 
relevante a la clasificación: 
1. Estado: variable discreta que indica el estado donde vive el cliente. SIRVE 
2. Duración de la cuenta: variable entera que indica cuánto tiempo ha estado activa la 
cuenta. 
3. Código de área. 
4. Plan Inter: variable binaria que indica si el cliente tiene un plan internacional. 
5. Plan de correo de voz: variable binaria que indica si el cliente tiene un plan de correo de 
voz. 
6. Total Day Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio durante el día. 
7. Total Day Calls: variable entera que indica el número de llamadas durante el día. 
8. Cargo Total Día: variable continua que indica cuánto se cobró por utilizar el servicio 
durante el día. 
9. Total de llamadas vespertinas: variable entera que indica el número de llamadas durante 
el horario vespertino. 
10. Cargo Total Vespertino: variable continua que indica cuánto se cobró por usar el servicio 
durante el tiempo de la tarde. 
11. Total Night Min: variable continua que indica el número de minutos que utilizó el cliente el 
servicio durante la noche. 
12. Cargo Total Nocturno: variable continua que indica cuánto se cobró por usar el servicio 
durante la noche. 
13. Total Int Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio para realizar llamadas internacionales. 
14. Total Int Calls: variable entera que indica el número de llamadas internacionales. 
15. Total Int Charge: variable continua que indica cuánto se cobró llamadas internacionales. 
Una hipótesis que se puede hacer en este caso es la siguiente: 
“Si el cliente tiene menor cantidad de minutos en llamada y no tiene plan de llamadas es posible 
que no haga Churn” 
Tenemos en cuenta los datos 5 y 6 para demostrar la veracidad de esta hipotesis 
Preparación de los datos: 
Para preparar los datos, se suprimirán los atributos que sobran de la selección anterior 
 
 
Se presiona “Remove “para que estos atributos sean eliminados. 
 
Queda de esa forma, con esa cantidad de atributos. 
 
 
Modelado: 
Una vez preparados los datos, se procede a hacerse el proceso de clustering K-means para 
comenzar la clasificación. 
En este apartado podemos usar varias configuraciones, con en los próximos casos para generar 
algunos modelos con distintos “Clusters” que llamaremos con la letra k. 
Para k = 2 y con 500 iteraciones: 
 
Con k = 2 y con 1000 iteraciones: 
 
Cambiando k = 4 con 1000 iteraciones: 
 
 
 
Teniendo a k = 5 con 1000 iteraciones: 
 
 
En cada modelo que se generó, arroja un valor llamado ”sum of squared errors” el cual llamaremos 
SSE. 
Se observó el siguiente comportamiento: Entre mayor sea el valor de k, el índice SSE que arrojan 
los modelos va a tender a bajar. 
Una gráfica que podría explicar este fenómeno sería la siguiente: 
 
 
 
 
 
 
 
 
 
SSE vs k 
 
 
 
 
Evaluación: 
Tengamos en cuenta las siguientes ilustraciones: 
En las siguientes graficas observamos 3 datos solapándose: 
Los clústeres, el atributo que nos indica si tiene un plan móvil o no y finalmente la clase que nos 
indica si el cliente hace Churn o no. 
De color azul están aquellos que NO hacen Churn y en su defecto, los de color rojo quienes sí 
Para el primer modelo 
 
Se aprecia que en todos los 2 clústeres hay usuarios con y sin plan de llamadas, pero se aprecia 
que predomina en su totalidad quienes no hacen Churn 
 
Para el segundo modelo 
 
Parecido al caso anterior, predomina la clase Azul, quienes corresponden a quienes no hacen 
Churn 
 
Para el tercer modelo 
 
En este caso, la cantidad de cluster aumento y se clasificó en, su mayoría, de mejor forma aquellos 
quienes sí hacen churn en grupos alejados de quienes no. 
Se observa, además, que en el clúster 3, están quienes sí hacen churn, indistintamente de sí tienen 
plan o no de llamadas 
 
Para el cuarto modelo 
 
En este caso con 6 clústeres, se mezclaron aquellos quienes poseen y no plan de llamadas y hacen 
churn o no. Pero de igual forma predominan quienes no lo hacen 
 
Ahora para el caso de los minutos gastados en llamada: 
Tengamos en cuenta las siguientes ilustraciones: 
En las siguientes graficas observamos 3 datos solapándose: 
Los clústeres, el atributo que nos indica los minutos que usa el cliente y finalmente la clase que 
nos indica si el cliente hace Churn o no. 
De color azul están aquellos que NO hacen Churn y en su defecto, los de color rojo quienes sí 
Para el primer modelo 
Para el segundo modelo 
 
En los 2 primero casos apreciamos que los clústeres poseen una especie de distribución normal o 
gaussiana,donde la mayoría del cliente usan las llamadas alrededor de 175 minutos 
 
Para el tercer modelo 
 
Para este modelo se aprecia como la clasificación discriminó a quienes sí hacen churn 
indistintamente su cantidad de llamadas. 
 
Para el cuarto modelo 
 
Este último modelo, nos deja ver como aquellos quienes usan más de 175 – 180 minutos de 
llamada tienden a hacer churn 
 
Concluyendo de estos modelos tenemos los siguiente: 
El modelo 1 al igual que el modelo 2 al tener el mismo número de clústeres y solo variar las 
iteraciones tenemos resultados realmente parecidos, tanto en su índice de error SSE como en su 
clasificación. 
El modelo 3 construyó cuatro clústeres que, en su mayoría, el cluster numero 3 discriminó a 
aquellos quienes sí hacían churn, dejándonos ese grupo apartado. 
El modelo 4 con seis clústeres nos esparcía los datos que contenían la clase entre todas las 
agrupaciones que este generó 
 
En cuanto a la hipótesis, analizando los modelos nos dejan ver que en el caso de que tengan o no 
plan de llamada pueden hacer churn, pero en su mayoría quienes no poseen un plan de llamadas 
son quienes tienden a NO hacer churn. 
Por el otro lado, difiriendo de la hipótesis, quienes no hacen churn según los modelos están 
rondando en un uso entre 165-180 minutos de uso de llamada quienes tienden a hacer menos 
churn, mientras que la hipótesis planteaba quienes usaban menos minutos. 
Finalmente podemos decir que la hipótesis planteada es refutada y que podría ser reformulada 
como “Los clientes que tienen una cantidad de minutos promedio en llamada y no tiene plan de 
llamadas es posible que no haga Churn”. 
 
 
 
 
En esta parte del documento realizado por Roosevelt Daniel Santos Vanegas se mostrarán los 
resultados obtenidos. 
Siguiendo la metodología CRISP-DM, constamos de 6 fases para llevar a cabo la minería de datos: 
Se realiza esto para el caso de “clustering” de “EM”: 
• Comprensión del negocio. 
El Churn es un término que se usa en la industria de Telecomunicaciones para decir que un 
cliente deja (abandona) una compañía en favor de otra compañía. El objeto de esta parte es 
desarrollar modelos que agrupen clientes cercanos a abandonar. 
Se pide: 
1. Realizar un análisis exploratorio de los datos: Aquí se busca encontrar asociaciones 
interesantes entre los atributos y formular algunas hipótesis iniciales, como p. ej. 
Posibles asociaciones entre los atributos y la clase, las herramientas graficas son de 
mucha ayuda en esta parte. 
 
2. Construir distintos procesos de agrupamiento en KNIME/WEKA (K-medias y EM) 
Con cada esquema de agrupamiento usted debe describir los parámetros usados 
para ejecutarlo y que puede concluir del modelo mismo (sin referencia externa) y 
del modelo en relación a modelo(s) anterior(es) (por ejemplo, K-medias con 
diversos parámetros vs EM con diversos parámetros), así mismo puede comparar 
sus resultados versus resultados externos (la clasificación previa de los clientes, por 
ejemplo) usted debe también seleccionar una medida de desempeño, evaluarla y 
justificarla. 
 
• Comprensión de los datos. 
El data set, de una empresa de telecomunicaciones, contiene 20 atributos, más la indicación de si 
el cliente cometió, o no, Churn, y son cerca de 3333. 
1. State: discrete variable that indicates the state where the customer lives. 
2. Account Length: integer variable that indicates how long the account has been active. 
3. Area Code. 
4. Phone Number. 
5. Inter Plan: binary variable indicating whether the customer has an international plan. 
6. VoiceMail Plan: binary variable indicating whether the customer has a voice mail plan. 
7. No of Vmail Mesgs: integer variable that indicates the number of voice mail messages. 
8. Total Day Min: continuous variable that indicates number of minutes the customer used 
the service during day time. 
9. Total Day Calls: integer variable that indicates the number of calls during day time. 
10. Total Day Charge: continuous variable that indicates how much was charged for using the 
service during day time. 
11. Total Evening Min: continuous variable that indicates number of minutes the customer 
12. used the service during evening time 
13. Total Evening Calls: integer variable that indicates the number of calls during evening time. 
14. Total Evening Charge: continuous variable that indicates how much was charged for using 
the service during evening time. 
15. Total Night Min: continuous variable that indicates number of minutes the customer used 
the service during night time. 
16. Total Night Calls: integer variable that indicates the number of calls during night time. 
17. Total Night Charge: continuous variable that indicates how much was charged for using 
the service during night time. 
18. Total Int Min: continuous variable that indicates number of minutes the customer used 
the service to make international calls. 
19. Total Int Calls: integer variable that indicates the number of international calls. 
20. Total Int Charge: continuous variable that indicates how much was charged for 
international calls. 
21. No of Calls Customer Service: integer variable that indicates the number of calls to 
customer support service. 
22. Churn: binary class variable. 
 
• Preparación de los datos. 
En orden de escoger los datos pertinentes que se requieren para el ejercicio se escogieron los 
siguientes 
1. Estado: variable discreta que indica el estado donde vive el cliente. SIRVE 
2. Duración de la cuenta: variable entera que indica cuánto tiempo ha estado activa la 
cuenta. 
3. Código de área. 
4. Plan Inter: variable binaria que indica si el cliente tiene un plan internacional. 
5. Plan de correo de voz: variable binaria que indica si el cliente tiene un plan de correo de 
voz. 
6. Total Day Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio durante el día. 
7. Total Day Calls: variable entera que indica el número de llamadas durante el día. | SI 
8. Cargo Total Día: variable continua que indica cuánto se cobró por utilizar el servicio 
durante el día. 
9. Total de llamadas vespertinas: variable entera que indica el número de llamadas durante 
el horario vespertino. 
10. Cargo Total Vespertino: variable continua que indica cuánto se cobró por usar el servicio 
durante el tiempo de la tarde. 
11. Total Night Min: variable continua que indica el número de minutos que utilizó el cliente el 
servicio durante la noche. 
12. Cargo Total Nocturno: variable continua que indica cuánto se cobró por usar el servicio 
durante la noche. 
13. Total Int Min: variable continua que indica la cantidad de minutos que el cliente usó el 
servicio para realizar llamadas internacionales. 
14. Total Int Calls: variable entera que indica el número de llamadas internacionales. 
15. Total Int Charge: variable continua que indica cuánto se cobró llamadas internacionales. 
Para las hipótesis se escogerán 2 tipos de datos que serán Total nocturn charge y Total int Min 
para demostrar o denegar como afectan la disminución o aumento de estos atributos en sus 
diferentes agrupaciones con respecto al churn en los siguientes cluster modelados. 
Se construirán distintos procesos de agrupamiento en KNIME/WEKA (EM) que se mostrarán a 
continuación. 
Por primer modelo utilizamos el agrupamiento por EM y los parámetros a continuación. 
 
Por siguiente tenemos los siguientes resultados del clustering 
 
 
 
 
 
 
Para el siguiente clustering cambiaremos algunos parámetros como se vera en las siguientes 
pestañas. 
 
Con estos parámetros obtenemos estos resultados a continuación 
 
 
 
 
 
Por 3er clustering variamos nuevamente los parámetros como a continuación: 
 
Según los parámetros establecidos obtenemos unos resultados como los que se mostraran a 
continuación. 
 
 
 
 
 
• Evaluación. 
Tomamos en cuenta los resultados realizamos la interpretaciónde los datos mediante los gráficos 
de los clustering según los atributos de interés para nuestra hipótesis la cual tiene como principal 
foto el Total Night Charge y el Total int Min, obtenemos las siguientes imágenes según el modelo 
utilizado. 
En los resultados obtenidos en la prueba numero 1 observamos de manera grafica como se están 
realizando los clusterring en los diferentes entornos de las variables, mostrando como resultado 
las siguientes imágenes representativas de los datos. 
 
Aquí se muestra como en el determinado clust 6 se concentrar una gran parte de Churn con una 
total night charge de alrededor de 8 a 12 
 
 
En cuanto al Total Int Min vemos como sucede una situación parecida donde se ubican los True de 
churn en el clust 6 donde están resultados desde 6 Total int Min hasta 14
 
 
 
 
En los resultados obtenidos en la prueba numero 2 observamos de manera grafica como se están 
realizando los clusterring en los diferentes entornos de las variables, mostrando como resultado 
las siguientes imágenes representativas de los datos. 
 
Observamos como en el clust numero 7 están una gran cantidad de churn con respecto al atributo 
a estudiar 
 
 
 
En los resultados obtenidos en la prueba numero 3 observamos de manera grafica como se están 
realizando los clusterring en los diferentes entornos de las variables, mostrando como resultado 
las siguientes imágenes representativas de los datos. 
 
 
 
De igual forma sucede con el atributo Total Int Min donde se agrupan muchos churn en el clust 7 
donde este atributo toma unos valores anteriormente presentados desde 5.9 a 14.8 alrededor 
claro está. 
Para concluir témenos que dependiendo de la cantidad de los cluster sucede una variación en 
menor o mayor medida de los datos. 
Con respecto a la cantidad de los datos obtenidos podemos deducir como el mantener una alta 
tasa de min total aumenta la posibilidad de un churn por consiguiente según los demás gráficos en 
el modelo 3 la cantidad de churn en base a el cargo total nocturno fluctúa entre un cantidad 
media, cuando es poca no hay casi churn en el clust de mas churn y cuando aumenta mucho 
tampoco aumenta demasiado la cantidad de churn, en el rango donde más se encuentran es entre 
6 y 13 total nocturn charge dando una alta tasa de churn. 
Según nuestra hipótesis probamos que, si afectan de manera directa, sin embargo, excluimos las 
demás opciones como la proporcionalidad de la relación entre estos atributos y sus datos 
arrojados.

Continuar navegando