Tôi đang làm việc trên cơ sở dữ liệu với khoảng 250000 quan sát và 50 dự đoán (một số là yếu tố để cuối cùng khoảng 100 tính năng) và tôi gặp sự cố khi sử dụng hàm blackboost() (từ mboost gói) cung cấp cho tôi lỗi phân bổ bộ nhớ.Sự khác biệt về sử dụng bộ nhớ giữa gbm và blackboost
Đồng thời, gbm() không có vấn đề gì để xử lý lượng dữ liệu. Theo tài liệu, thuật toán được sử dụng bởi blackboost giống như gbm. ("http://cran.r-project.org/web/packages/mboost/mboost.pdf").
Đó là chưa rõ lý do tại sao một chức năng có thể quản lý cơ sở dữ liệu và không phải là người khác, dự đoán của tôi:
- GBM có một chiến lược mẫu phụ (theo quy định của "bag.fraction" lập luận) mà doesn' t dường như được thực hiện trong blackboost và ảnh hưởng đến việc sử dụng bộ nhớ.
- GBM sử dụng chức năng Toán để xây dựng cây và blackboost sử dụng ctree mà dường như có một bộ nhớ khổng lồ (How to remove training data from party:::ctree models?)
Tôi muốn sử dụng AUC() chức năng mất sẵn trong mboost nhưng không phải trong GBM , vì vậy tôi sẽ quan tâm đến bất kỳ đề xuất nào để khắc phục giới hạn sử dụng bộ nhớ blackboost.
Một câu hỏi bổ sung, khi tôi cố gắng giảm số lượng các biến trong mô hình của tôi, tôi nhận được lỗi mới này từ blackboost:
Error in matrix(f[ind1], nrow = n0, ncol = n1, byrow = TRUE) : the length of the data [107324] is not a multiple of the number of lines [152107]
Có vẻ như xuất phát từ chức năng Gradient AUC.
Cảm ơn sự giúp đỡ của bạn.