基于 scikit-learn 和 pandas 的 Python 机器学习框架,内置市场交易与体育赛事预测模块。
nok/sklearn-porter
一个将训练好的 scikit-learn 模型和转换器转译为 C、Go、Java、JavaScript 等语言代码的 Python 工具。
- Star
- 1,304
- Fork
- 168
- 未关闭 Issue
- 4
- 最近提交
- 前天
这是什么?
sklearn-porter 可以把训练好的 scikit-learn 估计器、转换器或流水线转译为 C、C#、Go、Java、JavaScript、PHP 或 Ruby 代码。生成的代码无需 Python 运行环境即可做预测,适合嵌入式设备、浏览器或已有的其他语言应用。
项目支持多种分类器、回归器、异常检测器,以及预处理和特征选择转换器,涵盖树集成、线性模型、SVM 和神经网络等。移植后的估计器目标是与原模型给出相同的预测结果。
模型数据可以直接嵌入代码、导出为独立的 JSON 文件,或编译为嵌套 if-else 等逻辑。项目提供 Python 接口和 `porter` 命令行工具,并带有 `test` 函数用于对比移植代码与原模型的输出。需要 Python 3.11 及以上与 scikit-learn 1.8 及以上版本。
核心功能
- 01将分类器、回归器和异常检测器转译为七种语言的代码。
- 02支持常见预处理、特征选择转换器以及流水线。
- 03提供 attached、exported、combined 三种模型数据存储模板。
- 04同时提供 Python 接口和 `porter` 命令行工具。
- 05内置测试函数,可对比移植代码与原模型的预测结果。
适用场景
- 在没有 Python 的嵌入式设备上运行已训练的 scikit-learn 模型。
- 在 Java、Go 或 PHP 后端中直接调用模型,无需额外部署 Python 服务。
- 在浏览器中用 JavaScript 运行分类模型。
快速上手
- 1
使用 uv 安装该包
uv add sklearn-porter - 2
或使用 pip 安装
pip install sklearn-porter - 3
在 Python 中训练 scikit-learn 模型,并用 port(clf, language='js') 转译
使用前须知
- 需要 Python 3.11 或更高版本以及 scikit-learn 1.8 或更高版本。
- 仅支持固定列表中的 scikit-learn 估计器和转换器。
收录于专题
标签
常见问题
- sklearn-porter 是什么?
- 一个将训练好的 scikit-learn 模型和转换器转译为 C、Go、Java、JavaScript 等语言代码的 Python 工具。 sklearn-porter 可以把训练好的 scikit-learn 估计器、转换器或流水线转译为 C、C#、Go、Java、JavaScript、PHP 或 Ruby 代码。生成的代码无需 Python 运行环境即可做预测,适合嵌入式设备、浏览器或已有的其他语言应用。
- sklearn-porter 可以免费使用吗?用的什么许可证?
- sklearn-porter 以 BSD-3-Clause 许可证开源。用于商业产品前,请先确认许可证条款。
- sklearn-porter 还在维护吗?
- 活跃维护中。sklearn-porter 最近一次提交是在 2026年11月5日。
- sklearn-porter 适合用来做什么?
- 在没有 Python 的嵌入式设备上运行已训练的 scikit-learn 模型。 在 Java、Go 或 PHP 后端中直接调用模型,无需额外部署 Python 服务。 在浏览器中用 JavaScript 运行分类模型。
- sklearn-porter 怎么安装和运行?
- 使用 uv 安装该包: uv add sklearn-porter 或使用 pip 安装: pip install sklearn-porter 在 Python 中训练 scikit-learn 模型,并用 port(clf, language='js') 转译
- 在哪里获取 sklearn-porter?
- 源代码和安装说明在 GitHub 上:https://github.com/nok/sklearn-porter
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用 Python 快速为机器学习模型、API 或任意函数搭建并分享 Web 演示界面的开源库。
一套为期 12 周、共 26 课的经典机器学习入门课程,基于 Scikit-learn,提供 Python 和 R 版本。
Orange 是一款开源的可视化数据挖掘与分析工具,通过拖拽式工作流完成数据处理与建模。
开源 LLM 智能体,通过树搜索自动编写、调试并迭代机器学习代码,直到优化用户指定的指标。
PyTorch 官方的端侧推理框架,用于在手机、笔记本、浏览器和微控制器上运行模型。