3 метода векторизации слов в PySpark

Продолжаем говорить о NLP в PySpark. После того как тексты обработаны: удалены стоп-слова и проведена лемматизация — их следует векторизовать для последующей передачи алгоритмам Machine Learning. Сегодня мы расскажем о 3-x методах векторизации текстов в PySpark. Читайте в этой статье: применение CountVectorizer для подсчета встречаемости слов, уточнение важности слов с помощью TF-IDF, а также обучение Word2Vec для создания векторных представлений слов. CountVectorizer: считаем количество слов CountVectorizer считает встречаемость слов в документе. Под документом может подразумеваться предложение, абзац, пост или комментарий. Результатом применения CountVectorizer являются разреженные вектора (sparse vectors), причём значения сортированы согласно частоте встречаемости слова. У него есть аргумент vocabSize, значение которого устанавливает максимальный размер словаря, по умолчанию он равен 262144. Ниже пример данной векторизации в PySpark, где во 2-м Далее …

Не только AirFlow: Apache Luigi и еще 3 ETL-оркестратора для Big Data Pipeline’ов

курсы Airflow, обучение Airflow, обучение инженеров данных, инженерия данных, Big Data, Большие данные, обработка данных, Airflow, архитектура, администрирование, Spark, DataOps, MLOps, Python, Kubernetes, DevOps, ETL

Чтобы максимально приблизить обучение Airflow к практической работе дата-инженера, сегодня мы рассмотрим, какие еще есть альтернативы для оркестрации ETL-процессов и конвейеров обработки больших данных. Читайте далее, что такое Luigi, Argo, MLFlow и KubeFlow, где и как они используются, а также почему Apache Airflow все равно остается лучшим инструментом для оркестрации заданий в области Big Data.   Еще раз об оркестрации задач в Big Data и Machine Learning: что это такое и зачем нужно Обычно развитие data—driven инициатив начинается с ручного управления задачами. Например, для машинного обучения (Machine Learning) это будут процессы очистки данных, обучения моделей, отслеживание результатов и развертывание решений на рабочем сервере (production). Эти процедуры растут и усложняются по мере увеличения команды и продвижения самого продукта.  В частности, растет Далее …

Конвейер Big Data для Machine Learning на Apache Kafka: разбираем систему речевой аналитики

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

В этой статье мы рассмотрим комплексный конвейер (pipeline) обработки больших данных с помощью алгоритмов машинного обучения (Machine Learning) для системы речевого анализа Callinter от китайской компании Fano Labs. Apache Kafka играет ключевую роль в этом аналитическом конвейере, ежедневно обеспечивая бесперебойную стабильность и высокую производительность интеллектуальной обработки нескольких тысяч часов звонков. Читайте далее, как Apache Kafka повысила эффективность NLP-системы для колл-центров Постановка задачи Китайская компания Fano Labs, базирующаяся в Гонконге, разработала собственную интеллектуальную систему анализа речи Callinter для автоматизации работы банковских, страховых, телекоммуникационных и прочих отраслевых колл-центров. Она предназначена для повышения качества сервиса и обнаружение инцидентов с помощью технологий распознавания смысла произносимых слов и эмоций на базе алгоритмов Machine Learning. В частности, анализируя миллионы вызовов ежедневно, система позволяет бизнесу определять потенциальные Далее …

Как нормализовать данные в 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 с учетом схем для записи форматов сообщений. Дополнительная обработка событий для последующей аналитики больших данных и Далее …

Как построить ETL-pipeline на Apache Spark или что под капотом StreamSets Transformer

Spark, обработка данных, большие данные, Big Data, NiFi, ETL, Data Lake, Machine Learning, машинное обучение, Delta Lake, Kafka, StreamSets Transformer

Однажды мы уже рассказывали про StreamSets Data Collector, сравнивая его с Apache NiFi. Сегодня рассмотрим, как устроен этот исполнительный движок для запуска конвейеров обработки больших данных, каким образом он связан с Apache Spark и чем полезен инженеру Big Data при организации ETL-процессов на локальных и облачных озерах данных (Data Lake, Delta Lake). Демократизация ETL для Delta Lake: автоматизация pipeline’ов и GUI Получение информации из Data Lake для аналитики больших данных и машинного обучения (Machine Learning) – один из важнейших аспектов современной Big Data инфраструктуры. При этом на практике часто возникает проблема консолидации пакетных и потоковых источников данных. Большие данные часто бывают неструктурированы и несовместимы друг с другом из-за разных форматов и типов. Это затрудняет обновление данных в Data Lake. Кроме Далее …

Особенности 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 Далее …