Лекция 2.1 Большие данные: вопросы подготовки, выбора, обработки и интерпретации результатов (Data Science и Data Mining)
Актуальность
В настоящее время Big Data — это не просто инструмент, а стратегический инструмент. С помощью грамотно выстроенной работы с большим массивом данных можно раскрывать преступления, выявлять угрозы и предотвращать правонарушения. Анализ больших данных начиная от транзакций криптовалют, заканчивая видео с камер способствует в отпределении соответствующих закономерностей, позволяющих более эффективно выявлять правонарушения и раскрывать преступления. Владение инсформацией в правоохранительной сфере способсвует действовать на опережение в современных тенденциях развития общества.
План лекции
| Учебные вопросы | Время, мин | |
|---|---|---|
| Введение | 10 | |
| 1 | Введение в Big Data | 15 |
| 2 | Подготовка данных для анализа | 15 |
| 3 | Выбор методов анализа данных | 15 |
| 4 | Обработка данных: инструменты и технологии | 10 |
| 5 | Интерпретация результатов анализа | 5 |
| 6 | Практический примеры | 10 |
| Заключение | 5 | |
| Ответы на вопросы | 5 |
Цель лекции — понять природу больших данных, их ключевых характеристик, значимости в современном мире, а также важности этапа подготовки данных и способах использования. Сформировать представление о выборе подходящих методов анализа данных,интерпретации полученных результатов анализа, а также о современных инструментах.
Образовательные цели 1. Сформировать понимание концепции больших данных, их характеристик и роли в современном мире.
-
Познакомить с этапами подготовки данных, методами анализа и современными инструментами для работы с большими данными.
-
Научить правильно выбирать методы анализа данных в зависимости от поставленных задач.
Развивающие цели 1. Развить навыки критического мышления и способность интерпретировать результаты анализа данных.
- Способствовать развитию аналитического мышления и умения применять теоретические знания на практике.
Воспитательные цели 1. Воспитать у студентов ответственное отношение к работе с данными, осознание их ценности и значимости для принятия решений.
-
Формировать профессиональную культуру, включая внимание к деталям, точность и этический подход к анализу данных.
-
Привить интерес к постоянному самообразованию и изучению новых технологий в области больших данных.
Введение
Технологии обработки больших данных – это группа технологий и методов эффективной обработки динамически растущих объемов данных (структурированных и неструктурированных) в распределенных информационных системах.
Распространение методов обработки больших данных привело к появлению нескольких новых профессий на рынке труда IT-специалистов:

-
Data Scientist занимается анализом данных и разработкой моделей машинного обучения. В его обязанности входит исследование данных, выявление скрытых закономерностей и создание алгоритмов прогнозирования или классификации. Например, он может разработать модель для предсказания спроса на товары в зависимости от сезонности или поведения клиентов. Для этого используются статистические методы, библиотеки машинного обучения (например, Scikit-learn, TensorFlow) и языки программирования, такие как Python или R;
-
Data Engineer отвечает за организацию и обработку больших объемов данных, создавая надежную инфраструктуру для их хранения и анализа. Он проектирует базы данных, настраивает ETL-процессы (извлечение, преобразование и загрузка данных) и оптимизирует работу с Big Data. Например, Data Engineer может настроить пайплайн для сбора данных из различных источников (веб-сайтов, мобильных приложений, IoT-устройств) и их загрузки в централизованное хранилище, такое как Hadoop или облачные сервисы AWS. Его работа заключается в том, чтобы обеспечить доступность, скорость и безопасность данных для Data Scientist.
-
Machine Learning Engineer – внедряет модели машинного обучения в реальные приложения, обеспечивая их производительность и масштабируемость. Он берет готовые модели, разработанные Data Scientist, и интегрирует их в продукты или сервисы. Кроме того, он занимается оптимизацией моделей, их переобучением на новых данных. Machine Learning Engineer работает с инструментами развертывания, такими как Docker и Kubernetes, а также использует облачные платформы (AWS, Google Cloud) для обеспечения бесперебойной работы моделей в реальных условиях.

