Logo Studenta

Proyecto_Final_Sandoval_Padilla_Fernando_Cesar - Fernando Cesar Sandoval Padilla

¡Este material tiene más páginas!

Vista previa del material en texto

UNIVERSIDAD DE GUADALAJARA 
CENTRO UNIVERSITARIO DE CIENCIAS EXACTAS E INGENIERÍAS 
DEPARTAMENTO DE CIENCIAS COMPUTACIONALES 
INTEGRANTES: 
SANDOVAL PADILLA FERNANDO CESAR – INNI – 215685409 
SALDIVAR FONSECA FRANCISCO – INNI – 215408162 
HERNANDEZ SANCHEZ LUIS ANGEL – INNI – 215638982 
 
 
 
 
MINERÍA DE DATOS 
PROFESOR: GODINEZ ROMAN ISRAEL 
SECCIÓN D01 – CICLO ESCOLAR 2021 - B 
PROYECTO FINAL 
Página | 2 
 
Índice 
1. Entendimiento del Negocio ................................................................................... 5 
1.1 Objetivos del negocio ..................................................................................... 5 
1.1.1 Antecedentes ........................................................................................... 5 
1.1.2 Objetivo comercial o de investigación del proyecto ................................. 5 
1.1.3 Criterios de rendimiento ........................................................................... 5 
1.2 Valoración de la situación .............................................................................. 6 
1.2.1 Inventario de recursos ............................................................................. 6 
1.2.2 Requisitos, supuestos y restricciones ...................................................... 8 
1.2.3 Riesgos y contingencias .......................................................................... 9 
1.2.4 Terminología .......................................................................................... 10 
1.2.5 Análisis de costo/beneficio .................................................................... 12 
1.3 Objetivos de la minería de datos .................................................................. 13 
1.3.1 Metas de la minería de datos................................................................. 13 
1.3.2 Criterio de rendimiento .......................................................................... 13 
1.4 Plan de proyecto .......................................................................................... 14 
1.4.1 Plan de proyecto .................................................................................... 14 
1.4.2 Valoración de herramientas técnicas ..................................................... 15 
2 Entendimiento de los datos ................................................................................. 17 
2.1 Recolección de datos iniciales: .................................................................... 17 
2.1.1 Requerimientos de los datos: ................................................................ 17 
2.1.2 Criterios de selección: ........................................................................... 18 
2.1.3 Inserción de datos: ................................................................................ 18 
2.1.4 Orígenes de datos: ................................................................................ 18 
2.2 Descripción de los datos: ............................................................................. 18 
2.2.1 Análisis volumétrico de los datos: .......................................................... 18 
2.2.2 Definición del dominio del atributo (Diccionario de datos): .................... 18 
2.3 Exploración de los datos: ............................................................................. 19 
2.3.1 Análisis univariable (por atributo)........................................................... 19 
2.3.1 Análisis bivariable .................................................................................. 31 
Página | 3 
 
3 Procesamiento de datos ..................................................................................... 33 
3.1 Integración de los datos ............................................................................... 33 
3.1.1 Fusión de datos ..................................................................................... 33 
3.1.2 Adición de datos .................................................................................... 33 
3.2 Selección de los datos ................................................................................. 33 
3.2.1 Creación de conjuntos específicos para cada tarea de descubrimiento de 
datos 33 
3.2.2 Selección de subconjuntos de datos (Muestreo) ................................... 35 
3.3 Limpieza de datos ........................................................................................ 36 
3.3.1 Eliminación de atributos con poca variabilidad ...................................... 36 
3.3.2 Identificación de valores erróneos (outliers y typos) .............................. 36 
3.3.3 Detección de valores faltantes ............................................................... 38 
3.3.4 Eliminación de falsos predictores .......................................................... 41 
3.3.5 Errores de dominio, tipo o formato. ........................................................ 42 
3.4 Construcción de datos .................................................................................. 42 
3.4.1 Normalización de valores numéricos ..................................................... 42 
3.4.2 Transformación de valores categóricos a numéricos ............................. 43 
3.4.3 Transformación de valores numéricos a categóricos ............................. 43 
4 Modelado ............................................................................................................ 44 
4.1 Selección de técnicas de modelado ............................................................. 44 
4.1.1 Lista de las técnicas que se utilizarán para la evaluación del modelo ... 44 
4.1.2 Descripción de las razones por las que fueron seleccionados dichos 
modelos. ............................................................................................................. 44 
4.2 Generación de plan de prueba ..................................................................... 45 
4.2.1 Lista de las diferentes pruebas que se realizarán para cada uno de los 
conjuntos de datos. ............................................................................................. 45 
4.2.2 Indicar los números de iteraciones y técnicas de validación a ser 
utilizadas ............................................................................................................. 45 
4.3 Construcción de modelos ............................................................................. 46 
4.3.1 Selección de parámetros: Indicar los parámetros seleccionados para 
cada uno de los modelos. ................................................................................... 46 
4.3.2 Ejecución de cada una de las pruebas definidas en el punto anterior. .. 46 
Página | 4 
 
4.3.3 Interpretación de los resultados, desde el punto de vista de minería de 
datos, no del negocio. ......................................................................................... 47 
4.3.4 Presentar conclusiones sobre los patrones encontrados. ..................... 49 
4.4 Evaluación de modelos ................................................................................ 49 
4.4.1 Presentar los resultados anteriores en una tabla comparativa para ver el 
desempeño de todos. ......................................................................................... 49 
4.4.2 Identificar el o los mejores modelos encontrados en la etapa anterior y 
explicarlos en términos del negocio. ................................................................... 50 
4.4.3 Comentarios sobre el desempeño de cada uno de los modelos e indicar 
sus puntos de vista sobre por qué tiene el desempeño que tienen (bueno o 
malo). 51 
Referencias ............................................................................................................... 51 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Página | 5 
 
