保存不带数据集的scikit学习模型



我用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数据格式。

最新更新