Рис. 1. Требования к специалистам в области обработки больших данных
1. Введение в Big Data
Большие данные - обозначение структурированных и неструктурированных данных, которые являются слишком большими или сложными, чтобы рассматриваться традиционным СУБД.
Для данных большого объема характерны семь характеристик:

Рис. 2. Иллюстрация семи V, характерных для больших данных
-
Volume – объём Объём данных считается большим, когда возникают затруднения при обработке этого объёма. Самые большие структурированные базы данных имеют объём несколько сотен ТВ (1 ТВ = 1012 байт). При возникновении концепции Big Data 1 PB (1*1015байт) считался таким объёмом, с которым обычные реляционные СУБД уже не справляются. С развитием процессорных технологий и технологий СУБД эта цифра растёт, однако рост не происходит быстро из-за отсутствия качественных изменений, обусловленных технологическими инновациями.
-
Velocity – скорость Скорость трактуется не только как скорость прироста, но и как скорость обновления ранее полученных значений, что неизбежно влечёт за собой необходимость высокоскоростной обработки и получения результатов. В пределе – в реальном времени.
-
Variety – разнообразие Данные такого объёма очень редко бывают однородными. В подавляющем большинстве случаев общий массив данных включает как структурированные, так и неструктурированные данные. Под неструктурированными данными имеются в виду изображения, фотоснимки, аудио-треки, фильмы и видео-ролики, данные социальных сетей. Пропорции структурированных и неструктурированных данных в разных массивах могут быть самыми разными, например от 1:9 до 9:1.
-
Variability — изменчивость поток данных не всегда однороден, случаются всплески и спады.
-
Value – ценность Именно ценность информации предопределяет целесообразность её обработки. Собираемые данные должны давать ответы на предварительно сформулированные и вновь появляющиеся вопросы. Эффекты, получаемые в результате сбора и обработки данных, должны оправдывать затраты на эти операции. Собираемые данные должны приносить пользу.
-
Visualization — визуализация результаты анализа Big Data можно визуализировать для упрощения восприятия.
-
Veracity – достоверность В условиях работы с большими объемами данных особое значение приобретает отделение достоверных данных от информационного «шума» и мусора, отсеивание этого шума и мусора.
Big Data активно применяется в силовых структурах решения различного круга задач. Например:
- Анализа данных с камер видеонаблюдения, соцсетей и датчиков помогает выявлять подозрительное поведение или потенциальные угрозы.
- Прогнозирования преступлений на основе анализа исторических данных о криминальных инцидентах.
- Мониторинга интернета для выявления экстремистских групп и планов атак.
- Интеграции данных с дронов, спутников и других устройств для мониторинга территории.
- Обнаружение кибератак и предотвращение утечек данных путем анализа сетевого трафика и аномалий.

Рис. 3. Сферы использования Big Data
Развитие науки о данных (Data Science) в современном мире не стоит на месте. Вместе с тем данное научное напраление получило новое научное ответвление это Data Mining.
Интеллектуальный анализ данных (Data Mining) — это процесс извлечения и поиска закономерностей в больших наборах данных с использованием методов, находящихся на пересечении машинного обучения, статистики и систем баз данных.

