Gói RandomForest của R không thể xử lý hệ số với hơn 32 cấp độ. Khi được đưa ra hơn 32 cấp độ, nó sẽ phát ra một thông báo lỗi:
Không thể xử lý các dự đoán phân loại với hơn 32 loại.
Nhưng dữ liệu tôi có một số yếu tố. Một số trong số họ có hơn 1000 cấp độ và một số trong số họ có hơn 100 cấp độ. Nó thậm chí còn có 'trạng thái' của các quốc gia thống nhất là 52.
Vì vậy, đây là câu hỏi của tôi.
Tại sao có giới hạn như vậy? RandomForest từ chối chạy ngay cả đối với trường hợp đơn giản.
> d <- data.frame(x=factor(1:50), y=1:50) > randomForest(y ~ x, data=d) Error in randomForest.default(m, y, ...) : Can not handle categorical predictors with more than 32 categories.
Nếu nó chỉ đơn giản là do giới hạn bộ nhớ, làm thế nào scikit có thể tìm hiểu RandomForeestRegressor với hơn 32 cấp độ?
Cách tốt nhất để xử lý vấn đề này là gì? Giả sử rằng tôi có các biến độc lập X1, X2, ..., X50 và Y là biến phụ thuộc. Và giả sử rằng X1, X2 và X3 có hơn 32 cấp độ. Tôi nên làm gì?
Điều tôi nghĩ là đang chạy thuật toán phân cụm cho từng X1, X2 và X3 trong đó khoảng cách được xác định là khác nhau trong Y. Tôi sẽ chạy ba cụm vì có ba biến có vấn đề. Và trong mỗi cụm, tôi ước tôi có thể tìm thấy các cấp độ tương tự. Và tôi sẽ hợp nhất chúng.
Làm thế nào để âm thanh này?