Calculate memory usage of RandomForestClassifier and IsolationForest

269 Views Asked by At

I'd like to evaluate how many memory is used up by both

sklearn.ensemble.IsolationForest
sklearn.ensemble.RandomForestClassifier

But

sys.sizeof(my_isolation_forest_model)
sys.sizeof(my_random_forest_classifier_model)

always returns a value of 48, no matter how the model is fit.

Can you help me find out how much memory space are my models using?

1

There are 1 best solutions below

0
user1808924 On BEST ANSWER

Scikit-Learn trees are represented using Cython data structures, which do not interact with Python's sizeof function in a meaningful way - you're just seeing the size of pointer(s).

As a workaround, you can dump these Cython data structures into a Pickle file (or any alternative serialization protocol/data format), and then measure the size of this file. The data from Cython data structures will all be there.

When using Pickle, be sure to disable any data compression!