¡Esta es una revisión vieja del documento!
Cuando iniciamos un trabajo debemos preprocesar los datos de los que disponemos, esto es adaptarlos para poder tratarlos.
Son individuos con valores atípicos, acostumbran a mover la media y son un problema de difícil solución.
Cuando un individuo tiene una variable sin valor podemos buscar otro individuo, el más cercano a él (mediante distancia euclídea, por ejemplo), y asignarle el mismo valor.
Consiste en deducir qué variables (características, campos…) son más importantes.
Se busca el grado de relación de las variables con la variable de respuesta (o de salida, es la variable que queremos deducir o que estamos estudiando).
Para saber si una variable está relacionada con otra mediante el p-valor o el coeficiente de correlación.
Es la creación de nuevas variables a partir de las originales que pueden servir más que estas. Por ejemplo si te dan una imágen con un dígito, realmente lo que te están dando es un conjunto de píxels del cual poco se puede deducir, convendría más extraer información de esos píxels buscando la verticalidad de la imágen, los agujeros que tiene…
Consiste en agrupar individuos en grupos parecidos.
En la nube de puntos que forman los individuos…
Una variación del K-Means es el Fast K-means, en el paso 2 cada vez que enlazasemos con un centro de gravedad crearíamos otro nuevo. En una sola pasada se encuentran las clasificaciones pero son peores.
Consiste en ir agrupando individuos por cercanía y mostrándolos en un endograma (una especie de árbol\histograma).
Iremos creando el árbol, siendo la altura de estos nuevos nodos la distancia (al cuadrado) entre la pareja que los forma.
En el árbol estará todo el historial de agregaciones.
Al final tendremos un árbol donde se verá cláramente las clases (y se podrán escoger) que lo forman.
Existen varios criterios para unir nodos:
Inercia_Between / Inercia_Total, se buscará hacer la inercia between grande y la within pequeña.
Las reglas de asociación buscan relaciones del estilo “si ocurre X entonces también ocurre Y”, siendo X e Y conjuntos de valores de variables. El ejemplo más sencillo es es el de la cesta de la compra de un supermercado, en este se busca qué productos generalmente se compran a la vez. Por ejemplo si se compran patatas fritas y olivas es muy probable que también se compre coca cola o cerveza, por lo que conociendo estos el super puede ofrecer packs o hacer una reorganización de los productos. Otras aplicaciones pueden ser transacciones bancarias, seguros, soporte de clientes…
Las reglas de asociación no tratan de comprovar hipótesis como hacen las pruebas de hipótesis estadísticas, su objetivo es el de descubrirlas.
Los episodios frecuentes son las ocurrencias de un evento que queremos estudiar, por ejemplo en la cesta de la compra, el evento es una compra de varios productos. Para representarlos se utilizan combinaciones de valores binarios, esto es usar 0 o 1 cuando en el evento hay una ausencia o presencia de los episodios. Es decir, debemos binarizar la base de datos para poder aplicar los métodos que extraen las reglas.
Una regla de asociación se representa de la siguiente forma: X ⇒ Y
Esto significa que cuando en el episodio frecuente un elemento o grupo de elementos X (antecedente) también se da un elemento o grupo de elementos Y (consecuente).
Una regla será válida sólo si supera un soporte y una confianza mínimos. El soporte corresponde a la frecuencia de la regla y la confianza a su fortaleza y se definen (siendo D la proporción de elementos que contiene dicho conjunto):
Existe también el concepto de lift (elevación) que se puede interpretar como la importancia de una regla, pero de forma diferente a lo que ocurre con el soporte y la confianza no existe un lift mínimo, su valor viene de la proporción de fiabilidad de la norma y de la fiabilidad esperada de la norma. Un valor de lift = 1 indica que ese conjunto aparece una cantidad de veces acorde a lo esperado. Un valor de lift > 1 indica que ese conjunto aparece una cantidad de veces superior a lo esperado (por lo que los productos se encuentran más veces de lo normal). Un valor de lift < 1 indica que ese conjunto aparece una cantidad de veces inferior a lo esperado (por lo que se puede intuir que los productos no estan formando parte del mismo conjunto más veces de lo normal).
Existen distintos algoritmos para extraer reglas de asociación, a destacar el apriori y el de Agrawal.
En esta tabla de 10 elementos, 5 registros marcan 'Tarda'; 5 'Act1-TBC'; 5 'Tarda' y 'Act1-TBC'; 9 'No Entrenador'; 9 'Piscina'; 8 'No Entrenador' y 'Piscina'; 5 'Tarda' y 'No Entrenador'; 5 'Tarda', 'Act1-TBC' y 'No Entrenador'; 4 'Tarda', 'Act1-TBC', 'Piscina' y 'No Entrenador'.
{Tarda, Act1-TBC} ⇒ {No entrenador personal, piscina} tiene una confianza del 80% {Tarda, Atc1-TBC} ⇒ {No entrenador persona} tiene una confianza del 100% {Tarda} ⇒ {No entrenador personal} tiene una confianza del 100% y un soporte del 70%.
En la librería arules encontramos las siguientes funciones:
as(X, “transactions”), binariza un dataset.apriori extrae reglas de asociación de un dataset binarizado, podemos indicar el soporte y la confianza mínimos.inspect muestra el contenido de las reglas.subset filtra reglas.library (arules) cat_transac <- as(datos_categorias, "transactions") rules = apriori (cat_transac, parameter = list (support=0.2, confidence=0.6)) myrules = SORT(rules, by = "lift")[1:5] inspect(myrules) myrules.sub = subset(rules, subset = rhs %in% "preferred_brand=Delta") inspect (myrules.sub)