Рис. 4. Взаимосвязи между DS, DM и ML
Общие черты Data Science и Data Mining
-
Работа с данными:
Оба направления связаны с анализом данных для извлечения полезной информации. Они используют статистические методы, алгоритмы и инструменты для обработки и интерпретации данных. -
Цель – выявление закономерностей:
И Data Science, и Data Mining направлены на поиск скрытых паттернов, трендов или аномалий в данных, которые могут быть использованы для принятия решений. -
Использование технологий:
Оба подхода активно используют языки программирования (например, Python, R), библиотеки анализа данных (Pandas, NumPy) и инструменты машинного обучения. -
Применение:
Результаты работы в обоих случаях помогают улучшать продукты, услуги и процессы, например, через прогнозирование спроса, оптимизацию.
Специфические задачи и различия
| Критерий | Data Science | Data Mining |
|---|---|---|
| Определение | Междисциплинарная область, охватывающая анализ данных, машинное обучение, статистику и визуализацию. | Процесс обнаружения скрытых закономерностей в данных с использованием алгоритмов. |
| Область применения | Охватывает широкий спектр задач: прогнозирование, моделирование, машинное обучение, глубокое обучение. | Фокусируется на поиске конкретных паттернов или аномалий в данных. |
| Методология | Включает сбор, очистку, анализ, моделирование и интерпретацию данных. | Основное внимание уделяется алгоритмам обнаружения закономерностей (ассоциации, кластеризация). |
| Инструменты | Использует широкий набор инструментов: Python, R, SQL, TensorFlow, PyTorch, Jupyter Notebook. | Использует специализированные инструменты: Weka, RapidMiner, KNIME, а также SQL. |
| Сложность данных | Работает с разнородными данными: структурированными, неструктурированными, Big Data. | Работает преимущественно со структурированными или полуструктурированными данными. |
| Фокус | Создание комплексных моделей и решений, которые могут быть интегрированы в бизнес-процессы. | Поиск конкретных паттернов или правил в данных для решения ограниченных задач. |
| Пример задачи | Прогнозирование спроса на товары, создание рекомендательных систем, анализ естественного языка. | Поиск ассоциативных правил в покупках клиентов (например, "клиенты, покупающие хлеб, часто покупают молоко"). |
| Роль | Стратегическая: помогает принимать долгосрочные решения на основе данных. | Тактическая: решает конкретные задачи, связанные с анализом данных. |
Если подитожить то, Data Science решает комплексные задачи анализа и моделирования данных, в то время как Data Mining специализируется на обнаружении конкретных закономерностей в данных с помощью алгоритмов.
2. Подготовка данных для анализа
Подготовка данных — это основа любого анализа в Big Data. Даже самые сложные алгоритмы машинного обучения и аналитические модели не эффективны, если данные представлены в сыром виде.
Сбор данных (Data Collection)

Сбор данных в Big Data сопряжен с рядом проблем, которые могут существенно влиять на качество и полноту аналитики. Одной из ключевых сложностей является работа с неполными данными, когда отсутствуют важные фрагменты информации из-за ошибок в процессе сбора, сбоев оборудования или человеческого фактора, что может привести к искажению результатов анализа. Другой аспект заключается в разнообразии форматов данных — информация поступает из множества источников в виде структурированных таблиц, неструктурированного текста, изображений, видео или потоковых данных, что требует значительных усилий для их унификации и преобразования в единый формат. Кроме того, ограничения доступа создают дополнительные барьеры: данные часто распределены между различными организациями или отделами, а строгие нормативные требования или политики конфиденциальности могут препятствовать получению необходимых сведений, усложняя процесс создания целостной картины для анализа.
Проблемы:
- Неполные данные
- Разные форматы
- Ограничения доступа
Источники данных являются при сборе являются:
- Структурированные данные (SQL-базы, CSV, Excel)

- Полуструктурированные данные (JSON, XML, лог-файлы)

- Неструктурированные данные (тексты, изображения, видео, аудио)

