Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
river — Библиотека потокового машинного обучения для инкрементального обучения на потоках данных, предоставляющая онлайн-оценщики, обнаружение дрейфа и аномалий, конвейеры, метрики и встроенные наборы данных для Python. | Kitploit
Инструменты/GitHubGitHub/online-ml/river
Утилиты и фреймворкиМашинное ОбучениеОбнаружение АномалийТоп в Обнаружение Аномалий №10
GitHubonline-ml/river

river

Библиотека потокового машинного обучения для инкрементального обучения на потоках данных, предоставляющая онлайн-оценщики, обнаружение дрейфа и аномалий, конвейеры, метрики и встроенные наборы данных для Python.

Репозиторий
6.1k8317412 ч 57 мин назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River — это библиотека Python для онлайн-машинного обучения. Она стремится быть максимально удобной для пользователя библиотекой для машинного обучения на потоковых данных. River — результат слияния creme и scikit-multiflow.

⚡️ Быстрый старт

В качестве краткого примера мы обучим логистическую регрессию для классификации набора данных о фишинговых сайтах. Вот как выглядит первое наблюдение в наборе данных.

>>> from pprint import pprint
>>> from river import datasets

>>> dataset = datasets.Phishing()

>>> for x, y in dataset:
...     pprint(x)
...     print(y)
...     break
{'age_of_domain': 1,
 'anchor_from_other_domain': 0.0,
 'empty_server_form_handler': 0.0,
 'https': 0.0,
 'ip_in_url': 1,
 'is_popular': 0.5,
 'long_url': 1.0,
 'popup_window': 0.0,
 'request_from_other_domain': 0.0}
True

Теперь запустим модель на наборе данных в потоковом режиме. Мы последовательно чередуем прогнозы и обновления модели. Параллельно мы обновляем метрику качества, чтобы видеть, насколько хорошо работает модель.

>>> from river import compose
>>> from river import linear_model
>>> from river import metrics
>>> from river import preprocessing

>>> model = compose.Pipeline(
...     preprocessing.StandardScaler(),
...     linear_model.LogisticRegression()
... )

>>> metric = metrics.Accuracy()

>>> for x, y in dataset:
...     y_pred = model.predict_one(x)      # make a prediction
...     metric.update(y, y_pred)           # update the metric
...     model.learn_one(x, y)              # make the model learn

>>> metric
Accuracy: 89.28%

Конечно, это всего лишь искусственный пример. Приглашаем вас ознакомиться с разделом Введение в документации, где представлен более подробный учебник.

🛠 Установка

River предназначен для работы с Python 3.11 и выше. Установку можно выполнить с помощью pip:

pip install river

Для Linux, MacOS и Windows доступны готовые колеса (wheels). Это означает, что вам, скорее всего, не придётся собирать River из исходников.

Основной онлайн-интерфейс River (learn_one / predict_one) не требует pandas. Мини-пакетный интерфейс (learn_many, predict_many, predict_proba_many, transform_many) построен на pandas и подключается по желанию:

pip install "river[pandas]"

Последнюю разрабатываемую версию можно установить из GitHub следующим образом:

pip install git+https://github.com/online-ml/river --upgrade
pip install git+ssh://[email protected]/online-ml/river.git --upgrade  # using SSH

Этот метод требует наличия Cython и Rust, установленных на вашем компьютере.

🔮 Возможности

River предоставляет онлайн-реализации следующих семейств алгоритмов:

  • Линейные модели с широким набором оптимизаторов
  • Деревья решений и случайные леса
  • (Приближённые) методы ближайших соседей
  • Обнаружение аномалий
  • Обнаружение дрейфа концепций
  • Рекомендательные системы
  • Прогнозирование временных рядов
  • Бандиты
  • Факторизационные машины
  • Обучение на несбалансированных данных
  • Кластеризация
  • Бэггинг/бустинг/стекинг
  • Активное обучение

River также предоставляет другие онлайн-инструменты:

  • Извлечение и отбор признаков
  • Онлайн-статистика и метрики
  • Предобработка данных
  • Встроенные наборы данных
  • Прогрессивная валидация моделей
  • Конвейеры моделей

Ознакомьтесь с API для получения полного обзора

🤔 Стоит ли использовать River?

Стоит задать себе вопрос, нужно ли вам онлайн-машинное обучение. Ответ, скорее всего, нет. В большинстве случаев пакетное обучение вполне справляется с задачей. Онлайн-подход может подойти, если:

  • Вам нужна модель, которая может обучаться на новых данных без необходимости повторно обращаться к прошлым данным.
  • Вам нужна модель, устойчивая к дрейфу концепций.
  • Вы хотите разрабатывать модель в условиях, более близких к продакшену, который обычно является событийно-ориентированным.

Некоторые особенности River заключаются в следующем:

  • Он делает акцент на ясности и удобстве для пользователя, а не на производительности.
  • Он очень быстро обрабатывает по одному образцу за раз. Попробуйте — увидите.
  • Он хорошо взаимодействует с остальной экосистемой Python.

🔗 Полезные ссылки

  • Документация
  • Релизы пакета
  • awesome-online-machine-learning
  • Презентация 2022 года на GAIA
  • Онлайн-кластеризация: алгоритмы, оценка, метрики, приложения и бенчмаркинг на KDD'22.

👐 Участие в разработке

Не стесняйтесь вносить вклад любым удобным для вас способом, мы всегда открыты для новых идей и подходов.

  • Откройте обсуждение, если у вас есть какой-либо вопрос или запрос. Задавать вопрос публично полезнее, чем отправлять нам личное письмо. Также рекомендуется открыть обсуждение перед началом работы над вкладом, чтобы все были на одной волне и избежать лишней работы.
  • Приглашаем открыть issue, если вы считаете, что обнаружили ошибку или проблему с производительностью.
  • Наша дорожная карта является публичной. Не стесняйтесь работать над тем, что вас заинтересовало, или вносить предложения.

Пожалуйста, ознакомьтесь с правилами участия, если вы хотите внести изменения в кодовую базу.

🤝 Партнёрства

affiliations

💬 Цитирование

Скачать инструмент