1. Entendimiento del Negocio 
1.1 Objetivos del negocio 
1.1.1 AntecedentesCinépolis es una empresa mexicana, fundada en Morelia en 1971, es líder de 
la industria cinematográfica y del entretenimiento en México y Latinoamérica. 
Actualmente es la cuarta cadena más grande a nivel mundial, la segunda más 
grande en venta de entradas, la primera en entradas vendidas por sala y la más 
importante fuera de los Estados Unidos. 
Al día de hoy cuenta con 27 cines en la ciudad de Guadalajara, recaudando un 
estimado de $2,000,000 de pesos al mes, con una colaboración de 580 
personas. Se mejorarán las ventas totales en conjunto del total de cines en 
Guadalajara. 
1.1.2 Objetivo comercial o de investigación del proyecto 
Este proyecto se enfocará en la ciudad de Guadalajara, sus objetivos 
principales es aumentar las ventas un 5% mediante la proyección adecuada de 
cada cine sobre la demanda de cada género, además de poder predecir las 
mejores ubicaciones para abrir tres nuevas localizaciones lo mejor distribuidas 
posibles. 
● Recomendación de género cinematográfico para cines: 
Recomendaciones basadas en sus diferentes ubicaciones, temporadas. 
● Recomendación de ubicación de próximos cines: 
Predicción de futuras locaciones que resulten exitosas dentro de los 
lineamientos del negocio. 
1.1.3 Criterios de rendimiento 
Los criterios de éxito al finalizar el proyecto los cuales nos dirán que tan 
efectiva es la aplicación de nuestro modelo de minería de datos serán: 
● Retornos sobre la inversión (ROI) para cada una de las tres nuevas 
locaciones que se pretenden realizar. 
● Volumen total de ventas. 
Página | 6 
 
● Logro de objetivos: resultado del periodo de 2 meses v.s. los objetivos 
del periodo anterior. 
● Cuota del territorio: participación en # de empresas en el mercado total 
de la empresa nacional. 
● Resultados de nuevas categorías: cifras de nuevas categorías por 
género estratégicas para la empresa / negocio. 
1.2 Valoración de la situación 
1.2.1 Inventario de recursos 
● Datos, conocimiento y herramientas 
Tipo de datos e información que almacenan. 
➢ Unique movie id definido como unique_film que representa el número 
único de identificación de la película en cuestión, el tipo de información 
que almacena, son datos de tipo discreto y nominales. 
➢ Unique cinema id definido como film_code que representa el número 
de identificación único del cine en cuestión, el tipo de información que 
almacena, son datos de tipo discreto y nominales. 
➢ total sale per screening time definido como total_sales que representa 
el total de ventas por tiempo de reproducción, es de tipo discreto y 
nominal. 
➢ number of tickets solds definido como tickets_sold que representa el 
número de tickets vendidos, es de tipo discreto y nominal. 
➢ Number of tickets cancelled definido como tickets_out que representa 
el número de tickets cancelados, es de tipo discreto y nominal. 
➢ screening time in each day definido como show_time que representa el 
número de horas de reproducción de una película en un dia, es de tipo 
discreto y continuo. 
Página | 7 
 
➢ occupation percent of cinema by means of available capacity definido 
como occu_perc que representa el porcentaje del cine que ha sido 
ocupado de acuerdo a su capacidad, es de tipo continuo. 
➢ price of ticket at show time definido como ticket_price que representa 
el precio de la entrada en el momento de la función, es de tipo continuo. 
➢ total number of thicket used definido como ticket_use que representa 
el total de entradas utilizadas, es de tipo discreto y nominal. 
➢ capacity of the cinema definido como capacity que representa la 
capacidad total aproximada del cine, es de tipo continuo. 
➢ date que representa la fecha en que fue presentado el film, es de tipo 
discreto e intervalo. 
➢ month que representa el mes en que fue presentado el film, es de tipo, 
discreto y nominal. 
➢ quarter que representa la estación o temporada del año en que fue 
emitido el film, siendo estos los trimestres, es de tipo, discreto y 
nominal. 
➢ day que representa el día en que fue presentado el film, es de tipo 
discreto y nominal. 
Herramientas disponibles y conocimiento relevante. 
Algoritmos de agrupamiento como: 
➢ K-means: también utiliza las distancias entre puntos. 
Librerías o módulos de python dedicadas al aprendizaje automático como: 
➢ Scikit Learn 
 Librerías o módulos de python dedicadas a la lectura de de datos como: 
➢ Pandas 
Página | 8 
 
Otras herramientas dedicadas al aprendizaje automático, con algoritmos y 
funciones pre-cargadas y configuradas para su uso de forma simple y 
entendible como: 
➢ Orange 
Existen problemas para acceder a los datos. 
● Personal de administración del proyecto 
➢ Fernando Cesar Sandoval Padilla 
Contacto: fernando.sandoval6854@alumnos.udg.mx 
➢ Francisco Saldivar Fonseca 
Contacto: francisco.saldivar4081@alumnos.udg.mx 
➢ Luis Angel Hernandez Sanchez 
Contacto: langel.hernandez@alumnos.udg.mx 
1.2.2 Requisitos, supuestos y restricciones 
● Requisitos: Se desea que se entreguen reportes semanales de los 
resultados de la implementación del algoritmo de agrupamiento al 
personal con el fin de que puedan implementar sus estrategias por 
medio de la información recabada. 
● Supuestos 
- Se desea que el modelo a implementar sea fácil de visualizar e 
interpretar por el personal de marketing. 
- Algunos de los atributos en el dataset son incomprensibles debido al 
tipo de métrica que se está utilizando en ellos. 
● Restricciones 
- La elaboración de este proyecto está limitado por motivos de tiempo 
debido a que es un proyecto que se planea resolver en 3 meses y el 
tiempo de elaboración es mucho más corto debido a que resta poco 
tiempo en el semestre. 
Página | 9 
 
