[MÚSICA] Hola. Bienvenidos a un nuevo video de ayudantía de nuestro curso, minería de datos. En este video veremos un ejemplo de reglas de asociación. El objetivo principal de este video es aplicar un algoritmo de reglas de asociación sobre las transacciones de ventas de una pastelería real. Antes que nada, realizaremos este pequeño ejercicio, el cual fue el que hicieron con el profesor Karim Pichara. Este constaba de 9 transacciones, y el mínimo soporte era 2. Los itemsets frecuentes son los que se muestran en pantalla y son a los que debiésemos llegar usando el programa de Rapid Miner. Así que, ¡manos a la obra! Como les habíamos mencionado anteriormente en el video, ahora aplicaremos el algoritmo que vimos en clase con el profesor Karim Pichara. Para esto utilizaremos el programa Rapid Miner el cual es gratuito hasta 10.000 filas. Abra el navegador que más le acomode y colóquese en la página web rapidminer.com. También pueden buscar en Google Rapid Miner y automáticamente le va a redirigir a esta página. Si se fijan bien, arriba a la derecha hay un botón, el cual [INAUDIBLE], el cual tienen que apretar, automáticamente los va a redirigir a descargar la versión más actual que es la Rapid Miner Studio 8.0, y dependiendo del sistema operativo que ustedes estén utilizando el que tiene que descargar. En este caso yo estoy utilizando un Windows de 64 bits que el cual descargué. Una vez que lo tienen descargado, háganle doble clic y aprieten continuación, la instalación es super sencilla y super fácil de usar. Luego abran el programa de Rapid Miner, le aparecerá al principio una ventanilla en el cual tienen que registrarse, existen dos modalidades, una de educación y la otra de empresa. Cualquiera sea la que ustedes elijan, la licencia será gratuita hasta las 10.000 filas, por lo que no debería existir ningún problema. Una vez que you tienen todo instalado con la licencia, podemos proceder a lo que están viendo a continuación. Esta es la ventana más sencilla de Rapid Miner, consta con 4 o 5 paneles, el primer panel es el que está al medio y corresponde al panel de procesos, en donde vamos a tener todos nuestros operadores. El segundo panel es el que está acá arriba a la izquierda el cual se llama repository el cual contiene todos nuestros datos, también lo podemos conectar a base de datos externas o incluso a repositorios de la nube. Abajo a la izquierda tenemos nuestro panel de operadores, el cual contiene todos los operadores de Rapid Miner, los cuales nos permiten hacer los distintos algoritmos que vamos a ver en clases y también tiene algoritmos bien especiales también de redes neuronales o cosas de ese estilo. Por último el que les quiero mostrar el panel de parámetro el cual nos permite poder cambiar los parámetros de nuestros distintos operadores, en nuestro caso por ejemplo en este video veremos las reglas de asociación y uno de los parámetros es el mínimo soporte necesario para crear los itemsets frecuentes. Acá abajito pueden encontrar en una ayuda que a medida que van apretando los operadores les va a aparecer una ayuda. Si cualquiera sea el motivo, ninguno de estos paneles aparece cuando ustedes abren Rapid Miner sencillamente vayan al lugar view en show panel y seleccionen cuáles de estos paneles quieren que aparezca. A mi me gusta personalmente trabajar con el panel de los datos, el del operador y el de parámetro, el resto de las cosas no la utilizo. Para este ejercicio particular, le mostraré la base de datos que ustedes tienen que crear. En este caso yo creé un archivo el cual contiene todas las transacciones que vieron en clase con el profesor. En este caso existe el producto i1, i2, i3, i4 e i5 y las 9 filas que vienen a continuación corresponden a si se encontraba o no se encontraba ese producto en esa transacción. Por ejemplo en la fila 1, lo que estamos diciendo es que i1, i2 e i4 se encontraban en la transacción. Una vez que tiene esta forma de archivo, es importante que la coma es el que separa, y luego en Rapid Miner le diremos que nos separe por coma. Una vez que tenemos todo esto hecho, iremos a Rapid Miner. Agregaremos los datos y luego empezaremos a realizar el algoritmo. En el panel de repositorio, si se fijan acá sale add data, lo apretamos, nos vamos a my computer y buscamos donde tengan el archivo, en mi caso lo tengo escritorio y me voy a ejercicio1.txt. Si se fijan bien hay otros archivos tienen formado csv o cosas de ese estilo que son las formas de separar los datos por cada fila. Una vez que estamos adentro, Rapid Miner nos da la opción de decir que si queremos que la primera sea una fila o sea solo el header, como el nombre de la columna, también nos permite separar por coma, por semi colon, por espacio, por tab, etcétera. le damos a siguiente y automáticamente nos llevará a esta pestaña que [INAUDIBLE] nos permite formatear las columnas. En este caso, en este ejercicio particular no tenemos que hacer nada pero más adelante veremos que aquí es necesario hacer pequeñas modificaciones. Nos vamos a next y por último nos va a preguntar dónde queremos guardar nuestros datos, puede ser en la nube o también puede ser localmente. A mi me gusta guardarlo localmente en la carpeta data lo cual lo mantiene todo más ordenado. Automáticamente carga los archivos y nos muestra cuáles son los resultados. En este caso si se fijan bien, tenemos 9 filas con las transacciones de 1 y 0 que es igual de nuestro archivo. Voy a sacar todo esto. Arriba, no se si se habían fijado, sale diseño y resultado, la ventana de diseño es la que estábamos anteriormente y la ventana de resultado es donde aparecerán obviamente nuestros resultados. Una vez que you tenemos los datos instanciados, vamos a proceder a ponerlos en la pantalla de proceso. Para esto seleccionen ejercicio 1, arrástrenlo a la ventana de proceso. Automáticamente si se fijan bien es un bloque el cual contiene nuestro [INAUDIBLE], incluso yo puedo arrastrar la salida a resultados. Estos resultados cada vez que yo los pongo aparecen en la ventana de resultados como un nuevo tab con ese resultado. En este caso aprieto F5 o le doy clic a play y automáticamente me lleva a esta ventana y me muestra nuestros resultados, que son exactamente los mismos datos. Nos vamos a la ventana de diseño y empezamos a proceder con el ejercicio. El primer operador que vamos a agregar es uno que se llama numerical to binomial. Nuestros datos se encuentran con 1 y 0 representado si es que está o no está pero lamentablemente nuestro algoritmo en el computador no funcionan de esta manera por que tal vez nuestra representación es 1 y 0 y tal vez para otra persona la representación es un 7 y un 8 o un número positivo y negativo, quien sabe. Para esto lo que debemos hacer es preprocesar nuestros datos y decirles que los 1 son true y los 0 son false. Para eso vamos a utilizar el operador numerical to binomial el cual nos permite pasar números a algo de dos fases, binomial. En nuestro caso por ejemplo si tuvieran números constantes como les decía anteriormente, un número negativo, lo que vamos a hacer podemos decir, arriba de 0 es true, abajo de 0 los números negativos son false, quien sabe. Este operador se llama numerical to binomial y el cual cuenta con esos parámetros los cuales nos permiten hacer esto mismo que mencioné anteriormente pero en nuestro caso es más sencillo. En nuestro caso solo hace falta pasarle el operador los datos y automáticamente este operador lo va a transformar en true false. Si nos vamos y le hacemos clic derecho, tenemos varias opciones como renombrar este operador por si tenemos varios operadores y queremos hacer las cosas más ordenadas. También podemos deshabilitarlo o también podemos mostrarle la información. Una de las grandes ventajas de Rapid Miner es que la documentación es bien detallada y super fácil de usar. Si se fijan bien, este operador recibe un example set que sería nuestra base de datos y nos entregan example set output el cual está modificado, y también nos entrega el archivo original. Una vez que estamos adentro, les voy a mostrar lo que hace este operador. Para esto agarraré exa y lo tiraré a res, y también el archivo original. Le damos clic a play y automáticamente vemos que este es nuestro archivo original, si se acuerdan, y lo pasamos a numerical to binomial. Rapid Miner en este tenido como es la forma más convencional o la más usada de que 1 son true y 0 son false, automáticamente nos hizo el cambio de que 1 es true y pasa a ser 11010 a ser true true false true false. Una vez que tenemos preprocesados nuestros datos, vamos a aplicar al algoritmo de itemset frecuentes. Este algoritmo en Rapid Miner se llama FP Growth, ponen FP y automáticamente le aparece el operador. Este operador si bien tiene el nombre distinto al que utilizamos, el que vimos en clase eh, funciona exactamente igual que el algoritmo apriori. Lamentablemente Rapid Miner no trabajar con el algoritmo apriori pero sí trabaja con el algoritmo FP Growth, el cual permite sacar los items frecuentes. No piensen que funciona distinto pero tiene la misma finalidad. Este operador tiene una serie de parámetros, si se acuerdan bien tenemos el mínimo soporte necesario para sacar los items set frecuentes. Acá arriba tiene el minimum number of items sets, que en este caso son 100. En Rapid Miner, si nosotros le ponemos este parámetro a pesar de que no cumplan con el mínimo soporte, no los va a tirar porque tiene que cumplir con el mínimo tener 100 items set. Es por eso que lo vamos a desactivar, y el mínimo de soporte lo vamos a dejar tal cual. Una vez que tenemos puesto nuestro operador, tenemos que conectarlo. Apretamos clic derecho para ver cuáles son las entradas y cuáles son las salidas. FP Growth. La entrada de FP Growth es un example set y la salida es item set frecuentes y el example set. El example set debe ser el mismo que el de entrada, el original, que solo pasa para sino lo queremos perder. Y nos entrega la existencia frecuente que es lo que estamos buscando. Entonces conectamos el archivo, la salida exa de numerical to binomial, a la entrada exa de FP Growth. Y por último sacamos el fre de FP Growth sacar a la entrada res. Apretamos clic and play y automáticamente le entrega los items set frecuentes. Si se fijan bien, en este caso no encontró ningún item set frecuente por la simple razón de que nuestro soporte es super alto. Como bien vieron en clase, el soporte que nosotros utilizamos correspondía a 2 de 9, lo cual 2 dividido en 9 es aproximadamente 0,22 periódico, en este caso pongamos 0,22. Si volvemos a correr nuestro algoritmo, automáticamente nos encuentran los item set frecuentes que son los que se muestran en pantalla. Si usted cortan o ponen en pausa este video, y si van anteriormente a la slide que mostramos antes pueden comparar que son exactamente lo mismo. Una de las gran ventajas de Rapid Miner es que también nos muestra cuál es el soporte, porque también cumplimos con el soporte pero también es importante ver que si lo cumplimos con cabalidad, o si lo cumplimos apenas, por ejemplo el soporte de i5 es justamente 0,22 2 periódico. Esto más adelante vamos a ver otro ejercicio de Rapid Miner de también de regla de asociación, pero esto para que tengan un insight o tengan un conocimiento apriori de cómo funciona Rapid Miner y este sistema de bloques. Cada uno de los bloques corresponde a un proceso, a una parte del proceso y la gracia de Rapid Miner es que es super sencillo de utilizar. Ahora, procederemos a utilizar una base de datos real llamada Extended Bakery la cual consta con las transacciones de venta de una panadería real. La pastelería tiene en total 50 productos, los cuales 40 son de pastelería y 10 de bebidas o café. En esta segunda parte de esta ayudantía veremos las transacciones reales de una pasteleería el cual esta base de datos se llama Extended Bakery. Para esto nos meteremos en Google, ponemos extended bakery dataset y el primer link nos llevará a la base de datos. Esta consiste en miles de transacciones de esta pastelería, incluso lamentablemente como Rapid Miner nos permite solo 10.000 con la licencia gratuita, tenemos que cortar esta base de datos para poder operar sobre ella. Aquí se descarga la base de dato, la cual you yo la tengo descargada y se las quiero mostrar, esta se encuentra con el nombre Extended Bakery y corresponde a las transacciones reales de una pastelería, como se mencionó anteriormente. En este caso los productos son distintas tortas, los cafés, etcétera. Acá pueden ver por ejemplo que tienen nuestro mismo sistema de 0 y 1, correspondiente a si está presente o no está presente la transacción. Como les mencioné anteriormente, tuvimos que cortar este archivo you que contenía muchas transacciones en lo cual no podíamos trabajar. La dejamos exactamente en 9.997 transacciones. Una vez que hicimos esto, vamos a nuestro programa llamado Rapid Miner, el cual mostramos anteriormente, iremos a cargar los datos. Para esto vamos a up data my computer y buscamos en la carpeta correspondiente a este archivo. En este caso Extended bakery. Si se fijan, automáticamente nos seleccionó cada una de las columnas, le damos clic a next pero en la primera fila hay algo en lo que no estamos interesados, la cual corresponde la cual d ice el número de fila, es por esto que le damos a destruir, le damos clic acá, exclude column y le damos clic a next. Por último lo guardaremos en la carpeta data llamándolo extended bakery. Lamentablemente como esta base de datos es más grande, todos nuestros cálculos se van a demorar un poquito más que lo que se demoró la vez pasada. Primero lo que, haremos los mismos procedimientos, los mismos pasos que hicimos anteriormente, pasamos la base de datos Extended bakery en la ventana de proceso, buscamos el operador correspondiente que en este caso sería el numerical to binomial you que no trabaja con números sino que trabaja con booleanos, lo conectamos a la salida out de los datos a la entrada exa de numerical to binomial. Una vez que quedamos conectados nos vamos a FP Growth al algoritmo que nos permite encontrar los item set frecuentes, conectamos la salida exa de numerical to binomial a la entrada exa de FP Growth. Por último sacamos los item set frecuentes. En este caso, como yo you lo he probado en esta base de datos, el mínimo soporte necesario para mostrar resultados es algo así más o menos del 0,05 el cual corresponde a un 5%. El minimum number of items lo vamos a poner en 20, para que nos muestre algo o simplemente los vamos a [INAUDIBLE] Le damos clic a play y automáticamente nos llega la sección de resultados, las cuales muestran los item set frecuentes, en este caso en la mayoría de los item set frecuentes con el soporte que pusimos son de un producto, excepto por el cherry tart y el apricot danish. Le daremos un soporte más bajo para poder encontrar más resultados, y allí efectivamente tenemos algo más decente. Algo de lo que les quería mostrar, bueno you saben encontrar los item set frecuentes, pero queremos encontrar las reglas de asociación y eso no lo habíamos visto antes. Para encontrar las reglas de asociación, lo que haremos es agregar el operador encargado de crear las reglas de asociación. Este se llama create association rules. Le damos clic, lo seleccionamos y lo arrastramos. Le damos clic derecho show operator info y podemos ver qué recibe de entrada y qué recibe de salida. En este caso la entrada corresponde a los item set frecuentes y la salida van a ser las reglas y los item set frecuentes. En este caso queremos encontrar las reglas de asociación con este mínimo de soporte. Entonces agarramos los item set frecuentes, se lo pasamos a este operador y sacamos la reglas de asociación. Si se fijan bien, varios de los parámetros consisten en cuál es la mínima confianza que requerimos, que en este caso le voy a poner 06, cuál es el lift que corresponde, etcátera. Le damos clic a play y automáticamente Rapid Miner nos entrega las reglas de asociación, que es algo que no habíamos visto anteriormente. Las reglas de asociación como se acuerdan, corresponden a reglas entre distintos grupos, entre distintos item sets. En este caso las tiene catalogadas, las podemos ordenar por soporte, por confianza, etcétera. Incluso Rapid Miner nos permite filtrar los productos, por ejemplo cuáles son los correspondientes al te verde, está acá, y con el te verde tenemos todos los item set frecuentes que tienen este mínimo de soporte que superan el umbral de 1% que es el que pusimos con una confianza superada al 06. En este video utilizamos dos bases de datos, la primera correspondiente al ejercicio visto en clases, la segunda correspondiente a las transacciones de venta de una pastelería real. Además, aprendimos a utilizar el programa de Rapid Miner el cual nos será de gran ayuda para la ayudantía en el futuro. [AUDIO_EN_BLANCO]