Как нормализовать данные в PySpark перед обучением ML-моделей

В прошлый раз мы говорили о методах NLP в PySpark. Сегодня рассмотрим методы нормализации и стандартизации данных модуля ML библиотеки PySpark. Читайте в нашей статье: применение Normalizer, StandardScaler, MinMaxScaler и MaxAbsScaler для нормализация и стандартизации данных. Нормализация и стандартизация — методы шкалирования данных Нормализация (normalization) и стандартизация (standardization) являются методами изменения диапазонов значений — шкалирования. Шкалирование особенно полезно в машинном обучении (Machine Learning), поскольку разные атрибуты могут измеряться в разных диапазонах, или значения одного атрибута варьируются слишком сильно. Например, один атрибут имеет диапазон от 0 до 1, а второй — от 1 до 1000. Для задачи регрессии второй атрибут оказывал бы большое влияние на обучение, хотя не факт, что он является более важным, чем первый. Нормализация и стандартизация отличаются своими Далее …

Все грани Apache NiFi для построения ETL-pipeline’ов и обработки потоковых данных с Kafka и Spark

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Kafka, машинное обучение, Machine Learning, курсы по Apache NiFi, обучение инженеров больших данных, Big Data Engineer обучение

Продолжая разговор про инженерию больших данных, сегодня рассмотрим, как построить ETL-pipeline на открытых технологиях Big Data. Читайте далее про получение, агрегацию, фильтрацию, маршрутизацию и обработку потоковых данных с помощью Apache NiFi, Kafka и Spark, преобразование JSON, а также обогащение и сохранение данных в Hive, HDFS и Amazon S3. Пример потокового конвейера обработки данных на технологиях Big Data Разберем кейс, когда необходимо использовать несколько источников, включая каналы REST, социальные каналы, сообщения, изображения, документы и реляционные данные. Типовой конвейер обработки данных (data pipeline) в этом случае будет выглядеть следующим образом [1]: Apache NiFi принимает потоковые данные, фильтрует их, обрабатывает и отправляет в соответствующие топики Apache Kafka с учетом схем для записи форматов сообщений. Дополнительная обработка событий для последующей аналитики больших данных и Далее …

Особенности JOIN-операций в Apache Kafka Streams на примере Twitter

Big Data, Большие данные, обработка данных, Kafka, архитектура, Machine Learning, машинное обучение, KSQL

Продолжая разговор про практическое применение Apache Kafka на примере организации рекомендательной системы Twitter, сегодня мы рассмотрим, как с помощью Kafka Streams был разработан конвейер сбора и агрегации данных для машинного обучения (Machine Learning). Читайте в нашей статье про особенности объединения больших данных через LeftJoin и InnerJoin в Apache Kafka Streams. Архитектура приложения Kafka Streams в Twitter При относительной простоте высокоуровневой архитектуры конвейера Machine Learning в рамках рекомендательной системы Twitter на базе Apache Kafka, о чем мы рассказывали вчера, ее создание не обошлось без трудностей. В частности, специалистам Big Data в компании пришлось модифицировать типовую join-функцию в Kafka Streams. Кроме того, большой объем трафика, также оказывал отрицательное влияние на join-функции по умолчанию, дополнительно нагружая сам кластер Kafka. При этом логика обработки конвейера логов Далее …

Как Twitter построил на Apache Kafka новый ML-конвейер своей рекомендательной системы

Big Data, Большие данные, обработка данных, Kafka, архитектура, Machine Learning, машинное обучение, Hadoop

Недавно мы рассказывали про преимущества event-streaming архитектуры с помощью Apache Kafka на примере The New York Times. В продолжение этой темы Apache Kafka, сегодня поговорим про использование этой Big Data платформы в Twitter для построения конвейера потоковой регистрации событий в рекомендательной системе на базе алгоритмов машинного обучения (Machine Learning).   Как работают рекомендательные ML-системы в соцсетях: разбираем на примере Twitter Не секрет, что современные контент-платформы и соцсети активно используют машинное обучение для формирования персональных рекомендаций по контенту для каждого пользователя. В частности, в Twitter по умолчанию для вас отображаются те посты, которые с максимальной вероятностью будут интересны именно вам, в зависимости от прошлых прочтений, интересов, лайков, твитов и прочих событий пользовательского поведения. Для этого выбора применяются динамические алгоритмы Machine Learning, Далее …

Линейная регрессия, регуляризация, кросс-валидация и Grid Search в PySpark

В прошлый раз мы говорили о решении задачи классификации в рамках Machine Learning с помощью PySpark MLlib. Сегодня рассмотрим задачу регрессии. Читайте далее: что такое линейная регрессия, L1 и L2 регуляризация, алгоритм подбора значений гиперпараметров Grid Search, а также применение кросс-валидации в PySpark. Датасет с домами на продажу Обучать модель машинного обучения (Machine Learning) будем на датасете с домами на продажу в округе Кинг (Вашингтон, США). Его можно скачать напрямую с Kaggle или воспользоваться Kaggle API, как мы описывали здесь. Датасет содержит такие атрибуты, как цена, количество комнат, количество ванных комнат, дату постройки, площадь на квадратный фут (1 фут = 0.3 метра) и другие. Код на Python для инициализации Spark-приложения и создания DataFrame выглядит следующим образом: from pyspark.sql import SparkSession Далее …

Как решить задачу классификации в PySpark

