Khi được lưu vào đĩa bằng cPickle: /programming/20662023/save-python-random-forest-model-to-file , khu rừng ngẫu nhiên của tôi là 6,57 GB.
with open('rforest.cpickle', 'wb') as f:
cPickle.dump(rforest, f)
Tôi muốn sử dụng chính khu rừng để đưa ra dự đoán thông qua API python được lưu trữ trên Heroku - tất nhiên, kích thước tệp đó là không thể chấp nhận được.
Tại sao kích thước tập tin rất lớn? Có 500 cây trong đoàn - tất cả những gì tôi muốn lưu là những cây đã hoàn thành, vì chúng sẽ được sử dụng làm dự đoán. Đây có phải là các nút và cạnh thực tế tạo ra mỗi trong số 500 cây cần gần 7 GB dung lượng trên đĩa không?
Tôi đã sử dụng ứng dụng ngẫu nhiên của scikitlearn:
def buildForest(self, X_train, y_train):
rf = RandomForestRegressor(n_estimators=500, verbose=1)
rf.fit_transform(X_train, y_train)
return rf
Ngoài ra, nếu có một cách tốt hơn để làm cho mô hình của tôi có thể truy cập được thông qua API, thì đó cũng là điều tốt để biết.
Cập nhật: Tôi đã giảm xuống còn 100 cây mà không mất nhiều sức mạnh dự đoán, và vì vậy bây giờ kích thước đã lưu là 1,3 GB - dễ quản lý hơn nhiều, nhưng vẫn không tuyệt vời.