我一直在寻找这些信息,但是在任何地方都找不到,所以这是我的镜头。

我是Python 2.7的初学者,我学习了一个模型,感谢cPickle将其保存,但是现在我想知道是否可以从另一台设备(没有sklearn库)加载它,然后使用model.predict (X)。

谢谢您的回答

PS:当然,我将模型以pkl格式发送到了新设备

最佳答案

就像其他人所说的那样,如果没有安装sklearn,则无法进行脱酸处理。这就是Python泡菜的工作方式。在较低的级别上,当您腌制某些东西时,您并没有为使用的所有对象/类保存实际的源代码-腌制只是保存对象的类/模块名称。因此,您需要使用相同的环境来释放数据。

https://github.com/nok/sklearn-porter允许将scikit学习模型的有限子集导出为其他语言。它通过导出sklearn估计量的参数,然后以目标语言提供“预测”功能的实现来实现。预测例程的实现比大多数模型的训练要简单得多,因此是可行的。如果绝对需要,您可以手动执行相同操作,而sklearn-porter不支持您的模型。

但是通常仅需确保环境兼容就更容易,即已安装sklearn并匹配软件包的版本。

10-06 14:42