如何构建真实世界可用的ML模型?
消息来源:baojiabao.com 作者: 发布时间:2026-05-06

Python 作为当前机器学习中使用最多的一门编程语言,有很多对应的机器学习库,最常用的莫过于 scikit-learn 了。本文我们介绍下如何使用sklearn进行实时预测。先来看下典型的机器学习工作流。
绿色方框圈出来的表示将数据切分为训练集和测试集。
红色方框的上半部分表示对训练数据进行特征处理,然后再对处理后的数据进行训练,生成 model。
红色方框的下半部分表示对测试数据进行特征处理,然后使用训练得到的 model 进行预测。
红色方框的右下角部分表示对模型进行评估,评估可以分为离线和在线。
典型的 ML 模型
介绍完了典型的机器学习工作流了之后,来看下典型的 ML 模型。
上面的模型对鸢尾花数据进行训练生成一个模型,之后该模型对测试数据进行预测,预测结果为每条数据属于哪种类别。
模型的保存和载入
上面我们已经训练生成了模型,但是如果我们程序关闭后,保存在内存中的模型对象也会随之消失,也就是说下次如果我们想要使用模型预测时,需要重新进行训练。如何解决这个问题呢?
很简单,既然内存中的对象会随着程序的关闭而消失,我们能不能将训练好的模型保存成文件。如果需要预测的话,直接从文件中载入生成模型呢?答案是可以的。
sklearn 提供了 joblib 模型,能够实现完成模型的保存和载入。
构建实时预测
前面说到的运行方式是在离线环境中运行,在真实世界中,我们很多时候需要在线实时预测。一种解决方案是将模型服务化,在我们这个场景就是,我告诉你一个鸢尾花的 sepal_length, sepal_width, petal_length, petal_width 之后,你能够快速告诉我这个鸢尾花的类型,借助 flask 等 web 框架,开发一个 web service,实现实时预测。
因为依赖于 flask 框架,没有安装的需要安装下:
创建一个 ml_web.py 文件,内容如下:
在命令行启动它:
在 PostMan(也可以在浏览器中打开) 中打开 http://127.0.0.1:8000/ml/predict_iris ,得到以下结果:
可以看到,这里提示我们输入 sepal_length, sepal_width, petal_length, petal_width 参数,所以我们需要添加上参数重新构造一个请求 url:http://127.0.0.1:8000/ml/predict_iris?sepal_length=10&sepal_width=1&petal_length=3&petal_width=2。
再次请求得到的结果如下:
可以看到,模型返回的结果为 2,也就是说模型认为这个鸢尾花的类别是 2。
总结
在真实世界中,我们经常需要将模型进行服务化。这里我们借助 flask 框架,将 sklearn 训练后生成的模型文件载入到内存中,针对每次请求传入不同的特征来实时返回不同的预测结果。
作者:1or0,专注于机器学习研究。
声明:本文为公众号 AI派 投稿,版权归对方所有。
相关文章
B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09
科大讯飞同传同声翻译软件造假 浮夸不能只罚酒三杯2023-02-17 18:46:15
华为mate20pro系列手机首发上市日期价格,屏幕和电池参数配置对比2023-02-17 18:42:49
小米MAX4手机上市日期首发价格 骁龙720打造大屏标准2023-02-17 18:37:22
武汉弘芯遣散!结局是总投资1280亿项目烂尾 光刻机抵押换钱2023-02-16 15:53:18
谷歌GoogleDrive网云盘下载改名“GoogleOne” 容量提升价格优惠2023-02-16 13:34:45
巴斯夫将裁员6000人 众化工巨头裁员潮再度引发关注2023-02-13 16:49:06
人手不足 韵达快递客服回应大量包裹派送异常没有收到2023-02-07 15:25:20
资本微念与李子柒销声匿迹谁赢? 微念公司退出子柒文化股东2023-02-02 09:24:38
三星GalaxyS8 S9 S10系统恢复出厂设置一直卡在正在检查更新怎么办2023-01-24 10:10:02
华为Mate50 RS保时捷最新款顶级手机2022多少钱?1.2万元售价外观图片吊打iPhone142023-01-06 20:27:09
芯片常见的CPU芯片封装方式 QFP和QFN封装的区别?2022-12-02 17:25:17
华为暂缓招聘停止社招了吗?官方回应来了2022-11-19 11:53:50
热血江湖手游:长枪铁甲 刚猛热血 正派枪客全攻略技能介绍大全2022-11-16 16:59:09
东京把玩了尼康微单相机Z7 尼康Z7现在卖多少钱?2022-10-22 15:21:55
苹果iPhone手机灵动岛大热:安卓灵动岛App应用下载安装量超100万次2022-10-03 22:13:45
苹果美版iPhone可以在中国保修 从哪看怎么查询iPhone的生产日期?2022-09-22 10:00:07










