Python 序列化或保存随机林分类器模型对象以在生产环境中使用的最佳方法

Python 序列化或保存随机林分类器模型对象以在生产环境中使用的最佳方法,python,serialization,deserialization,pickle,random-forest,Python,Serialization,Deserialization,Pickle,Random Forest,我已经在1200万条记录上训练了我的RF多类分类器。通过pickle保存时,基本模型的容量高达60GB。在对模型进行微调(最终参数不影响精度和pickle大小)后,pickle大小下降到5GB,这也是巨大的 我尝试了很多保存模型的方法,比如pickle、joblib、dill、cpickle、jsonpickle和一些压缩方法(通过joblib保存,通过压缩方法保存,比如保存z或gzip文件)。 问题是,当我通过PICKLE或dill保存我的模型时,我得到的最小大小是5GB。虽然JOBLIB和压

我已经在1200万条记录上训练了我的RF多类分类器。通过pickle保存时,基本模型的容量高达60GB。在对模型进行微调(最终参数不影响精度和pickle大小)后,pickle大小下降到5GB,这也是巨大的

我尝试了很多保存模型的方法,比如pickle、joblib、dill、cpickle、jsonpickle和一些压缩方法(通过joblib保存,通过压缩方法保存,比如保存z或gzip文件)。 问题是,当我通过PICKLE或dill保存我的模型时,我得到的最小大小是5GB。虽然JOBLIB和压缩方法为我提供了1 gb的模型大小,但当模型文件作为Randomforest对象加载回来时,问题就出现了。RAM的内存超过16GB,这会导致内存错误


你知道我该怎么解决这个问题吗?有更好的模型保存方法吗?我正在使用python并使用scikit learn for RF模型。

谢谢,我已经使用了这些方法。这里的问题是,虽然我将pickle大小减少到了1gb(同时保存了林),但当我将其加载回去进行预测时,RAM的大小会超过16GB,这会导致内存错误。大小在这里不是什么大问题,但加载pickle文件时RAM的超调是。我已经通过调整模型参数使森林更轻而降低了很多精度,不能使森林更浅,因为它对精度有很大影响。很好!我真的很惊讶它的尺寸能长得这么快。对我来说,这就是直觉完全违背事实的地方。我觉得这里没有太多可以“修复”的问题/缺陷/效率低下。更多关于如何巧妙处理大额交易的信息。谢谢,我已经用过这些方法了。这里的问题是,虽然我将pickle大小减少到了1gb(同时保存了林),但当我将其加载回去进行预测时,RAM的大小会超过16GB,这会导致内存错误。大小在这里不是什么大问题,但加载pickle文件时RAM的超调是。我已经通过调整模型参数使森林更轻而降低了很多精度,不能使森林更浅,因为它对精度有很大影响。很好!我真的很惊讶它的尺寸能长得这么快。对我来说,这就是直觉完全违背事实的地方。我觉得这里没有太多可以“修复”的问题/缺陷/效率低下。更多关于如何巧妙处理大额交易的信息。