Flask API 提供 scikit-learn 预测模型

Scikit-learn 是一个直观且功能强大的 Python 机器学习库,它使许多模型的训练和验证变得相当容易。 Scikit-learn 模型可以被持久化(腌制)以避免每次使用时都重新训练模型。 您可以使用 Flask 创建一个 API,该 API 可以使用 pickled 模型根据一组输入变量提供预测。

在我们进入 Flask 之前,重要的是要指出 scikit-learn 不处理分类变量和缺失值。 分类变量需要编码为数值。 通常使用 OneHotEncoder (OHE) 或 LabelEncoder 转换分类变量。 LabelEncoder 为每个分类值分配一个整数,并将原始变量转换为新变量,并用对应的整数替换分类变量。 这种方法的问题在于,名义变量被有效地转换为有序变量,这可能会欺骗模型认为顺序是有意义的。 另一方面,OHE 不会遇到这个问题,但是它往往会增加转换变量的数量,因为为分类变量的每个值都创建了一个新变量。

关于 LabelEncoder 需要了解的一件事是,转换将根据变量中分类值的数量而变化。 假设您有一个具有“黄金”和“白金”值的“订阅”变量。 LabelEncoder 将分别将这些映射到 0 和 1。 现在,如果您将值“免费”添加到组合中,则分配将更改(免费编码为 0,黄金编码为 1,白金编码为 2)。 因此,在预测时保留原始 LabelEncoder 以进行转换非常重要。

加载数据源 Python 脚本

替换和迭代分类变量 Python 脚本

OneHotEncoder 分类变量 Python 脚本

转换数据源 Python 脚本

使用 Flask 提供模型

导入库 Python 脚本

导入模型和创建输入端点 Python 脚本

源代码

详情参阅 - 亚图跨际

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值