El paquete arules en R utiliza la clase 'transacciones'. Entonces, para usar la función apriori()
necesito convertir mis datos existentes. Tengo una matriz con 2 columnas y aproximadamente 1,6 mm filas y trató de convertir los datos de la siguiente manera:Big Data se convierte en "transacciones" del paquete arules
transaction_data <- as(split(original_data[,"id"], original_data[,"type"]), "transactions")
donde original_data es mi matriz de datos. Debido a la cantidad de datos, utilicé la máquina AWS Amazon más grande con 64 gb de RAM. Después de un tiempo consigo
vector resultante excede el límite de longitud del vector en 'AnswerType'
el uso de memoria de la máquina era todavía 'sólo' en el 60%. ¿Es esta una limitación basada en R? ¿Hay alguna forma de evitar esto que no sea el muestreo? Cuando solo usamos 1/4 de los datos, la transformación funcionó bien.
Editar: Como se señaló, una de las variables fue un factor en lugar de carácter. Después de cambiar la transformación, se procesó de forma rápida y correcta.
Jugué con eso un poco más, y cuando reduzco la cantidad de datos por un bit, obtengo el error 'Error en unique.default (...) longitud 547601298 es demasiado grande para hash' Aparentemente, algunas funciones 'MKsetup()' en el código del Sistema de R, en el archivo unique.c previenen que los vectores excedan una determinada longitud. – Marco
¿Puedes publicar los resultados de 'str (original_data)'? Sería bueno saber si surge algún problema en los datos. – Iterator
¿Se puede generar un ejemplo falso pero representativo? –