- En cuestión del desarrollo del modelo está la limitante de que es la 
primera vez que nos enfrentamos a un problema de minería de datos lo 
cual significa que somos inexpertos en el tema. 
1.2.3 Riesgos y contingencias 
● ¿Qué hacer si el proyecto dura más del tiempo programado? 
Si el tiempo estimado por el equipo de trabajo se observa que no es el adecuado 
por distintos factores, se tratará de llegar a un común acuerdo con la empresa, 
para poder aplazar la fecha de entrega de los resultados esperados al finalizar 
el proyecto. 
● ¿Qué hacer si el cliente se queda sin presupuesto? 
Al comienzo del proyecto se estima un presupuesto final el cual se espera cubra 
el total de los gastos necesarios para realizar el proyecto, si por alguna razón 
es necesario cubrir algún gasto adicional se abordará este tema con la empresa 
en cuestión y se tratará de cubrir, en dado caso que no se llegue a un común 
acuerdo se optará por realizar los cambios necesarios. 
● ¿Qué hacer si los datos son de escasa calidad o cobertura? 
Al comienzo del proyecto de acuerdo con las necesidades del cliente se realiza 
una especificación de requerimientos la cual debe ser cubierta con los datos 
otorgados por la empresa, en dado caso que no se haya tomado en cuenta 
ciertos datos necesarios para la realización del proyecto o son de escasa 
calidad se optara por realizar una junta con el administrador de las bases de 
datos. 
● ¿Qué sucede si los resultados son menos de lo esperado? 
Si los resultados no son los esperados o no son los más óptimos, en dado caso 
que se tenga con tiempo disponible se optara por realizar ciertas modificaciones 
que van desde reorganizar el plan de proyecto o alguna fase dentro del proyecto 
hasta actualizar los procesos dentro del modelo que puedan mejorar los 
resultados. En dado caso que no se tenga tiempo disponible, se espera poder 
Página | 10 
 
llegar a un acuerdo para aplazar una nueva fecha del proyecto, tomando en 
cuenta nuevas decisiones. 
1.2.4 Terminología 
Terminología empresa: 
● KPI es la sigla en inglés para referirse a los indicadores de calidad o 
indicadores clave de negocio. Las KPI’s son una serie de métricas que 
se utilizan para medir la eficienciay productividad de las acciones que se 
lleven a cabo en un negocio. 
● ROI: El Retorno Sobre la Inversión es un indicador que permite calcular 
la rentabilidad de las inversiones hechas por una empresa. El ROI 
facilitará el análisis de los resultados de las inversiones para saber cuáles 
valen la pena, cuáles no y cuáles se podrán optimizar para generar más 
ganancias. 
● Ticket medio: Es el valor medio que gastan los clientes cuando compran 
los productos o servicios y se calcula dividiendo el total de las ventas 
realizadas por el número de pedidos. 
● Customer Relationship Management (CRM por sus siglas en inglés) es 
un gestor de relaciones con los clientes. Se trata de un sistema que 
facilita las actividades diarias de una empresa; esto permite enfocarse 
en lo importante, incrementar las ventas. 
● ARR: Es una medida de los componentes de ingresos previsibles y 
recurrentes del flujo de ingresos, como suscripciones o mantenimiento. 
Es importante considerar que los ingresos recurrentes anuales siempre 
excluyen las comisiones únicas. 
Terminología minería de datos: 
● Algoritmo. En Ciencias de la Computación, un algoritmo es un conjunto 
de pasos para realizar una tarea. En otras palabras, una secuencia lógica 
y con instrucciones que forman una fórmula matemática o estadística 
para realizar el análisis de datos. 
Página | 11 
 
● Data mining o minería de datos. Data Mining (minería de datos) es 
también conocida como Knowledge Discovery in database (KDD). Es 
comúnmente definida como el proceso para descubrir patrones útiles o 
conocimientos a partir de fuentes de datos tales como Bases de Datos, 
textos, imágenes, la web, etc. Los patrones deben ser válidos, 
potencialmente útiles y entendibles. 
● Machine learning (Aprendizaje automático). Este término hace referencia 
a la creación de sistemas a través de la Inteligencia Artificial, donde lo 
que realmente aprende es un algoritmo, el cual supervisa los datos con 
la intención de poder predecir comportamientos futuros. 
● Python: Es un lenguaje de programación multiparadigma que se utiliza 
en la ciencia de datos. Python se utiliza para denominar a las librerías 
especializadas en automatic learning y generación de gráficos. 
● Clustering es una técnica utilizada en minería de datos (dentro del área 
de la Inteligencia Artificial) para identificar de forma automática 
agrupaciones (clusters) de elementos de acuerdo a una medida de 
similitud entre ellos. Esta técnica también se conoce como 
segmentación. 
● Clasificación es una técnica predictiva en la que cada instancia pertenece 
a una clase distinguida por un tipo de atributo. Los demás atributos de la 
instancia se utilizan para predecir la clase de nuevas instancias. 
● K-means es un método de agrupamiento, que tiene como objetivo la 
partición de un conjunto de “n” observaciones en “k” grupos en el que 
cada observación pertenece al grupo cuyo valor medio es más cercano, 
es un método utilizado en minería de datos. 
● Naive bayes ofrece la solución óptima de la probabilidad de pertenencia 
de cada muestra a todas las clases. 
 