- Потоковые данные(данные с IoT-устройств, соцсетей, транзакций)
Методы сбора:
- Веб-скрейпинг (BeautifulSoup, Scrapy)
- API-запросы (REST, GraphQL)
- Прямая выгрузка из БД (SQL-запросы, ETL-процессы)
- Стриминг данных (Kafka, Apache Flink)
Очистка данных (Data Cleaning)
Data Cleaning — это ключевой этап подготовки данных, направленный на устранение ошибок, несоответствий и шума для повышения качества анализа. Лучшие практики включают:
1) Удаление дубликатов для исключения избыточности (Pandas: drop_duplicates());
2) Обработку пропущенных значений (заполнение средними/медианными значениями, интерполяция или удаление, если данные критичны) (NaN, NULL);
3) Стандартизацию форматов (например, единые форматы дат или единиц измерения);
4) Коррекцию типов данных, чтобы каждый столбец соответствовал своему типу (числа, строки, категории);
5) Устранение выбросов, которые могут искажать анализ, с использованием статистических методов или визуализации (IQR, Z-score);
6) Проверку согласованности данных, чтобы убедиться, что значения соответствуют логике предметной области (например, возраст не может быть отрицательным). Автоматизация этих процессов с помощью скриптов и инструментов (например, Python, Рandas, OpenRefine).
Оцистка данных осуществляется на основе библиотек python (Pandas, NumPy), также может происходить на уровне БД или вручную.
Преобразование данных (Data Transformation)
Data Transformation — это процесс преобразования данных в формат, подходящий для анализа или машинного обучения. Этот этап необходим для улучшения качества данных, повышения их совместимости и подготовки к дальнейшему использованию.

Aggregation (Агрегация) включает сбор данных из различных источников, их суммирование и преобразование в единый формат для анализа. И необходима для упрощение работы с большими объемами данных путем их группировки и свертки в более компактную форму.В качестве примера можно выделить подсчет количества пользователей по регионам.
Smoothing (Сглаживание) устраняет бессмысленные, аномальные и поврежденные данные из собранных наборов данных. В качестве примера можно привести фильтрацию высокочастотных шумов в сигналах или удаление аномальных значений на основе статистических методов.
Feature Engineering (Инженерия признаков) позволяет создавать новые характеристики и признаки на основе существующих атрибутов данных.Что позволяет улучшить качества модели машинного обучения или анализа путем добавления полезной информации, которая может быть скрыта в исходных данных. В качестве примера можно примести создание нового признака "возраст" из дат рождения, вычисление отношения "высота/вес" для анализа телосложения или использование текстовых данных для создания категорий (например, сентиментального анализа).
Generalization (Обобщение) предназначено для преобразования низкоуровневых атрибутов данных в высокоуровневые характеристики.Целью метода является упрощение данных путем их абстракции до более общих понятий, что помогает в анализе и интерпретации. В качестве примера можно привести возрастн по категориям (например, "молодой", "средний возраст", "пожилой") вместо использования конкретных лет, или преобразование географических координат в категории городов/регионов.
Discretization (Дискретизация) Преобразование значений непрерывных данных в дискретные интервалы. Позволяет упрощать работу с непрерывными данными, делая их более управляемыми и подходящими для определенных алгоритмов. Примером может послужить разбиение диапазона доходов на категории ("низкий", "средний", "высокий"), или преобразование температурных значений в дискретные интервалы (например, "холодно", "комфортно", "жарко").
Normalization (Нормализация) позволяет устранять дубликаты из неструктурированных данных в наборах данных наборов. В качестве примера удаление повторяющихся записей в базе данных, приведение всех строк к единому формату (например, приведение текста к нижнему регистру), или стандартизация единиц измерения (например, перевод всех весов в килограммы).
Перечисленные методы преобразования данных позволяют улучшить качество данных, сделать их более удобными для работы и повысить эффективность аналитических моделей. Выбор конкретного метода зависит от задачи и особенностей данных.
3. Выбор методов анализа данных
В настоящее время для анализа больших данных существуют 3 основных метода прогнозирование (регрессия) , классификация и кластеризация
Прогнозирование (или регрессионный анализ) — это метод, который используется для предсказания числовых значений на основе исторических данных. Например, можно спрогнозировать температуру воздуха или уровень безработицы.

