请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于生产环境下,调用 sklearn 接口的疑问

老师好,本课程使用了大量sklearn的例子,但有时候,如果我想把他放在生产环境中。
即,我想从外部API,来调用已经训练好的模型,请问您知道怎么操作吗?
如果该问题,不属于本课程范围,可忽略。

正在回答 回答被采纳积分+3

1回答

liuyubobobo 2019-07-01 11:10:37

如果你的“外部API”本身就是Python的,就非常简单了,可以喝sklearn的模型无缝对接。使用pickle也可以方便的保存和调取训练好的模型。


如果不使用Python,可以规定数据格式,基于这种数据格式做接口,进行调用。比如外部的需要测试的数据以json的形式传给python;你的模型的预测结果再以json形式传出去。


另外,机器学习的模型有一种保存标准,称为PMML。Python训练的模型可以保存成PMML(https://github.com/jpmml/sklearn2pmml

其他语言也有很多基于PMML的机器学习框架。比如基于Java语言的JPMML,可以参考这里。https://github.com/jpmml/jpmml-evaluator 


加油!:)

0 回复 有任何疑惑可以回复我~
  • 提问者 lemonlxn #1
    嗯嗯,sklearn中支持 保存或读取 pickle化的 模型文件,我也在该地址看到答案:https://blog.csdn.net/creator180/article/details/83511325
    
    当然,我也可以写个Python函数,将指定格式转为矩阵,然后再传入到模型中。
    
    不过,我还有小问题。数据不断累积,以往的模型可能不太适合最新的数据。如果采用手动的方式,我会定期去 fit 然后 predict。那sklearn有没有支持定期自动 fit predict方式,去优化自身呢?
    回复 有任何疑惑可以回复我~ 2019-07-01 13:13:38
  • liuyubobobo 回复 提问者 lemonlxn #2
    据我所知没有,你需要手动实现在线学习算法:)
    回复 有任何疑惑可以回复我~ 2019-07-01 13:15:00
  • 提问者 lemonlxn 回复 liuyubobobo #3
    哈哈,这样啊。那我打算写个while循环,让它定期fit predict 哈哈哈哈哈
    回复 有任何疑惑可以回复我~ 2019-07-01 13:18:15
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信