Página | 12 
 
1.2.5 Análisis de costo/beneficio 
Costo: 
El tiempo estimado para realización de este proyecto será alrededor de 3 
semanas del actual año, para lo cual se considerarán los siguientes costos y 
beneficios: 
Salarios: (basados en https://mx.talent.com/salary) 
● Científico de datos: $18,000 (Salario mensual $20,000, $125 por hora, 
estimación de 8 horas diarias, durante seis días a la semana). 
● Analista de base de datos: $14,400 (Salario mensual $16,000, $100 por 
hora, estimación de 8 horas diarias, durante seis semanas). 
● Analista de datos: $14,400 (Salario mensual $16,000, $100 por hora, 
estimación de 8 horas diarias, durante seis semanas). 
Servicios: 
● Luz eléctrica: $380.50 
● Internet: $375 
● Agua: $144 (Costo por metro cúbico $16, consumo estimado 9 metros 
cúbicos). 
● Gastos totales de servicios: $900.00 (redondeo). 
Costo estimado para el proyecto: $47,770 MXN, convertido a USD tendría 
un costo de $2234.11 realizando el cambio monetario a la fecha actual 
30/11/2021. 
Obtención de datos: 
La obtención de los datos no conlleva un costo monetario en cuestión, 
pues el costo para obtener la información es la asignación de nuestro 
tiempo de trabajo en el proyecto para la recolección del conjunto de 
datos que se utilizara. 
Operativos: 
● Los sueldos o salarios de personal. 
https://mx.talent.com/salary
Página | 13 
 
● Los costos de combustible, como la energía para las operaciones, 
(electricidad, internet). 
● Mantenimiento de equipos. 
● Material de oficina y consumibles. 
● Oficinas en alquiler. 
Beneficio: 
● Objetivo completado de manera exitosa: Se aumentan las ventas en 
base a la proyección de cada cine en un 5% y además se predicen las 
mejores ubicaciones para abrir tres nuevas localizaciones lo mejor 
distribuidas posible. 
● Posibles beneficios de la comprensión de los datos y el negocio: El 
analista es capaz de ver otras áreas en las que es posible mejorar para 
poder obtener algún otro beneficio y aplicar alguna otra estrategia. 
1.3 Objetivos de la minería de datos 
1.3.1 Metas de la minería de datos 
● Aplicar el algoritmo de agrupamiento K-Means y la métrica de la silueta para la 
obtención de las proyecciones más adecuadas de acuerdo con la temporada 
del año, así como los valores atípicos, siendo estas las que vienen presentes 
en el atributo quarter de nuestro data set. 
● Los resultados obtenidos al aplicar esta técnica tendrán validez de 3 meses, 
tomando como base el hecho de que los datos que manejamos son por 
temporadas, quiere decir que los agrupamientos varían debido al tiempo en que 
las proyecciones se encuentran en taquilla. 
1.3.2 Criterio de rendimiento 
Se optó por seleccionar dos métricas de evaluación ya que el proyecto consta 
de un problema de agrupamiento utilizar como primer “métrica de silhouette” ya 
que es métrica evalúa la calidad del agrupamiento al examinar que tan bien 
Página | 14 
 
están separados los grupos (clusters) y que tan compactos son. Además de 
utilizar el “error de cuadrático medio” se utiliza para referirse a la estimación 
insesgada de la varianza del error. 
1.4 Plan de proyecto 
1.4.1 Plan de proyecto 
 
 
 
Página | 15 
 
 
 
1.4.2 Valoración de herramientas técnicas 
Orange, módulos de python Scikit Learn y pandas. 
Orange: Software basado en componentes para la minería de datos y análisis 
predictivo. 
● Ventajas: 
○ Permite una programación visual y versátil para un análisis de 
datos. 
○ Es amigable e intuitiva con el usuario. 
○ Está abierta a todo tipo de usuarios ya sea aprendiz o avanzado. 
Página | 16 
 
○ Multiplataforma. 
● Desventajas: 
○ Únicamente permite conectar con MySQL y PostgreSQL. 
○ Dependencia de Python. 
Pandas es una herramienta de código abierto, bajo licencia BSD, que da un 
alto desempeño y que es fácil de usar en Python, para así trabajar de forma 
fácil con datos estructurados como tablas, matrices y series de tiempo. 
● Ventajas: 
○ Viene integrado con Matplotlib, una librería muy conocida para 
hacer gráficas. Por lo que se puede realizar de forma muy cómoda 
y sencilla cualquier gráfico directamente a partir de un DataFrame 
o Series. 
○ Pandas nos permite obtener columnas o filas de nuestros datos 
de forma muy fácil e intuitiva. 
○ Pandas también podemos hacer selecciones condicionales. 
Python: 
● Ventajas 
○ Simplificado y rápido: este lenguaje simplifica mucho la 
programación. Es un gran lenguaje para scripting, si usted 
requiere algo rápido (en el sentido de la ejecución del lenguaje), 
con unas cuantas líneas ya está resuelto. 
○ Elegante y flexible: el lenguaje le da muchas herramientas, si 
usted quiere listas de varios tipos de datos, no hace falta que 
declares cada tipo de datos. Es un lenguaje tan flexible que usted 
nose preocupa tanto por los detalles. 
○ Programación sana y productiva: programar en Python se 
convierte en un estilo muy sano de programar: es sencillo de 
Página | 17 
 
aprender, direccionado a las reglas perfectas, le hace como 
dependiente de mejorar, cumplir las reglas, el uso de las líneas, 
de variables. 
○ Ordenado y limpio: el orden que mantiene Python, es de lo que 
más les gusta a sus usuarios, es muy legible, cualquier otro 
programador lo puede leer y trabajar sobre el programa escrito en 
Python. Los módulos están bien organizados, a diferencia de otros 
lenguajes. 
○ Portable: es un lenguaje muy portable (ya sea en Mac, Linux o 
Windows) en comparación con otros lenguajes. 
○ Comunidad: algo muy importante para el desarrollo de un lenguaje 
es la comunidad, la misma comunidad de Python cuida el lenguaje 
y casi todas las actualizaciones se hacen de manera democrática. 
● Desventajas 
○ Curva de aprendizaje 
○ La «curva de aprendizaje cuando ya estás en la parte web no es 
tan sencilla». 
○ Hosting 
○ La mayoría de los servidores no tienen soporte a Python, y si lo 
soportan, la configuración es un poco difícil. 
○ Librerías incluidas 
○ Algunas librerías que trae por defecto no son del gusto de amplio 
de la comunidad, y optan a usar librerías de terceros. 
2 Entendimiento de los datos 
2.1 Recolección de datos iniciales: 
2.1.1 Requerimientos de los datos: 
El origen de los datos para el proyecto se obtuvo de la página “Kaggle” este 
dataset fue recuperado unos ocho meses de historial de ventas de 
Página | 18 
 
diferentes cines con datos detallados de proyección, durante 2018 con 
localizaciones anonimizadas codificadas. 
Por lo cual la disponibilidad de los datos es reducida ya que solo se cuenta 
con estos datos y no hay posibilidad de conseguir o modificar los criterios 
de los datos. 
2.1.2 Criterios de selección: 
Dado los objetivos del negocio, los atributos seleccionados son: 
■ Unique movie id definido como film_code que representa el número 
único de identificación de la película en cuestión, el tipo de 
información que almacena, son datos de tipo discreto y nominales. 
■ Unique cinema id definido como cinema_code que representa el 
número de identificación único del cine en cuestión, el tipo de 
información que almacena, son datos de tipo discreto y nominales. 
■ total sale per screening time definido como total_sales que 
representa el total de ventas por tiempo de reproducción, es de tipo 
discreto y nominal. 
■ number of tickets solds definido como tickets_sold que representa 
el número de tickets vendidos, es de tipo discreto y nominal. 
■ quarter que representa la estación o temporada del año en que fue 
emitido el film, siendo estos los trimestres, es de tipo, discreto y 
nominal. 
2.1.3 Inserción de datos: 
Los métodos de adquisición para cada uno de los atributos se realizaron, 
basados en las ventas, detalles de proyección y localizaciones anónimas 
de distintos cines durante 8 meses en 2018. 
2.1.4 Orígenes de datos: 
El origen de los datos se obtiene de un archivo plano (csv) Excel, delimitado 
por comas. El número de instancias totales que tiene el archivo antes de la 
adquisición, es de 142,525, y el número de atributos es de 14. Después de 
que la selección se redujo a 5 atributos, el número de instancias no se vio 
afectado (por el momento). 
2.2 Descripción de los datos: 
2.2.1 Análisis volumétrico de los datos: 
■ Número de atributos 14 
■ Número de instancias 142,524 
■ No contamos con alguna clase. 
2.2.2 Definición del dominio del atributo (Diccionario de datos): 
https://lucid.app/lucidchart/3ac90904-0983-46c7-ba44-
41cf75108857/edit?viewport_loc=-420%2C-
87%2C2889%2C1270%2C0_0&invitationId=inv_335061c9-a707-499f-9783-
c11778b1f5d0 
https://lucid.app/lucidchart/3ac90904-0983-46c7-ba44-41cf75108857/edit?viewport_loc=-420%2C-87%2C2889%2C1270%2C0_0&invitationId=inv_335061c9-a707-499f-9783-c11778b1f5d0
https://lucid.app/lucidchart/3ac90904-0983-46c7-ba44-41cf75108857/edit?viewport_loc=-420%2C-87%2C2889%2C1270%2C0_0&invitationId=inv_335061c9-a707-499f-9783-c11778b1f5d0
https://lucid.app/lucidchart/3ac90904-0983-46c7-ba44-41cf75108857/edit?viewport_loc=-420%2C-87%2C2889%2C1270%2C0_0&invitationId=inv_335061c9-a707-499f-9783-c11778b1f5d0
https://lucid.app/lucidchart/3ac90904-0983-46c7-ba44-41cf75108857/edit?viewport_loc=-420%2C-87%2C2889%2C1270%2C0_0&invitationId=inv_335061c9-a707-499f-9783-c11778b1f5d0
Página | 19 
 
 
2.3 Exploración de los datos: 
2.3.1 Análisis univariable (por atributo) 
1. Resumen estadístico, en el caso de los numéricos un Box plot con la descripción de 
los datos. 
 
 
 
 
 
Página | 20 
 
film_code 
 
cinema_code 
 
total_sales 
 
tickets_sold 
 
tickets_out 
Página | 21 
 
 
show_time 
 
occu_perc 
 
ticket_price 
 
 
 
 
Página | 22 
 
ticket_use 
 
capacity 
 
date 
 
month 
 
 
 
Página | 23 
 
quarter 
 
day 
 
2. Determinación de sesgo. 
film_code 
 
Página | 24 
 
cinema_code 
 
total_sales 
 
 
 
Página | 25 
 
tickets_sold 
 
tickets_out 
 
 
 
Página | 26 
 
show_time 
 
occu_perc 
 
 
 
Página | 27 
 
ticket_price 
 
ticket_use 
 
 
 
Página | 28 
 
capacity 
 
date 
 
Página | 29 
 
month 
 
quarter 
 
 
 
Página | 30 
 
day 
 
3. Identificación de valores faltantes 
 
Página | 31 
 
 
4. Identificación de valores fuera de dominio 
● Los valores que están fuera de dominio, al igual que con los faltantes están 
representados con un signo de interrogación (?) 
2.3.1 Análisis bivariable 
1. Resumen del análisis de las combinaciones en pares de todas las variables. 
El programa elaborado se encuentra adjunto junto a este documento. 
Página | 32 
 
 
 
 
Página | 33 
 
 
3 Procesamiento de datos 
3.1 Integración de los datos 
3.1.1 Fusión de datos 
N/A. Solo contamos con un conjunto de datos. 
3.1.2 Adición de datos 
N/A. Solo contamos con un conjunto de datos. 
3.2 Selección de los datos 
3.2.1 Creación de conjuntos específicos para cada tarea de descubrimiento de 
datos 
Objetivo del 
conjunto de datos 
Recomendación de género cinematográfico para cines: 
recomendaciones basadas en sus diferentes ubicaciones, 
temporadas. 
Restricciones de 
las instancias 
 
N/A. No tenemos restricciones 
Nombre del atributo Dominio Justificación de selección 
Página | 34 
 
film_code 1471-
1589 
Se eligió ya que este atributo otorga los detalles 
de cada película 
cinema_code 32-637 Se eligió ya que este atributo otorga todos los 
detalles de cada cine 
total_sales 20k-1.26b Se eligió ya que este atributo otorga las ventas 
totales de cada cine 
show_time 1-60 Se eligió ya que este atributo otorga el tiempo de 
duración por película 
quarter 1-4 Se eligió ya que este atributo nos otorga la 
temporada de proyección de la película 
 
Objetivo del 
conjunto de datos 
Recomendación de ubicación de próximos cines: predicción 
de futuras locaciones que resulten exitosas dentro de los 
lineamientos del negocio. 
Restricciones de 
las instancias 
N/A. No tenemos restricciones 
Nombre del 
atributo 
Dominio Justificación de selección 
cinema_code 32 - 637 Se eligió ya que este atributo otorga todos los 
detalles de cada cine 
total_sales 20k -1.26b Se eligió ya que este atributo otorga las ventas 
totales de cada cine 
occu_perc 0 -147.5 Se eligió ya que este atributo otorga el 
porcentaje que fue ocupado 
Página | 35 
 
tickets_sold 1 - 8499 Se eligió ya que este atributo otorga las 
entradas vendidas 
tickets_out 0 - 311 Se eligió ya que este atributo otorga las 
entradas canceladas 
3.2.2 Selección de subconjuntos de datos (Muestreo) 
Dado nuestro conjunto de datos se optó por elegir la reducción de dimensionalidad de 
forma manual, tomando los atributos antes mencionados en el punto anterior, con 
ayuda de la herramienta “Select columns” de Orange, como se muestraa continuación. 
 
 
 
 
 
 
 
Página | 36 
 
Este es el resultado de la selección realizada por Orange. 
 
3.3 Limpieza de datos 
3.3.1 Eliminación de atributos con poca variabilidad 
N/A: Dado los datos en nuestro dataset ya que todos los atributos son de tipo 
numéricos y no contamos con atributos categóricos la variabilidad entre instancias no 
aplica. 
3.3.2 Identificación de valores erróneos (outliers y typos) 
Outliers. cómo podemos observar contamos con 13083 instancias que son atípicas y 
nos quedaremos solo con los inliers 
 
 
 
 
 
 
 
 
 
 
Página | 37 
 
Resultado 
 
 
Onliners. Como podemos observar tenemos 129441 instancias ya eliminando los 
valores atípicos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Página | 38 
 
Resultado 
 
3.3.3 Detección de valores faltantes 
Como podemos observar tenemos 125 instancias con valores faltantes. 
 
 
 
 
 
Página | 39 
 
Aquí podemos observar que las que tienen valores faltantes se indican con un signo 
de interrogación. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Página | 40 
 
Con el preprocesamiento de Orange reemplazamos los valores faltantes con la moda 
o los más frecuentes. 
 
Este es el resultado 
 
 
 
 
 
Página | 41 
 
3.3.4 Eliminación de falsos predictores 
Obtenemos la correlación entre nuestros atributos, no tenemos ninguna arriba de 95, 
por lo tanto, no tenemos falsos predictores. 
 
 
Es importante mencionar que si teníamos falsos predictores que nos daban un alto 
porcentaje de correlación, pero estos fueron eliminados en la segunda etapa de este 
documento, es decir, en el muestreo, los podemos observar en la siguiente imagen. 
Página | 42 
 
 
3.3.5 Errores de dominio, tipo o formato. 
Los errores de dominio, se encontraban como los valores faltantes, con un “?” y fueron 
reemplazados por la moda como se puede observar en el punto 3 que hicimos 
anteriormente. Como se manejan solo valores numéricos no tenemos más errores de 
dominio o escritura. 
3.4 Construcción de datos 
3.4.1 Normalización de valores numéricos 
Con el preprocesamiento de Orange normalizamos con base a la media y desviación 
estándar. 
Página | 43 
 
 
Este es el resultado 
 
3.4.2 Transformación de valores categóricos a numéricos 
N/A. No tenemos valores categóricos en nuestro conjunto de datos 
3.4.3 Transformación de valores numéricos a categóricos 
Transformamos todos nuestros valores numéricos a categóricos y lo que obtuvimos 
fueron categorías en base a ciertos rangos de valores, tal y como se puede observar 
en la imagen. 
Página | 44 
 
 
4 Modelado 
4.1 Selección de técnicas de modelado 
4.1.1 Lista de las técnicas que se utilizarán para la evaluación del modelo 
La técnica a emplear es la de agrupamiento, para poder cumplir con el objetivo de 
generar recomendaciones en base a los datos evaluados. 
● K-Means 
Adicionalmente podemos aplicar un modelo de clasificación como el de naive bayes, 
para obtener porcentajes de precisión de nuestro clúster. 
4.1.2 Descripción de las razones por las que fueron seleccionados dichos modelos. 
El problema a tratar tiene una solución mediante la implementación de algoritmos de 
agrupamiento, en este caso el de K-Means, de tal forma en que podamos agrupar los 
Página | 45 
 
films en base a la ubicación y las temporadas del año, para observar qué grupo de 
películas forman un clúster, clusters que representan el género cinematográfico, de la 
misma forma en base al número de tickets vendidos y agrupándolos en los cines en 
los que fueron vendidos podremos determinar clusters que representan posibles 
ubicaciones para nuevos cines. 
4.2 Generación de plan de prueba 
4.2.1 Lista de las diferentes pruebas que se realizarán para cada uno de los conjuntos 
de datos. 
Utilizaremos K-Means en dos conjuntos de datos que representan: 
● Recomendación de género cinematográfico para cines: recomendaciones 
basadas en sus diferentes ubicaciones, temporadas. 
● Recomendación de ubicación de próximos cines: predicción de futuras 
locaciones que resulten exitosas dentro de los lineamientos del negocio. 
Basándonos en diferentes atributos analizaremos y obtendremos las gráficas de 
dispersión, además, debido a la complejidad que representa utilizar tantas instancias 
para la obtención de los coeficientes de Silhouette haremos pruebas utilizando un 
número de instancias menor a 5000. 
4.2.2 Indicar los números de iteraciones y técnicas de validación a ser utilizadas 
● Recomendación de género cinematográfico para cines 
 
● Recomendación de ubicación de próximos cines 
Página | 46 
 
 
Validación en base a los coeficientes de Silhouette 
4.3 Construcción de modelos 
4.3.1 Selección de parámetros: Indicar los parámetros seleccionados para cada uno 
de los modelos. 
Como se mencionó anteriormente se realizarán 2 pruebas para cada conjunto de 
datos, una con todas las instancias (142524 instancias) y la otra con reducción de 
dimensionalidad a 4511 instancias, ambas con los datos normalizados, sin valores 
faltantes y la misma selección de columnas para cada conjunto, la diferencia es que 
en una obtendremos los coeficientes de Silhouette y en otra no. 
Para ambas pruebas, el número de iteraciones y clusters a generar será el mismo. 
En el caso de la clasificación de nuestro clúster con Naive, utilizaremos un porcentaje 
de 70% de entrenamiento y 30% de prueba 
 
4.3.2 Ejecución de cada una de las pruebas definidas en el punto anterior. 
Las pruebas fueron realizadas haciendo uso de las herramientas que nos proporciona 
Orange, el workspace y los archivos csv con los datos están adjuntados junto a este 
documento. 
Página | 47 
 
● Prueba con todas las instancias 
 
● Prueba con <5000 instancias 
 
4.3.3 Interpretación de los resultados, desde el punto de vista de minería de datos, 
no del negocio. 
 
Prueba Agrupamiento Distribución Clasificación 
Recomendación de 
género 
cinematográfico 
basado en la 
temporada con 
todas las 
instancias 
 
 
 
Precisión: 0.868 
Página | 48 
 
Recomendación de 
género 
cinematográfico 
basado en 
ubicación del cine 
con todas las 
instancias 
 
 
Recomendación de 
ubicación de 
próximos cines 
basado en el 
número de tickets 
vendidos por cine 
con todas las 
instancias 
 
 
 
Precisión: 0.865 
Recomendación de 
género 
cinematográfico 
basado en la 
temporada con 
<5000 instancias 
 
 
Precisión: 0.913 
Recomendación de 
género 
cinematográfico 
basado en 
ubicación del cine 
con <5000 
instancias 
 
 
Recomendación de 
ubicación de 
próximos cines 
basado en el 
número de tickets 
vendidos por cine 
con <5000 
instancias 
 
 
 
Precisión: 0.822 
 
Métricas de Silhouette, solo aplica en el caso de <5000 instancias debido a la 
complejidad 
● Recomendación de género cinematográfico 
De 0.423 a 0.699 
Página | 49 
 
● Recomendación de ubicaciones 
De 0.436 a 0.704. 
4.3.4 Presentar conclusiones sobre los patrones encontrados. 
De las distintas pruebas realizadas se puede notar que la agrupación se da forma 
vertical, es decir que los datos no se encuentran muy dispersos, pese a esto nos 
damos cuenta de que los clusters obtenidos según cada prueba son bastante notorios 
y estos clusters podemos definirlos como géneros cinematográficos o ubicaciones 
posibles para nuevos cines, dicho así, al aplicarle un modelo de clasificación 
obtenemos diversas precisiones que no llegan a variar mucho, pero si demuestran que 
mientras menor es el número de instancias utilizadas, mayor será la precisión. 
En cuanto a lo que podemos observar respecto a los coeficientes de la silueta es que 
van desde 0.423 a 0.699 en el caso de la recomendación del género cinematográfico 
y en el caso de la recomendación de ubicaciones van desde 0.436 a 0.704. 
Como bien sabemos, respecto a esta métrica, es que va de -1 a +1 y un valor alto 
indica que el objeto está bien emparejadocon su propio cúmulo y mal emparejado con 
los cúmulos vecinos, cosa que nos hace pensar que posiblemente no fue la mejor 
selección de clusters. 
4.4 Evaluación de modelos 
4.4.1 Presentar los resultados anteriores en una tabla comparativa para ver el 
desempeño de todos. 
Prueba Agrupamiento Distribución Clasificación 
Recomendación de 
género 
cinematográfico 
basado en la 
temporada con 
todas las 
instancias 
 
 
 
Precisión: 0.868 
Recomendación de 
género 
cinematográfico 
basado en 
ubicación del cine 
con todas las 
instancias 
 
 
Página | 50 
 
Recomendación de 
ubicación de 
próximos cines 
basado en el 
número de tickets 
vendidos por cine 
con todas las 
instancias 
 
 
 
Precisión: 0.865 
Recomendación de 
género 
cinematográfico 
basado en la 
temporada con 
<5000 instancias 
 
 
Precisión: 0.913 
Recomendación de 
género 
cinematográfico 
basado en 
ubicación del cine 
con <5000 
instancias 
 
 
Recomendación de 
ubicación de 
próximos cines 
basado en el 
número de tickets 
vendidos por cine 
con <5000 
instancias 
 
 
 
Precisión: 0.822 
4.4.2 Identificar el o los mejores modelos encontrados en la etapa anterior y 
explicarlos en términos del negocio. 
Las pruebas con el menor número de instancias obtuvieron los mejores resultados en 
cuanto a la clasificación de los clusters, sin embargo consideramos que los mejores 
resultados en base a los objetivos del negocio son aquellos que involucran todas las 
instancias, pues gráficamente son en los que mejor se notan los agrupamientos pues 
en ellos podemos identificar mejor ciertos films que en conjunto forman un clúster, 
clúster que representa un género cinematográfico o de igual forma podemos identificar 
ciertos cines con mayor número de tickets vendidos, cosa que nos ayuda a identificar 
zonas (clusters), que representan un cúmulo de cines con este mayor número de 
tickets vendidos, lo cual hace a dicha zona mejor o factible para abrir nuevos cines. 
Página | 51 
 
4.4.3 Comentarios sobre el desempeño de cada uno de los modelos e indicar sus 
puntos de vista sobre por qué tiene el desempeño que tienen (bueno o malo). 
Consideramos que los resultados obtenidos no son del todo satisfactorios o adecuados 
para cumplir con la totalidad de los objetivos del negocio, pues lo que nos hace dudar 
de los resultados es precisamente la forma en que se agrupan, cosa que tiene relación 
con el coeficiente de la silueta, pues los resultados tienen un valor muy cercano a uno 
y como ya se mencionó anteriormente esto hace que este bien emparejado con su 
propio cúmulo, pero mal emparejado con los cúmulos vecinos, lo cual nos da como 
resultado esos gráficos tan lineales o verticales, además de que los datos con los que 
contamos no están muy dispersos, lo cual conduce a este tipo de resultados. Quizás 
debimos hacer una selección diferente para el número de clusters y así habría 
cambiado el coeficiente de la silueta, pero esto conduciría a más pruebas y mayor 
costo que posiblemente sobrepasará los cálculos de costos que hicimos, cosa que no 
sería muy favorable para el negocio, por lo tanto consideramos que el desempeño que 
obtuvimos no fue ni bueno, ni malo, pues los modelos aplicados si nos proporcionan 
datos que posiblemente ayudarían a cumplir con algunos de los objetivos del negocio. 
Referencias 
1. Berzal, F. & Universidad de Granada. (s. f.). Clustering. elvex.ugr. Recuperado 
28 de noviembre de 2021, de 
https://elvex.ugr.es/decsai/intelligent/slides/dm/D3%20Clustering.pdf 
2. Castro, H. M. M. & Universidad Politécnica de Victoria. (s. f.). Minería de 
Datos. tamps.cinvestav. Recuperado 28 de noviembre de 2021, de 
https://www.tamps.cinvestav.mx/~hmarin/Mineria/EC2.pdf 
3. colaboradores de Wikipedia. (2021, 8 marzo). Silhouette (clustering). 
Wikipedia, la enciclopedia libre. Recuperado 28 de noviembre de 2021, de 
https://es.wikipedia.org/wiki/Silhouette_(clustering) 
4. Dabbura, I. (2020, 10 agosto). K-means Clustering: Algorithm, Applications, 
Evaluation Methods, and Drawbacks. Medium. Recuperado 28 de noviembre 
de 2021, de https://towardsdatascience.com/k-means-clustering-algorithm-
applications-evaluation-methods-and-drawbacks-aa03e644b48a 
5. Godínez, I. R. & Universidad de Guadalajara. (s. f.). K-means. Drive. 
Recuperado 28 de noviembre de 2021, de 
https://drive.google.com/file/d/1XynTur0X_F8V25_JXIvoe8zAfthlXaRg/view 
6. k-Means — Orange Visual Programming 3 documentation. (s. f.). Orange3. 
Recuperado 28 de noviembre de 2021, de 
https://orange3.readthedocs.io/en/3.5.0/widgets/unsupervised/kmeansclusterin
g.html 
7. Möbius. (2020, 29 octubre). Cinema Tickets. Kaggle. Recuperado 20 de 
noviembre de 2021, de https://www.kaggle.com/arashnic/cinema-ticket 
8. N. (2020, 15 julio). K-Means con Python paso a paso. Aprende Machine 
Learning. Recuperado 28 de noviembre de 2021, de 
https://www.aprendemachinelearning.com/k-means-en-python-paso-a-paso/ 
Página | 52 
 
9. Salario en México - Salario Medio. (s. f.). Talent.com. Recuperado 28 de 
noviembre de 2021, de https://mx.talent.com/salary

Otros materiales