Примеры сфер где, прогнозирование способстует улучшению аналитики больших данных.
-
Повышенная точность данных: Использование больших данных предоставляет доступ к разнообразным и детализированным точкам информации, что позволяет строить более точные прогнозы по сравнению с традиционными моделями, ограниченными небольшими наборами данных.
-
Улучшенная прогностическая мощность: Анализ большого количества переменных и факторов помогает выявлять скрытые закономерности, которые невозможно обнаружить с помощью классических методов, тем самым повышая точность прогнозов.
-
Понимание в реальном времени: Аналитика больших данных позволяет обрабатывать информацию практически мгновенно, давая возможность быстро адаптироваться к изменениям и корректировать модели прогнозирования на лету.
-
Анализ неструктурированных данных: Большие данные включают неструктурированную информацию (например, отзывы клиентов или сообщения в социальных сетях), анализ которой открывает дополнительные возможности для улучшения прогнозов и принятия решений.
К пермеру если стоит вопрос предсказания температуры на завтра?, то можно использовать следующие методы: * Линейная регрессия * Полиномиальная регрессия * Регрессия на основе деревьев решений (Decision Tree Regression) * Градиентный бустинг (например, XGBoost, LightGBM)
Классификация — это метод анализа данных, который используется для присвоения объектам одной из нескольких заранее определенных категорий или классов. В отличие от регрессии, здесь выходные данные являются дискретными метками (например, "да"/"нет", "высокий риск"/"низкий риск").
Пример вопроса "Это письмо спам или нет?", в таком случае мы можем использовать методы.
* Логистическая регрессия
* Метод опорных векторов (SVM)
* Деревья решений и случайный лес (Random Forest)
* Нейронные сети (для сложных задач, таких как распознавание изображений)

Кластеризация — это метод анализа данных, который используется для разделения объектов на группы (кластеры) на основе их схожести. В отличие от классификации, здесь категории заранее не заданы, и цель — найти скрытые структуры в данных.
Пример вопроса "Можно ли разделить текстовые документы на тематические группы?", в таком случае мы можем использовать методы.
- K-means (K-средних)
- Иерархическая кластеризация
- DBSCAN (Density-Based Spatial Clustering of Applications with Noise)
- Гауссовская смесь (Gaussian Mixture Models)

Как выбрать подходящий метод?
Определить тип задачи на основе поставленного вопроса:
Если нужно предсказать число → регрессия .
Если нужно отнести объект к категории → классификация .
Если нужно найти группы объектов → кластеризация .
Проанализовать данные:
Проверьте, какие признаки доступны и как они связаны с целевой переменной.
Оцените объем данных и их качество (пропущенные значения, выбросы).
Выбрать метод исходя из сложности задачи:
Для простых задач начните с базовых методов (например, линейная регрессия или K-means).
Для сложных задач используйте более мощные алгоритмы (например, градиентный бустинг или нейронные сети).
4. Обработка данных: инструменты и технологии
Способы обработки данных
Batch обработка




Real-time обработка

Наиболее популярные программные продукты для анализа больших данных
Apache Hadoop («Хадуп») — это набор инструментов для построения системы работы с большими данными. Он предназначен для сбора, хранения и распределённой обработки сотен терабайт информации, которая поступает непрерывным потоком. Именно на его основе строят озёра данных — объёмные хранилища, в которых хранится неструктурированная информация для будущей аналитики.

Apache Spark Распределенная система обработки данных, которая работает быстрее Hadoop за счет использования оперативной памяти (in-memory processing).Применяется в потоковой обработке данных, машинное обучение, анализ графов. Высокая скорость, поддержка SQL, интеграция с MLlib для машинного обучения.

Специализированные базы данных, оптимизированные для работы с большими объемами данных
Apache Cassandra
Распределенная NoSQL база данных, предназначенная для работы с большими объемами данных.
Хранение данных в режиме реального времени, например, логов или транзакций.
Высокая доступность, масштабируемость, отказоустойчивость.

