5.5 ВВЕДЕНИЕ В МАШИННОЕ ОБУЧЕНИЕ
В предыдущих разделах были рассмотрены:
· загрузка данных;
· очистка;
· табличный анализ;
· визуализация результатов.
Следующим этапом аналитического процесса является построение моделей машинного обучения. Машинное обучение рассматривается как продолжение анализа данных, поскольку модели строятся не вручную, а на основе закономерностей, обнаруженных в данных. Качество работы алгоритма напрямую зависит от:
· корректности подготовки данных;
· выбора признаков;
· отсутствия ошибок и пропусков;
· объёма выборки.
Поэтому этапы загрузки, очистки, табличного анализа и визуализации являются обязательной подготовкой к построению моделей машинного обучения.
Что такое машинное обучение? Машинное обучение (Machine Learning, ML) – это направление анализа данных, в котором алгоритмы:
· выявляют закономерности;
· обучаются на примерах;
· делают прогнозы;
· принимают решения на основе данных.
Главная идея ML: не задавать правила вручную, а извлекать их из данных.
В традиционном программировании разработчик заранее задаёт правила обработки информации. В машинном обучении алгоритм самостоятельно выявляет зависимости на основе примеров. Именно поэтому ML особенно эффективно применяется в задачах, где:
· закономерности слишком сложны для ручного описания;
· объём данных слишком велик;
· структура зависимостей изменяется со временем.
Почему машинное обучение связано с анализом данных? Любая модель машинного обучения работает только на данных. Поэтому перед построением модели необходимо:
✔ загрузить данные
✔ очистить данные
✔ выполнить численную обработку
✔ сформировать таблицу признаков
✔ выполнить визуальный анализ
Именно поэтому машинное обучение является продолжением аналитического процесса.
Важно понимать, что алгоритм машинного обучения не «понимает» смысл данных так, как человек. Модель анализирует только числовые зависимости между признаками. Поэтому:
· ошибки подготовки данных;
· неверный выбор признаков;
· некорректные значения
могут приводить к ошибочным прогнозам даже при использовании сложных алгоритмов.
Где используется машинное обучение? Методы ML применяются:
· в рекомендательных системах;
· прогнозировании;
· медицинской диагностике;
· финансовой аналитике;
· обработке изображений;
· анализе текстов;
· системах распознавания.
Таблица 5.5.1 – Области применения машинного обучения
|
Область |
Пример |
|
Музыкальные сервисы |
рекомендации треков |
|
Банковские системы |
прогноз риска |
|
Интернет-магазины |
персональные предложения |
|
Социальные сети |
анализ интересов |
Основные типы задач машинного обучения. В задачах анализа данных обычно выделяют регрессию, классификацию, кластеризацию (таблица 5.5.2).
Таблица 5.5.2 – Основные типы задач машинного обучения
|
Тип задачи |
Пример |
|
Регрессия |
Прогноз популярности трека |
|
Классификация |
Популярный / непопулярный трек |
|
Кластеризация |
Группы похожих треков |
В задачах анализа данных обычно выделяют три основных типа задач: регрессию, классификацию и кластеризацию. Каждый тип задачи требует:
Поэтому перед построением модели аналитик должен определить:
· какой тип результата требуется получить;
· являются ли данные размеченными;
· необходимо ли прогнозирование или поиск скрытой структуры данных.
1. Подготовка данных для построения модели
Перед обучением модели необходимо выделить:
Например, при прогнозировании популярности трека можно использовать:
X = energy, danceability, tempo
y = views
Матрица признаков используется для обучения модели, а целевая переменная – для оценки качества прогнозирования.
Что такое матрица признаков? Матрица признаков X содержит характеристики объектов, используемые моделью для анализа.
Таблица 5.5.3 – Примеры признаков объекта
|
energy |
danceability |
tempo |
|
0.82 |
0.76 |
120 |
|
0.64 |
0.58 |
95 |
Каждый столбец представляет отдельный признак объекта.
Что такое целевая переменная? Целевая переменная y – это показатель, который модель должна прогнозировать.
Например:
Почему выбор признаков важен? Выбор признаков является одним из ключевых этапов машинного обучения. Признаки должны:
Избыточные или нерелевантные признаки могут ухудшать качество модели и увеличивать сложность вычислений.
2. Разделение обучающей и тестовой выборки
Для оценки качества модели данные обычно разделяются на две части:
В библиотеке Scikit-learn для этого используется функция:
train_test_split()
Такой подход позволяет проверить, насколько хорошо модель работает на новых данных.
Почему разделение данных обязательно? Если проверять модель на тех же данных, на которых она обучалась, результат может оказаться искусственно завышенным. В этом случае модель способна «запомнить» обучающие примеры вместо выявления общих закономерностей.
Такое явление называется: переобучением (overfitting).
Разделение данных на обучающую и тестовую выборки позволяет оценить способность модели к обобщению результатов.
3. Линейная регрессия
Линейная регрессия используется для прогнозирования числовых значений на основе линейной зависимости между признаками.
Модель
линейной регрессии имеет вид:
,
где
– признаки,
– коэффициенты модели.
В Python линейная регрессия реализуется с помощью класса: LinearRegression
Что показывают коэффициенты модели? Коэффициенты модели показывают, насколько сильно отдельные признаки влияют на прогнозируемое значение. Например:
Таким образом, линейная регрессия позволяет не только выполнять прогнозирование, но и анализировать влияние признаков на результат.
4. Классификация
Классификация применяется в тех случаях, когда требуется определить принадлежность объекта к определённой категории. Например, можно определить:
Для решения таких задач часто используется логистическая регрессия.
Несмотря на название, логистическая регрессия относится к методам классификации, поскольку прогнозирует вероятность принадлежности объекта к определённому классу.
5. Кластеризация
Кластеризация позволяет разделить объекты на группы на основе сходства признаков.
Один из наиболее распространённых алгоритмов – k-means.
Алгоритм:
Идея алгоритма k-means. Цель алгоритма состоит в том, чтобы:
Кластеризация широко используется:
6. Оценка качества модели
Для оценки качества модели используются различные метрики.
Для задач регрессии обычно применяются:
Для задач классификации используется:
Что показывают метрики качества? Метрики качества позволяют количественно оценить эффективность модели. Например:
Для задач классификации accuracy показывает долю объектов, для которых модель правильно определила класс.
7. Использование внешних наборов данных
Методы ML не зависят от конкретного датасета. Поэтому аналитик должен уметь:
Связь ML с предыдущими модулями. Машинное обучение объединяет:
Цикл аналитики данных
Загрузка данных
↓
Очистка
↓
Численный анализ
↓
Табличный анализ
↓
Визуализация
↓
Машинное обучение
Методический акцент. Важно понимать:
Поэтому машинное обучение – часть аналитического процесса, а не «магия алгоритмов».
Итоги темы. В разделе рассмотрены:
Машинное обучение позволяет строить модели, выявляющие закономерности в данных и выполняющие прогнозирование. Однако качество моделей напрямую зависит от корректности подготовки данных и аналитической интерпретации результатов.