Связанные проекты#
Проекты, реализующие API оценщика scikit-learn, поощряются к использованию шаблон scikit-learn-contrib что способствует лучшим практикам тестирования и документирования оценщиков. scikit-learn-contrib GitHub организация также принимает качественные вклады репозиториев, соответствующих этому шаблону.
Ниже приведен список родственных проектов, расширений и пакетов для конкретных областей.
Совместимость и улучшения фреймворка#
Эти инструменты адаптируют scikit-learn для использования с другими технологиями или расширяют функциональность оценщиков scikit-learn.
Auto-ML
auto-sklearn Автоматизированный инструментарий машинного обучения и прямая замена для оценщика scikit-learn
autoviml Автоматическое построение нескольких моделей машинного обучения одной строкой кода. Разработано как более быстрый способ использования моделей scikit-learn без необходимости предварительной обработки данных.
TPOT Автоматизированный инструментарий машинного обучения, который оптимизирует серию операторов scikit-learn для создания конвейера машинного обучения, включая предобработчики данных и признаков, а также оценщики. Работает как прямая замена для оценщика scikit-learn.
Featuretools Фреймворк для автоматизированного проектирования признаков. Может использоваться для преобразования временных и реляционных наборов данных в матрицы признаков для машинного обучения.
EvalML Библиотека AutoML, которая строит, оптимизирует и оценивает конвейеры машинного обучения с использованием предметно-ориентированных целевых функций. Она объединяет несколько библиотек моделирования под одним API, а объекты, создаваемые EvalML, используют API, совместимый с sklearn.
MLJAR AutoML Пакет Python для AutoML на табличных данных с инженерией признаков, настройкой гиперпараметров, объяснениями и автоматической документацией.
Фреймворки для экспериментов и реестра моделей
MLFlow Открытая платформа для управления жизненным циклом машинного обучения, включая экспериментирование, воспроизводимость, развертывание и центральный реестр моделей.
Neptune Хранилище метаданных для MLOps, созданное для команд, которые проводят множество экспериментов. Оно предоставляет единое место для логирования, хранения, отображения, организации, сравнения и запроса всех метаданных построения моделей.
Sacred Инструмент для помощи в настройке, организации, логировании и воспроизведении экспериментов
Scikit-Learn Laboratory Командная оболочка вокруг scikit-learn, которая упрощает запуск экспериментов машинного обучения с несколькими алгоритмами и большими наборами признаков.
Инспекция и визуализация модели
dtreeviz Библиотека Python для визуализации деревьев решений и интерпретации моделей.
model-diagnostics Инструменты для диагностики и оценки (машинного обучения) моделей (в Python).
sklearn-evaluation Оценка моделей машинного обучения стала проще: графики, таблицы, HTML-отчеты, отслеживание экспериментов и анализ блокнотов Jupyter. Визуальный анализ, выбор моделей, оценка и диагностика.
yellowbrick Набор пользовательских визуализаторов matplotlib для оценщиков scikit-learn для поддержки визуального анализа признаков, выбора модели, оценки и диагностики.
Экспорт модели для продакшена
sklearn-onnx Сериализация многих конвейеров Scikit-learn в ONNX для обмена и предсказания.
skops.io Модель сохранения, более безопасная, чем pickle, которую можно использовать вместо pickle в большинстве распространенных случаев.
sklearn2pmml Сериализация широкого спектра оценщиков и преобразователей scikit-learn в PMML с помощью JPMML-SkLearn библиотека.
treelite Компилирует ансамблевые модели на основе деревьев в C-код для минимизации задержки предсказания.
emlearn Реализует scikit-learn оценки в C99 для встроенных устройств и микроконтроллеров. Поддерживает несколько моделей классификации, регрессии и обнаружения выбросов.
Пропускная способность модели
Intel(R) Extension for scikit-learn В основном на высокопроизводительном оборудовании Intel(R), ускоряет некоторые модели scikit-learn как для обучения, так и для вывода при определенных обстоятельствах. Этот проект поддерживается Intel(R), и разработчики scikit-learn не участвуют в разработке этого проекта. Также обратите внимание, что в некоторых случаях использование инструментов и оценщиков под
scikit-learn-intelexдаст разные результаты, чемscikit-learnсамого проекта. Если вы столкнетесь с проблемами при использовании этого проекта, убедитесь, что вы сообщаете о потенциальных проблемах в соответствующих репозиториях.
Интерфейс к R с геномными приложениями
BiocSklearn Предоставляет небольшое количество средств снижения размерности в качестве иллюстрации протокола basilisk для взаимодействия Python с R. Предназначено как отправная точка для более полного взаимодействия.
Другие оценщики и задачи#
Не всё подходит или достаточно зрело для основного проекта scikit-learn. Ниже приведены проекты, предоставляющие интерфейсы, аналогичные scikit-learn, для дополнительных алгоритмов обучения, инфраструктур и задач.
Временные ряды и прогнозирование
aeon A scikit-learn совместимый инструментарий для машинного обучения с временными рядами (форк sktime).
Darts Библиотека Python для удобного прогнозирования и обнаружения аномалий во временных рядах. Она содержит разнообразные модели, от классических, таких как ARIMA, до глубоких нейронных сетей. Модели прогнозирования можно использовать одинаково, с помощью функций fit() и predict(), аналогично scikit-learn.
sktime Совместимый с scikit-learn инструментарий для машинного обучения с временными рядами, включая классификацию/регрессию временных рядов и (контролируемое/панельное) прогнозирование.
skforecast Библиотека Python, которая упрощает использование регрессоров scikit-learn в качестве многошаговых прогнозистов. Она также работает с любым регрессором, совместимым с API scikit-learn.
tslearn Библиотека машинного обучения для временных рядов, которая предоставляет инструменты для предварительной обработки и извлечения признаков, а также специализированные модели для кластеризации, классификации и регрессии.
Градиентный (древесный) бустинг
Обратите внимание, что собственные современные оценщики градиентного бустинга scikit-learn
HistGradientBoostingClassifier и
HistGradientBoostingRegressor.
XGBoost XGBoost - это оптимизированная распределенная библиотека градиентного бустинга, разработанная для высокой эффективности, гибкости и портативности.
LightGBM LightGBM - это фреймворк градиентного бустинга, использующий алгоритмы обучения на основе деревьев. Он разработан для распределенной и эффективной работы.
Структурированное обучение
HMMLearn Реализация скрытых марковских моделей, которая ранее была частью scikit-learn.
pomegranate Вероятностное моделирование для Python с акцентом на скрытые марковские модели.
Глубокие нейронные сети и т.д.
skorch Совместимая с scikit-learn библиотека нейронных сетей, обёртывающая PyTorch.
scikeras предоставляет обертку вокруг Keras для взаимодействия с scikit-learn. SciKeras является преемником
tf.keras.wrappers.scikit_learn.
Federated Learning
Flower Дружелюбный фреймворк федеративного обучения с унифицированным подходом, который может объединять любую рабочую нагрузку, любую ML-библиотеку и любой язык программирования.
Машинное обучение с сохранением конфиденциальности
Concrete ML Фреймворк машинного обучения с сохранением конфиденциальности, построенный на основе Конкретный, с привязкой к традиционным ML-фреймворкам благодаря полностью гомоморфному шифрованию. API встроенных моделей Concrete ML очень близки к API scikit-learn.
Широкий охват
mlxtend Включает ряд дополнительных оценщиков, а также утилиты визуализации моделей.
scikit-lego Ряд совместимых с scikit-learn пользовательских преобразователей, моделей и метрик, ориентированных на решение практических задач в промышленности.
Другие регрессионные и классификационные
gplearn Генетическое программирование для задач символьной регрессии.
scikit-multilearn Многометочная классификация с фокусом на манипуляции пространством меток.
Декомпозиция и кластеризация
lda: Быстрая реализация латентного распределения Дирихле на Cython, которая использует Выборка по Гиббсу для выборки из истинного апостериорного распределения. (scikit-learn’s
LatentDirichletAllocationреализация использует вариационный вывод для выборки из приближенного распределения апостериорной модели темы.)kmodes Алгоритм кластеризации k-modes для категориальных данных и несколько его вариаций.
hdbscan Алгоритмы кластеризации HDBSCAN и Robust Single Linkage для устойчивой кластеризации с переменной плотностью. Начиная с версии scikit-learn 1.3.0, существует
HDBSCAN.
Предварительная обработка
categorical-encoding Библиотека кодировщиков категориальных переменных, совместимых с sklearn. Начиная с версии scikit-learn 1.3.0, существует
TargetEncoder.skrub : облегчают обучение на датафреймах, с совместимыми с sklearn кодировщиками (категорий, дат, строк) и другими.
imbalanced-learn Различные методы для недосэмплинга и пересэмплинга наборов данных.
Feature-engine Библиотека sklearn-совместимых трансформаторов для импутации пропущенных данных, кодирования категориальных переменных, преобразования переменных, дискретизации, обработки выбросов и многого другого. Feature-engine позволяет применять шаги предобработки к выбранным группам переменных и полностью совместим с Scikit-learn Pipeline.
Топологический анализ данных
giotto-tda Библиотека для Топологический анализ данных с целью предоставления API, совместимого с scikit-learn. Он предлагает инструменты для преобразования входных данных (облака точек, графы, временные ряды, изображения) в формы, подходящие для вычисления топологических сводок, и компоненты, предназначенные для извлечения наборов скалярных признаков топологического происхождения, которые можно использовать наряду с другими методами извлечения признаков в scikit-learn.
Статистическое обучение с Python#
Другие пакеты, полезные для анализа данных и машинного обучения.
Pandas Инструменты для работы с разнородными и столбцовыми данными, реляционными запросами, временными рядами и базовой статистикой.
statsmodels Оценка и анализ статистических моделей. Более сфокусировано на статистических тестах и меньше на предсказании, чем scikit-learn.
PyMC Байесовские статистические модели и алгоритмы подгонки.
Seaborn Библиотека визуализации на основе matplotlib. Она предоставляет высокоуровневый интерфейс для построения привлекательных статистических графиков.
scikit-survival Библиотека, реализующая модели для обучения на цензурированных данных времени до события (также называемых анализом выживаемости). Модели полностью совместимы с scikit-learn.
Пакеты рекомендательных систем#
неявный, Библиотека для наборов данных с неявной обратной связью.
lightfm Реализация на Python/Cython гибридной системы рекомендаций.
Surprise Lib Библиотека для наборов данных с явной обратной связью.
Пакеты для конкретных областей#
scikit-network Машинное обучение на графах.
scikit-image Обработка изображений и компьютерное зрение на Python.
Инструментарий для обработки естественного языка (nltk) Обработка естественного языка и некоторые методы машинного обучения.
gensim Библиотека для тематического моделирования, индексации документов и поиска сходства
NiLearn Машинное обучение для нейровизуализации.
AstroML Машинное обучение для астрономии.
Переводы документации scikit-learn#
Цель перевода — облегчить чтение и понимание на языках, отличных от английского. Его цель — помочь людям, которые не понимают английский или имеют сомнения в его интерпретации. Кроме того, некоторые люди предпочитают читать документацию на родном языке, но, пожалуйста, имейте в виду, что единственной официальной документацией является английская версия [1].
Эти переводческие усилия являются инициативами сообщества, и мы не контролируем их. Если вы хотите внести вклад или сообщить о проблеме с переводом, пожалуйста, свяжитесь с авторами перевода. Некоторые доступные переводы связаны здесь, чтобы улучшить их распространение и поддержать усилия сообщества.
Сноски