MongoDB
NoSQL база данных с документно-ориентированной моделью.
Хранение неструктурированных данных, таких как JSON-документы.
Гибкость схемы данных, высокая производительность, поддержка горизонтального масштабирования.
Elasticsearch
Распределенная поисковая система и база данных для полнотекстового поиска.
Поиск данных, логов, аналитика в реальном времени.
Быстрый поиск, масштабируемость, поддержка аналитики.
Инструменты для потоковой обработки данных
Apache Kafka
Платформа для потоковой передачи данных.
Осуществляет сбор, передачу и обработку данных в реальном времени. Имеет высокую пропускную способность, отказоустойчивость, масштабируемость.
Apache Flink
Фреймворк для потоковой и пакетной обработки данных. Осуществляет анализ данных в реальном времени, обработка событий. Поддерживает сложных вычислений, низкая задержка, высокая производительность.
Инструменты для машинного обучения и искусственного интеллекта
TensorFlow
Фреймворк для машинного обучения и глубокого обучения. Позволяет создавать нейронных сетей, анализировать изображения, текст, видео.

Scikit-learn
Библиотека Python для машинного обучения. Примяется в классификации, регрессия, кластеризация. Имеет бошой набор встроенных алгоритмов.
H2O.ai
Платформа для автоматического машинного обучения (AutoML). Осуществляет автоматизацию процесса создания моделей, работа с большими данными.
Прост в использовании и интегрируется с Hadoop и Spark.
5. Интерпретация результатов анализа данных
Tableau
Платформа для визуализации данных и бизнес-аналитики. Позволяет создавать интерактивные дашборды, отчеты и строить аналитику в реальном времени.
Интуитивный интерфейс, поддержка множества источников данных, широкие возможности визуализации.
Power BI
Инструмент от Microsoft для анализа данных и создания дашбордов.
Используется в Бизнес-аналитике, интеграции с Excel и другими продуктами Microsoft.
KNIME
Открытая платформа для анализа данных и машинного обучения. Позволяет создавать рабочие процессы для анализа данных и построения моделей машинного обучения.Низкий порог входа, визуальный интерфейс, поддержка большого количества расширений.
6. Практический пример
Анализ больших данных с использованием Apache Spark и Scikit-learn
Задача Предположим, у нас есть большой набор данных (например, файл CSV размером в несколько гигабайт), содержащий информацию о клиентах интернет-магазина. Наша цель — построить модель машинного обучения, которая будет прогнозировать, купит ли клиент товар на основе его поведения (например, количество просмотров, время на сайте и т.д.).
Шаг 1: Получение данных
Для начала загрузим данные из CSV-файла. Мы будем использовать PySpark, Python-библиотеку для работы с Apache Spark.
from pyspark.sql import SparkSession
# Создаем SparkSession
spark = SparkSession.builder \
.appName("BigDataExample") \
.getOrCreate()
# Загружаем данные из CSV
data_path = "large_dataset.csv" # Путь к большому файлу
df = spark.read.csv(data_path, header=True, inferSchema=True)
# Выводим первые строки датасета
df.show(5)
- Создаем SparkSession, который является точкой входа для работы с Spark.
- Данные загружаются из CSV-файла с использованием метода
read.csv. ПараметрinferSchema=Trueавтоматически определяет типы данных столбцов.
Шаг 2: Предобработка данных
На этом этапе мы очищаем данные, обрабатываем пропущенные значения и преобразуем категориальные переменные.
from pyspark.sql.functions import col
# Удаляем строки с пропущенными значениями
df_cleaned = df.na.drop()
# Преобразуем категориальные переменные в числовые (например, колонку "Gender")
df_encoded = df_cleaned.withColumn("Gender", (col("Gender") == "Male").cast("int"))
# Выбираем признаки и целевую переменную
features = ["Age", "TimeOnSite", "PagesViewed", "Gender"]
target = "Purchased"
# Разделяем данные на обучающую и тестовую выборки
train_df, test_df = df_encoded.randomSplit([0.8, 0.2], seed=42)
- Удаляем строки с пропущенными значениями с помощью метода
na.drop. - Категориальную переменную "Gender" преобразуем в числовую (0 или 1).
- Разделяем данные на обучающую (80%) и тестовую (20%) выборки с помощью метода
randomSplit.
Шаг 3: Обучение модели
Теперь мы преобразуем данные в формат, подходящий для Scikit-learn, и обучим модель логистической регрессии.
from pyspark.ml.feature import VectorAssembler
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
# Преобразуем данные в вектор признаков (необходимо для Scikit-learn)
assembler = VectorAssembler(inputCols=features, outputCol="features")
train_data = assembler.transform(train_df).select("features", target)
test_data = assembler.transform(test_df).select("features", target)
# Преобразуем Spark DataFrame в Pandas DataFrame
train_pandas = train_data.toPandas()
test_pandas = test_data.toPandas()
# Извлекаем признаки и целевую переменную
X_train = train_pandas["features"].apply(lambda x: x.toArray()).tolist()
y_train = train_pandas[target].values
X_test = test_pandas["features"].apply(lambda x: x.toArray()).tolist()
y_test = test_pandas[target].values
# Обучаем модель логистической регрессии
model = LogisticRegression()
model.fit(X_train, y_train)
# Оцениваем модель на тестовых данных
y_pred = model.predict(X_test)
accuracy = accuracy_score(y_test, y_pred)
print(f"Accuracy: {accuracy:.2f}")
- Используем
VectorAssemblerиз PySpark для объединения признаков в единый вектор. - Преобразуем Spark DataFrame в Pandas DataFrame, чтобы использовать Scikit-learn.
- Обучаем модель логистической регрессии на обучающих данных.
- Оцениваем точность модели на тестовых данных с помощью метрики
accuracy_score.
Шаг 4: Интерпретация результатов
После выполнения кода вы получите значение точности модели (например, Accuracy: 0.85). Это означает, что модель правильно предсказывает покупку клиента в 85% случаев.
Итог по практическому примеру
Этот пример демонстрирует полный пайплайн работы с большими данными: 1. Получение данных: Используем PySpark для загрузки больших файлов. 2. Предобработка данных: Очищаем данные, обрабатываем пропущенные значения и преобразуем категориальные переменные. 3. Обучение модели: Преобразуем данные в формат, подходящий для Scikit-learn, и обучаем модель. 4. Оценка модели: Измеряем точность модели на тестовых данных.
Заключительная часть
Современные технологии обработки больших массивов данных дают возможность выявлять скрытые связи в криминальной активности, анализировать модели поведения правонарушителей и обнаруживать аномалии в финансовых потоках, что критически важно для обеспечения безопасности. Однако эффективность этих решений напрямую зависит от профессиональной подготовки данных их сбора, очистки, преобразования и нормализации, так как даже незначительные ошибки на этих этапах могут привести неточностям в оперативной работе.
Специалисты работающие с Big Data, должны в совершенстве владеть не только специализированными инструментами (Hadoop, Spark, системы машинного обучения), но и методиками обеспечения достоверности и релевантности анализируемой информации. Особое значение приобретает умение работать с разнородными данными. Грамотное применение технологий Big Data позволяет создавать интеллектуальные аналитические системы нового поколения, способные в режиме реального времени выявлять угрозы и предлагать оптимальные решения, что кардинально повышает эффективность работы в современных условиях.
Список литературы
Основная литература
-
Майер-Шёнбергер, В. Большие данные: Революция, которая изменит то, как мы живем, работаем и мыслим / В. Майер-Шёнбергер, К. Кукье; пер. с англ. – М.: Манн, Иванов и Фербер, 2014. – 240 с.
-
EMC Education Services. Наука о данных и большие данные: аналитика / EMC Education Services; пер. с англ. – СПб.: БХВ-Петербург, 2015. – 416 с.
-
Марц, Н. Большие данные: принципы и практика построения масштабируемых систем обработки данных в реальном времени / Н. Марц, Дж. Уоррен; пер. с англ. – М.: ДМК Пресс, 2015. – 256 с.
-
Уайт, Т. Hadoop: Подробное руководство / Т. Уайт; пер. с англ. – СПб.: Питер, 2017. – 672 с.
-
Клеппман, М. Высоконагруженные приложения: проектирование, масштабирование, поддержка / М. Клеппман; пер. с англ. – М.: Альпина Паблишер, 2021. – 616 с.
-
Харвиц, Д. Большие данные для чайников / Д. Харвиц, А. Ньюджент, Ф. Халпер, М. Кауфман; пер. с англ. – М.: Диалектика, 2015. – 320 с.
-
МакКинни, У. Python и анализ данных / У. МакКинни; пер. с англ. – СПб.: ДМК Пресс, 2020. – 482 с.
-
Хан, Д. Интеллектуальный анализ данных: концепции и методы / Д. Хан, М. Камбер, Дж. Пей; пер. с англ. – М.: Вильямс, 2020. – 1328 с.
Дополнительная литература
-
Нг, Э. Стремление к машинному обучению / Э. Нг. – 2018. – 150 с.
-
Пэн, Р. Д. Искусство науки о данных / Р. Д. Пэн, Э. Мацуи; пер. с англ. – М.: ДМК Пресс, 2017. – 200 с.
-
Жерон, О. Прикладное машинное обучение с помощью Scikit-Learn и TensorFlow / О. Жерон; пер. с англ. – СПб.: Питер, 2019. – 688 с.
-
Грус, Д. Наука о данных с нуля / Д. Грус; пер. с англ. – СПб.: БХВ-Петербург, 2020. – 336 с.
-
Акидау, Т. Потоковые системы: что, где, когда и как в обработке больших данных / Т. Акидау, С. Черняк, Р. Лакс; пер. с англ. – М.: ДМК Пресс, 2020. – 350 с.
-
мейзен, Э. Создание приложений с машинным обучением / Э. Амейзен; пер. с англ. – М.: Вильямс, 2021. – 280 с.
-
Денсмор, Д. Карманный справочник по построению конвейеров данных / Д. Денсмор. – 2021. – 180 с.
Электронные ресурсы
-
Coursera: Big Data Specialization (UC San Diego) https://www.coursera.org/specializations/big-data
-
Apache Spark Documentation https://spark.apache.org/docs/latest/
-
Towards Data Science (Medium) https://towardsdatascience.com/
-
Google Cloud Big Data Solutions https://cloud.google.com/solutions/big-data
-
KDnuggets: Data Science & Big Data Resources https://www.kdnuggets.com/
Вопросы для самоконтроля
-
Дайте определение Big Data. Каковы основные характеристики (3V, 5V)?
-
В чем разница между структурированными, полуструктурированными и неструктурированными данными? Приведите примеры.
-
Опишите архитектуру Hadoop. Какие компоненты входят в экосистему Hadoop?
-
Каковы основные различия между Hadoop и Apache Spark? В каких случаях лучше использовать каждый из них?
-
Что такое MapReduce? Объясните его принцип работы на примере.
-
Какие существуют методы обработки потоковых данных (Stream Processing)? Назовите ключевые фреймворки.
-
Что такое NoSQL? Перечислите основные типы NoSQL-баз данных и их применение.
-
Какие алгоритмы машинного обучения чаще всего применяются в Big Data?
-
Как обеспечивается безопасность данных в Big Data-системах?
Задания для самостоятельной подготовки
-
Установите MongoDB и загрузите в нее JSON-данные (например, из API или файла). Напишите запросы для выборки данных (агрегация, фильтрация).
-
Используя Matplotlib/Seaborn или Tableau Public, создайте дашборд для визуализации ключевых метрик из любого открытого датасета.
-
Загрузите датасет с Kaggle (например, Titanic). Проведите предварительную обработку данных (очистка, нормализация). Постройте простую модель предсказания (логистическая регрессия или дерево решений).