我用sklearn库训练了一个RandomForestClassifier模型,并用joblib保存了它。现在,我有一个将近1GB的joblib文件,我正在Nginx/Flask/Guincorn堆栈上部署它。问题是我必须找到一种有效的方法来从文件加载这个模型并为API请求提供服务。在进行时,是否可以在没有数据集的情况下保存模型
joblib.dump(model, '/kaggle/working/mymodel.joblib')
print("random classifier saved")
Scikit-Learn估计器的持久表示不包括任何训练数据。
谈到决策树及其集合(如随机森林(,则估计器对象的大小与决策树的深度成二次方比例(即max_depth
参数(。这是因为决策树配置是使用(max_depth, max_depth)
矩阵(float64
数据类型(表示的。
可以通过限制max_depth
参数来缩小随机林对象。如果你担心预测性能的潜在损失,你可能会增加子估计器的数量。
从长远来看,您可能希望探索Scikit Learn模型的替代表示。例如,使用SkLearn2PMML包将它们转换为PMML数据格式。