Minería de reglas de asociación a través de algoritmo apriori en intercambio bitcoin python en nigeria

Regla de asociación minería es una técnica para identificar relaciones subyacentes entre diferentes artículos. Tomemos el ejemplo de un Supermercado donde los clientes pueden comprar variedad de artículos. Usualmente, hay un patrón en lo que los clientes compran. Por ejemplo, las madres con bebés compran productos para bebés, como leche y pañales. Las damiselas pueden comprar artículos de maquillaje, mientras que los solteros pueden comprar cervezas y papas fritas, etc. En resumen, las transacciones implican un patrón. Se pueden generar más ganancias si se puede identificar la relación entre los artículos comprados en diferentes transacciones.

Supongamos que tenemos un registro de 1 mil transacciones de clientes, y queremos encontrar el Soporte, la Confianza y el Levantamiento para dos elementos, p. hamburguesas y ketchup. De las mil transacciones, 100 contienen ketchup, mientras que 150 contienen una hamburguesa. De las 150 transacciones en las que se compra una hamburguesa, 50 transacciones también contienen ketchup. Usando esta información, queremos encontrar el soporte, la confianza y la sustentación. Apoyo

La confianza se refiere a la probabilidad de que un artículo B también se compre si se compra el artículo A. Se puede calcular al encontrar el número de transacciones donde A y B se compran juntas, dividido por el número total de transacciones donde se compra A. Matemáticamente, se puede representar como: Confianza (A → B) = (Transacciones que contienen ambos (A y B)) / (Transacciones que contienen A)

Volviendo a nuestro problema, tuvimos 50 transacciones en las que se compraron Burger y Ketchup juntos. Mientras que en 150 transacciones, se compran hamburguesas. Entonces, podemos encontrar la probabilidad de comprar ketchup cuando se compra una hamburguesa puede representarse como confianza de Burger:> Ketchup y se puede escribir matemáticamente como: Confianza (Burger → Ketchup) = (Transacciones que contienen ambos (Burger y Ketchup)) / (Transacciones que contienen A)

Lift básicamente nos dice que la probabilidad de comprar una hamburguesa y una salsa de tomate juntas es 3.33 veces mayor que la probabilidad de simplemente comprar ketchup. Un Levante de 1 significa que no hay asociación entre los productos A y B. Elevación superior a 1 significa que los productos A y B tienen más probabilidades de comprarse juntos. Finalmente, Lift de menos de 1 se refiere al caso en que es poco probable que se compren dos productos juntos. Pasos implicados en Algoritmo Apriori

Para grandes conjuntos de datos, puede haber cientos de elementos en cientos de miles de transacciones. El algoritmo Apriori intenta extraer reglas para cada posible combinación de elementos. Por ejemplo, Lift se puede calcular para el artículo 1 y el elemento 2, artículo 1 y artículo 3, artículo 1 y artículo 4 y luego artículo 2 y artículo 3, elemento 2 y artículo 4 y luego combinaciones de elementos, p. ítem 1, ítem 2 y ítem 3; de manera similar, el ítem 1, ítem 2 y el ítem 4, y así sucesivamente.

Un fragmento del conjunto de datos se muestra en la captura de pantalla anterior. Si observa cuidadosamente los datos, podemos ver que el encabezado es en realidad la primera transacción. Cada fila corresponde a una transacción y cada columna corresponde a un artículo comprado en esa transacción específica. El NaN nos dice que el artículo representado por la columna no se compró en esa transacción específica.

los A priori La biblioteca que vamos a usar requiere que nuestro conjunto de datos esté en forma de una lista de listas, donde el conjunto de datos completo es una gran lista y cada transacción en el conjunto de datos es una lista interna dentro de la gran lista externa. Actualmente tenemos datos en forma de un marco de datos de pandas. Para convertir nuestro dataframe de pandas en una lista de listas, ejecute el siguiente script: records = []

La clase apriori requiere que algunos valores de parámetros funcionen. El primer parámetro es la lista de la lista desde la que desea extraer las reglas. El segundo parámetro es el parámetro min_support. Este parámetro se utiliza para seleccionar los elementos con valores de soporte mayores que el valor especificado por el parámetro. A continuación, el parámetro min_confidence filtra aquellas reglas que tienen una confianza mayor que el umbral de confianza especificado por el parámetro. De forma similar, el parámetro min_lift especifica el valor de elevación mínimo para las reglas de lista corta. Finalmente, el parámetro min_length especifica el número mínimo de elementos que desea en sus reglas.

Supongamos que queremos reglas solo para aquellos artículos que se compran al menos 5 veces al día, o 7 x 5 = 35 veces en una semana, ya que nuestro conjunto de datos es para un período de una semana. El soporte para esos artículos se puede calcular como 35/7500 = 0.0045. La confianza mínima para las reglas es 20% o 0.2. Del mismo modo, especificamos el valor para lift como 3 y finalmente min_length es 2, ya que queremos al menos dos productos en nuestras reglas. En su mayoría, estos valores se eligen arbitrariamente, por lo que puede jugar con estos valores y ver qué diferencia hace en las reglas que obtiene de vuelta.

Por ejemplo, desde el primer artículo, podemos ver que la crema ligera y el pollo son comúnmente comprado juntos. Esto tiene sentido ya que las personas que compran crema ligera tienen cuidado con lo que comen, por lo tanto, es más probable que compren pollo, es decir, carne blanca en lugar de carne roja, es decir carne de res. O esto podría significar que crema ligera se usa comúnmente en recetas de pollo.

El valor de soporte para el primer regla es 0.0045. Este número se calcula dividiendo el número de transacciones que contienen crema ligera dividido por el número total de transacciones. El nivel de confianza para la regla es 0.2905 que muestra que de todas las transacciones que contienen crema ligera, el 29.05% de las transacciones también contienen pollo. Finalmente, el aumento de 4.84 nos dice que el pollo tiene 4,84 veces más probabilidades de ser comprado por los clientes que compran crema ligera en comparación con la probabilidad de venta de pollo por defecto.

Ya hemos discutido la primera regla. Discutamos ahora la segunda regla. La segunda regla establece que la salsa de crema de champiñones y el escalope se compran con frecuencia. El soporte para la salsa de crema de champiñones es 0.0057. La confianza para esta regla es 0.3006, lo que significa que de todas las transacciones que contienen hongos, el 30.06% de las transacciones probablemente también contengan escalope. Finalmente, el levantamiento de 3.79 muestra que el escalope tiene 3.79 más probabilidades de ser comprado por los clientes que compran salsa de champiñones, en comparación con su venta predeterminada. Conclusión

Los algoritmos de minería de reglas de asociación como Apriori son muy útiles para encontrar asociaciones simples entre nuestros elementos de datos. Son fáciles de implementar y tienen una alta capacidad de explicación. Sin embargo, para obtener información más avanzada, como las utilizadas por Google o Amazon, etc., se utilizan algoritmos más complejos, como los sistemas de recomendación. Sin embargo, probablemente pueda ver que este método es una forma muy simple de obtener asociaciones básicas si eso es todo lo que necesita su caso de uso.

banner