Descarga la aplicación para disfrutar aún más
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
Compartir