如何在sklearn中计算.fit()训练模型的实际大小?

时间:2017-08-09 23:00:08

标签: python machine-learning scikit-learn

是否可以在scikit-learn中计算模型的大小(比如一个随机森林分类器)?

例如:

  from sklearn.ensemble import RandomForestClassifier
  clf = RandomForestClassifier(n_jobs=-1, n_estimators=10000, min_samples_leaf=50)
  clf.fit(self.X_train, self.y_train)

我可以确定 clf 的大小吗?

2 个答案:

答案 0 :(得分:4)

与Nijan的答案一样,您也可以使用泡菜来保存模型,而不必保存模型:

import pickle
import sys

p = pickle.dumps(clf)
print(sys.getsizeof(p))

它将以字节为单位返回大小。

答案 1 :(得分:1)

一种方法是使用joblib.dump将模型转储到文件中,然后计算文件大小。

根据前面的示例,您将使用:

  

joblib.dump(clf,fname)
  os.path.getsize(fname)