River - это библиотека Python для онлайн -машинного обучения. Он направлен на то, чтобы быть самой удобной библиотекой для выполнения машинного обучения по потоковым данным. Река является результатом слияния крема и Scikit-Multiflow.
В качестве бытового примера, мы будем обучать логистическую регрессию для классификации веб -сайта Phishing Dataset. Вот посмотрите на первое наблюдение в наборе данных.
>>> из Pprint Import Pprint >>> из наборов данных импорта реки >>> dataSet = dataSets.phishing () >>> для x, y в наборе данных: ... pprint (x) ... Печать (y) ... Break {'age_of_domain': 1, 'archor_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, 'opup_window' : 0.0, 'request_from_other_domain': 0.0} true
Теперь давайте запустим модель на наборе данных потоковым образом. Мы последовательно переплетаем прогнозы и обновления модели. Между тем, мы обновляем показатель производительности, чтобы увидеть, насколько хорошо работает модель.
>>> из реки импорт Compose >>> из импорта реки Linear_model >>> из метрик импорта реки >>> из предварительной обработки реки >>> model = compose.pipeline ( ... предварительная обработка. StandArdsCaler (), ... linear_model.logisticreGression () ...) >>> metric = metrics.ccuracy () >>> для x, y в наборе данных: ... y_pred = model.predict_one (x) # Сделать прогноз ... metric.update (y, y_pred) # Обновить метрику ... model.learn_one (x, y) # заставьте модель изучать >>> метрикураствование : 89,28%
Конечно, это просто надуманный пример. Мы приветствуем вас, чтобы проверить раздел «Введение» документации на более тщательном учебном пособии.
Река предназначена для работы с Python 3.8 и выше . Установка может быть сделана с помощью pip
:
PIP установить реку
Есть колеса, доступные для Linux, MacOS и Windows. Это означает, что вам, скорее всего, не придется строить реку из источника.
Вы можете установить новейшую версию разработки от GitHub, как так:
PIP установка GIT+https: //github.com/online-ml/river-up-upgrade PIP установить git+ssh: //[email protected]/online-ml/river.git-облегчить # с помощью ssh
Этот метод требует установки цинтона и ржавчины на вашей машине.
River предоставляет онлайн -реализации следующего семейства алгоритмов:
Линейные модели с широким спектром оптимизаторов
Деревья решений и случайные леса
(Приблизительно) ближайшие соседи
Обнаружение аномалии
Обнаружение дрейфа
Рекомендованные системы
Прогнозирование временных рядов
Бандиты
Машины факторизации
Несбалансированное обучение
Кластеризация
Бэкинг/повышение/укладку
Активное обучение
Ривер также предоставляет другие онлайн -коммунальные услуги:
Извлечение и выбор функций
Статистика онлайн и метрики
Предварительная обработка
Встроенные наборы данных
Прогрессивная проверка модели
Модель трубопроводов
Проверьте API для полного обзора
Вы должны спросить себя, нужно ли вам онлайн -машинное обучение. Ответ, вероятно, нет. Большую часть времени Batch Learning отлично справляется. Онлайн -подход может соответствовать счету, если:
Вам нужна модель, которая может учиться на новых данных без необходимости пересматривать прошлые данные.
Вам нужна модель, которая надежна для концепции дрейфа.
Вы хотите разработать свою модель таким образом, что это ближе к тому, что происходит в производственном контексте, который обычно основан на событиях.
Некоторые особенности реки таковы:
Он фокусируется на ясности и пользовательском опыте, больше, чем производительность.
Это очень быстро при обработке одного образца за раз. Попробуйте, вы увидите.
Это хорошо играет с остальной экосистемой Python.
Документация
Выпуск упаковки
Потрясающий-найник-обучение
2022 Презентация в Гайе
Онлайн кластеризация: алгоритмы, оценка, метрики, приложения и сравнительный анализ от KDD'22.
Не стесняйтесь вносить свой вклад в любое время, мы всегда открыты для новых идей и подходов.
Откройте обсуждение, если у вас есть какие -либо вопросы или запрос. Более полезно задавать ваш вопрос на публике, а не отправлять нам личное письмо. Он также рекомендуется открыть дискуссию, прежде чем внести свой вклад, чтобы все были выровнены, а ненужная работа избегается.
Получите желание открыть проблему, если вы думаете, что заметили ошибку или проблему с производительностью.
Наша дорожная карта общедоступна. Не стесняйтесь работать над чем -либо, что бросается в глаза, или делать предложения.
Пожалуйста, ознакомьтесь с рекомендациями взноса, если вы хотите внести изменения в базу кода.
Если Ривер был полезен для вас, и вы хотели бы привести его в научной публикации, пожалуйста, обратитесь к статье, опубликованной на JMLR:
@Article {montiel2021River, title = {River: машинное обучение для потоковых данных в Python}, Author = {Montiel, Jacob и Halford, Max и Mastelini, Saulo Martiello и Bolmier, Geoffrey и Sourty, Raphael и Vaysse, Robin and Zouitine, Adil, Adil, Adil, Adil, Adil и Gomes, Heitor Murilo and Read, Jesse и Abdessalem, Talel и другие}, Год = {2021}}
River-это бесплатное и программное обеспечение с открытым исходным кодом, лицензировано по лицензии BSD 3.