PySpark позволяет работать не только с большими данными (Big data), но и создавать модели машинного обучения (Machine Learning). Сегодня мы расскажем вам о модуле ML и покажем, как обучить модель Machine Learning для решения задачи классификации. Читайте у нас: подготовка данных, применение логистической регрессии, а также использование метрик качеств в PySpark. Датасет с домами на продажу В качестве примера мы будем использовать датасет Kaggle, который содержит данные о домах на продажу в Бруклине с 2003 по 2017 года и доступен для скачивания. Он содержит 111 атрибутов (столбцов) и 390883 записей (строк). В атрибуты включены: дата продажи, дата постройки, цена на дом, налоговый класс, соседние регионы, долгота, ширина и др. # Если у вас Google Colab, то раскомментируйте # import findspark Далее …

Как ускорить озеро данных или что такое Delta Lake на Apache Spark

Spark, архитектура, обработка данных, большие данные, Big Data, Hadoop, Data Lake, Delta Lake

Озеро данных (Data Lake) на Apache Hadoop HDFS в мире Big Data стало фактически стандартом де-факто для хранения полуструктурированной и неструктурированной информации с целью последующего использования в задачах Data Science. Однако, недостатком этой архитектуры является низкая скорость вычислительных операций в HDFS: классический Hadoop MapReduce работает медленнее, чем аналоги на Apache Spark из-за обращения к жесткому диску, а не оперативной памяти. Поэтому с 2019 года стала активно развиваться концепция Delta Lake как хранилища данных нового уровня, сочетающая в себе преимущества Apache Spark для потоковой обработки с возможностями традиционного пакетного подхода. Читайте далее, что такое Delta Lake, зачем и кому это нужно, а также при чем здесь Apache Spark. Как появилось Delta Lake: уход в облака и проблемы Hadoop-as-a-Service Начнем с определения: Далее …

Какой Machine Learning в вашем production: 5 популярных паттернов на любой вкус и 2 основные стратегии внедрения

цифровизация, архитектура, контейнеризация, Docker, Kubernetes, Big Data, Большие данные, Data Science, машинное обучение, Machine Learning, DevOps, MLOps, Kafka, Data Lake, Hadoop

Завершая цикл статей про MLOps, сегодня мы расскажем про 5 шаблонов практического внедрения моделей Machine Learning в промышленную эксплуатацию (production). Читайте далее, что такое Model-as-Service, чем это отличается от гибридного обслуживания и еще 3-х вариантов интеграции машинного обучения в production-системы аналитики больших данных (Big Data), а также при чем тут Apache Kafka, Лямбда-архитектура, контейнеризация и бессерверные вычисления. MLOps-шаблоны внедрения ML-моделей в production MLOps-энтузиасты выделяют следующие паттерны внедрения моделей машинного обучения в production [1]: Модель как услуга или сервис (Model-as-Service); Модель как зависимость (Model-as-Dependency); Предварительный расчет (Precompute); Модель по запросу (Model-on-Demand); Гибридная модель обслуживания (Hybrid Model Serving) или Федеративное обучение (Federated Learning)   Критерий ML-модель Обслуживание и версионирование (Service & Versioning) Вместе с приложением-потребителем Независимо от приложения-потребителя Доступность во время компиляции Далее …

Как внедрить MLOps: краткое пошаговое руководство

цифровизация, цифровая трансформация, Big Data, Большие данные, Data Science, машинное обучение, Machine Learning, Agile, DevOps, MLOps

Рассказав, как оценить уровень зрелости Machine Learning Operations по модели Google или методике GigaOm, сегодня мы поговорим про этапы и особенности практического внедрения MLOps в корпоративные процессы. Читайте далее, какие организационные мероприятия и технические средства необходимы для непрерывного управления жизненным циклом машинного обучения в промышленной эксплуатации (production). 2 направления для внедрения MLOps Напомним, MLOps – это культура и набор практик для автоматизации комплексного управления жизненным циклом систем машинного обучения, от разработки (Development) до эксплуатации (Operations) всех компонентов: ML-модели, программный код и инфраструктура развертывания. MLOps расширяет методологию CRISP-DM с помощью Agile-подхода и технических инструментов автоматизированного выполнения операций с данными, ML-моделями, кодом и окружением. Таким образом, практическое внедрение MLOps следует вести сразу по 2-м направлениям: организационное, что предполагает адаптацию принципов Agile к корпоративной культуре и частичную перестройку Далее …

Насколько созрел ваш MLOps: многокритериальная 5-уровневая модель зрелости Machine Learning Operations

цифровизация, цифровая трансформация, Big Data, Большие данные, Data Science, машинное обучение, Machine Learning, Agile, DevOps, MLOps

Недавно мы рассказывали про модель зрелости MLOps от Google. Сегодня рассмотрим альтернативную методику оценки зрелости операций разработки и эксплуатации машинного обучения, которая больше похоже на наиболее популярную в области управленческого консалтинга модель CMMI, часто используемую в проектах цифровизации. Читайте далее, по каким критериям измеряется Machine Learning Operations Maturity Model и как применить это на практике.   5 критериев для оценки MLOps-зрелости Предложенная компанией Google 3-х уровневая модель оценки зрелости MLOps не является единственной. Например, альтернатива от исследовательской ИТ-компанией GigaOm, в отличие от Google-варианта, учитывает не только технологии поддержки жизненного цикла машинного обучения, но и корпоративную культуру, которая неотделима от любой технической парадигмы. GigaOm выделяет 5 уровней MLOps-зрелости, оценивая состояние Machine Learning и окружающей инфраструктуры на предприятии по следующим критериям [1]: Далее …