Gói arules trong R sử dụng giao dịch của lớp. Vì vậy, để sử dụng chức năng apriori()
Tôi cần phải chuyển đổi dữ liệu hiện có của mình. Tôi đã có Ma trận với 2 cột và khoảng 1.6mm hàng và cố gắng chuyển đổi dữ liệu như sau:Dữ liệu lớn chuyển thành "giao dịch" từ gói gói
transaction_data <- as(split(original_data[,"id"], original_data[,"type"]), "transactions")
trong đó original_data là ma trận dữ liệu của tôi. Vì số lượng dữ liệu tôi đã sử dụng máy AWS Amazon lớn nhất với RAM 64 GB. Sau một thời gian tôi nhận được
dẫn vector vượt quá giới hạn độ dài vector trong 'AnswerType'
Các sử dụng bộ nhớ của máy vẫn 'chỉ' ở 60%. Đây có phải là giới hạn dựa trên R không? Có cách nào để làm việc xung quanh điều này khác hơn là sử dụng lấy mẫu? Khi chỉ sử dụng 1/4 dữ liệu, phép biến đổi hoạt động tốt.
Chỉnh sửa: Như đã chỉ ra, một trong các biến là yếu tố thay vì ký tự. Sau khi thay đổi quá trình chuyển đổi đã được xử lý nhanh chóng và chính xác.
Tôi chơi xung quanh với nó nhiều hơn một chút, và khi tôi giảm số lượng dữ liệu một chút, tôi nhận được lỗi 'Lỗi trong unique.default (...) chiều dài 547601298 là quá lớn cho hashing' Rõ ràng một số hàm 'MKsetup()' trong mã Hệ thống của R, trong tệp unique.c ngăn các vectơ vượt quá một độ dài nhất định. – Marco
Bạn có thể đăng kết quả của 'str (original_data)'? Nó sẽ là tốt để biết nếu có một số vấn đề phát sinh trong dữ liệu. – Iterator
Bạn có thể tạo giả mạo nhưng ví dụ đại diện không? –