Фреймворк машинного обучения на Python на базе scikit-learn и pandas, с модулями для торговых систем и спортивных прогнозов.
nok/sklearn-porter
Инструмент для транспиляции обученных моделей и трансформеров scikit-learn в код на C, C#, Go, Java, JavaScript, PHP или Ruby.
- Звёзды
- 1,304
- Форки
- 168
- Открытые issues
- 4
- Последний коммит
- позавчера
Что это?
sklearn-porter принимает обученный estimator, transformer или pipeline из scikit-learn и генерирует исходный код на C, C#, Go, Java, JavaScript, PHP или Ruby. Сгенерированный код может выдавать предсказания без среды выполнения Python — например, на встроенных устройствах, в браузерах или в существующих приложениях на других языках.
Проект поддерживает широкий набор классификаторов, регрессоров, детекторов выбросов и трансформеров для предобработки или отбора признаков, включая ансамбли деревьев, линейные модели, SVM и нейронные сети. Перенесённые estimator должны выдавать те же предсказания, что и исходные модели, а перенесённые трансформеры — преобразовывать признаки тем же образом.
Данные модели можно встроить в код, экспортировать в отдельный JSON-файл или включить в логику в виде вложенных операторов if-else. Пакет предоставляет Python API, инструмент командной строки `porter` и вспомогательную функцию `test`, которая сравнивает результаты перенесённой модели с исходной. Для установки требуются Python 3.11+ и scikit-learn 1.8+.
Ключевые возможности
- 01Транспилирует классификаторы, регрессоры и детекторы выбросов на семь языков.
- 02Переносит распространённые трансформеры и pipeline для предобработки и отбора признаков.
- 03Предлагает шаблоны со встроенными, экспортированными и объединёнными данными модели.
- 04Предоставляет Python API и интерфейс командной строки `porter`.
- 05Включает функцию тестирования, которая сравнивает предсказания перенесённой модели с исходной.
Сценарии использования
- Запуск обученной модели scikit-learn на встроенном устройстве без Python.
- Добавление предсказаний модели в бэкенд на Java, Go или PHP без отдельного сервиса Python.
- Запуск классификатора в браузере с помощью JavaScript.
Быстрый старт
- 1
Установите пакет с помощью uv
uv add sklearn-porter - 2
Или установите его с помощью pip
pip install sklearn-porter - 3
Обучите модель scikit-learn в Python и перенесите её с помощью port(clf, language='js')
Что важно знать
- Требуются Python 3.11 или новее и scikit-learn 1.8 или новее.
- Поддерживается только фиксированный список оценивателей и преобразователей scikit-learn.
В подборках
Темы
Частые вопросы
- Что такое sklearn-porter?
- Инструмент для транспиляции обученных моделей и трансформеров scikit-learn в код на C, C#, Go, Java, JavaScript, PHP или Ruby. sklearn-porter принимает обученный estimator, transformer или pipeline из scikit-learn и генерирует исходный код на C, C#, Go, Java, JavaScript, PHP или Ruby. Сгенерированный код может выдавать предсказания без среды выполнения Python — например, на встроенных устройствах, в браузерах или в существующих приложениях на других языках.
- sklearn-porter можно использовать бесплатно? Какая у него лицензия?
- sklearn-porter распространяется с открытым исходным кодом под лицензией BSD-3-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- sklearn-porter всё ещё поддерживается?
- Активно поддерживается. Последний коммит в sklearn-porter — 5 нояб. 2026 г..
- Для чего можно использовать sklearn-porter?
- Запуск обученной модели scikit-learn на встроенном устройстве без Python. Добавление предсказаний модели в бэкенд на Java, Go или PHP без отдельного сервиса Python. Запуск классификатора в браузере с помощью JavaScript.
- Как установить sklearn-porter?
- Установите пакет с помощью uv: uv add sklearn-porter Или установите его с помощью pip: pip install sklearn-porter Обучите модель scikit-learn в Python и перенесите её с помощью port(clf, language='js')
- Где скачать sklearn-porter?
- Исходный код и инструкции по установке — на GitHub: https://github.com/nok/sklearn-porter
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Python-пакет для быстрого создания и публикации веб-демо и интерфейсов для моделей машинного обучения, API и любых Python-функций.
12-недельный курс для начинающих по классическому машинному обучению: 26 уроков, Python и R, тесты и задания на основе Scikit-learn.
Orange — инструмент визуального программирования с открытым исходным кодом для интеллектуального анализа данных, аналитики и визуализации на основе рабочих процессов с перетаскиванием элементов.
Опенсорсный LLM-агент, который пишет, запускает, отлаживает и дорабатывает код для машинного обучения с помощью поиска по дереву, пока не оптимизирует заданную пользователем метрику.
Стек PyTorch для инференса на устройствах: запуск экспортированных моделей на телефонах, ноутбуках, в браузерах и на микроконтроллерах.