ЛАБОРАТОРНАЯ РАБОТА №6

ОСНОВЫ МАШИННОГО ОБУЧЕНИЯ И ПОСТРОЕНИЕ ПРОСТЫХ МОДЕЛЕЙ АНАЛИЗА ДАННЫХ

 

1. ЦЕЛЬ РАБОТЫ

Целью лабораторной работы является формирование начальных навыков применения методов машинного обучения для анализа данных с использованием библиотеки Scikit-learn, включая:

·       подготовку признаков для построения моделей;

·       разделение данных на обучающую и тестовую выборки;

·       построение простых моделей регрессии, классификации и кластеризации;

·       оценку качества моделей;

·       интерпретацию результатов моделирования.

Лабораторная работа завершает этап разведочного анализа данных и демонстрирует переход от анализа данных к построению аналитических моделей.

2. ТЕОРЕТИЧЕСКИЕ ПОЛОЖЕНИЯ

2.1. Постановка задачи машинного обучения

Машинное обучение используется для построения моделей, которые позволяют выявлять закономерности в данных и делать прогнозы. Примеры таких задач приведены в таблице 6.1.

 

Таблица 6.1 – Основные типы задач машинного обучения

Тип задачи

Пример

Регрессия

Прогноз популярности трека

Классификация

Популярный / непопулярный трек

Кластеризация

Группы похожих треков

 

В задачах анализа данных обычно выделяют три основных типа задач: регрессию, классификацию и кластеризацию.

2.2. Подготовка данных для построения модели

Перед обучением модели необходимо выделить:

·       матрицу признаков (X) – набор характеристик объектов;

·       целевую переменную (y) – показатель, который требуется прогнозировать.

Например, при прогнозировании популярности трека можно использовать:

X = energy, danceability, tempo  
y = views

Матрица признаков используется для обучения модели, а целевая переменная – для оценки качества прогнозирования.

2.3. Разделение обучающей и тестовой выборки

Для оценки качества модели данные обычно разделяются на две части:

·       обучающую выборку – используется для обучения модели;

·       тестовую выборку – используется для проверки результатов.

В библиотеке Scikit-learn для этого используется функция:

train_test_split()

Такой подход позволяет проверить, насколько хорошо модель работает на новых данных.

2.4. Линейная регрессия

Линейная регрессия используется для прогнозирования числовых значений на основе линейной зависимости между признаками.

Модель линейной регрессии имеет вид: ,

где – признаки,  – коэффициенты модели.

В Python линейная регрессия реализуется с помощью класса:

LinearRegression

2.5. Классификация

Классификация применяется в тех случаях, когда требуется определить принадлежность объекта к определённой категории. Например, можно определить:

·       популярный трек;

·       непопулярный трек.

Для решения таких задач часто используется логистическая регрессия.

2.6. Кластеризация

Кластеризация позволяет разделить объекты на группы на основе сходства признаков. Один из наиболее распространённых алгоритмов – k-means. Алгоритм:

·       выбирает заданное число кластеров;

·       распределяет объекты по группам;

·       минимизирует расстояние между объектами внутри кластера.

2.7. Оценка качества модели

Для оценки качества модели используются различные метрики. Для задач регрессии обычно применяются:

·       MSE – средняя квадратичная ошибка;

·       – коэффициент детерминации.

·       Для задач классификации используется:

·       accuracy – доля правильно классифицированных объектов.

2.8. Использование внешних наборов данных

Во второй части лабораторной работы обучающийся применяет изученные методы анализа к новому набору данных, полученному из открытых источников. Цель данной части работы – показать, что методы анализа данных:

·       не зависят от конкретного набора данных;

·       могут применяться к различным типам задач.

3. ИСХОДНЫЕ ДАННЫЕ

В лабораторной работе используется учебный набор данных:

data/spotify_edu_dataset_ru_complex.csv

Набор данных содержит характеристики музыкальных треков, включая:

·       длительность композиции (duration_sec);

·       энергичность (energy);

·       танцевальность (danceability);

·       темп (tempo);

·       количество просмотров (views).

Данные были подготовлены и исследованы в предыдущих лабораторных работах: ЛР2 – очистка и подготовка данных; ЛР3 – численный анализ с использованием NumPy; ЛР4 – табличный анализ с использованием Pandas; ЛР5 – визуализация данных. В данной лабораторной работе эти данные используются для построения аналитических моделей.

4. ДОПОЛНИТЕЛЬНЫЕ УЧЕБНЫЕ РЕСУРСЫ

Для изучения примеров анализа данных могут использоваться дополнительные учебные ресурсы (таблицы 6.2, 6.3).

 

Таблица 6.2 – Видеолекции по анализу данных

Наименование

Ссылка

Анализ данных на Python за 2 недели

https://www.youtube.com/watch?v=aBKc8fxOGrI

Почему Python – лучший язык для анализа данных

https://www.youtube.com/watch?v=zhXpX1bLZqk

Инструменты аналитика

https://www.youtube.com/watch?v=H4vQSoKT9lE

 

Таблица 6.3 – Примеры проектов анализа данных

Dataset

Ссылка

Weather dataset

https://www.youtube.com/watch?v=4hYOkHijtNw

Cars dataset

https://www.youtube.com/watch?v=fhiUl7f5DnI

Police dataset

https://www.youtube.com/watch?v=GyUbo45mVSE

COVID-19 dataset

https://www.youtube.com/watch?v=89eYAAPyRfo

London Housing dataset

https://www.youtube.com/watch?v=q-Omt6LgRLc

Census dataset

https://www.youtube.com/watch?v=e1zKFSrKeLs

Spotify-YouTube dataset

https://www.youtube.com/watch?v=xqtbBosGMl0

HR dataset

https://www.youtube.com/watch?v=fykrwQD3HR4

Salary dataset

https://www.youtube.com/watch?v=TLIotspGcng

 

 

Каждый обучающийся выполняет индивидуальный вариант задания, назначенный преподавателем. Лабораторная работа состоит из двух частей:

– Часть 1 – работа с учебным набором данных;

Часть 2 – работа с реальным набором данных.

Часть 1. Работа с учебным набором данных

Все варианты выполняются на основе одного и того же набора данных:

data/spotify_edu_dataset_ru_complex.csv

При выполнении работы допускается использование библиотек:

·       NumPy

·       Pandas

·       Scikit-learn

·       Matplotlib / Seaborn

Соответствие вариантов и заданий приведено в таблице 6.4. В рамках задания необходимо:

·           подготовить данные для построения модели;

·           построить модель машинного обучения;

·           оценить качество модели;

·           выполнить интерпретацию полученных результатов.

 

Таблица 6.4 – Индивидуальные варианты заданий (часть 1)

№ вари-анта

Тема задания

Требуемые действия

1

Построить модель прогнозирования популярности трека (views) по признакам energy, danceability, tempo, duration_sec

1. Подготовить матрицу признаков.
2. Разделить данные на обучающую и тестовую выборки.
3. Построить модель линейной регрессии.
4. Рассчитать коэффициент детерминации
R².
5. Построить график зависимости реальных и предсказанных значений.

2

Построить модель прогнозирования популярности трека (views)

1. Подготовить признаки для модели.
2. Разделить данные на обучающую и тестовую выборки.
3. Обучить модель
LinearRegression.
4. Рассчитать метрики
MSE и R².
5. Сделать вывод о качестве модели.

3

Исследовать зависимость между показателями energy и danceability

1. Построить диаграмму рассеяния (scatter plot).
2. Построить модель линейной регрессии.
3. Рассчитать коэффициент корреляции.
4. Интерпретировать полученные результаты.

4

Построить модель прогнозирования tempo по признакам energy, danceability и duration_sec

1. Подготовить признаки для модели.
2. Построить модель линейной регрессии.
3. Оценить качество модели.
4. Проанализировать влияние признаков.

5

Исследовать влияние длительности трека (duration_sec) на популярность (views)

1. Построить диаграмму рассеяния.
2. Построить модель регрессии.
3. Оценить качество модели.
4. Сделать вывод о наличии зависимости.

6

Построить модель классификации популярных и непопулярных треков

1. Сформировать бинарный признак популярности (views > медианы).
2. Построить модель логистической регрессии.
3. Рассчитать метрику
accuracy.
4. Проанализировать результаты классификации.

7

Выполнить кластеризацию треков по признакам energy, danceability и tempo

1. Подготовить данные для кластеризации.
2. Применить алгоритм
k-means.
3. Выделить три кластера.
4. Визуализировать полученные кластеры.

8

Исследовать корреляционную структуру признаков

1. Рассчитать матрицу корреляций.
2. Построить тепловую карту (
heatmap).
3. Определить наиболее связанные признаки.
4. Сделать аналитический вывод.

9

Исследовать распределение популярности треков (views)

1. Построить гистограмму распределения views.
2. Выделить 10 % наиболее популярных треков.
3. Сравнить их характеристики с остальными.
4. Сделать вывод.

10

Построить модель прогнозирования показателя danceability по признакам energy, tempo и duration_sec

1. Подготовить данные для моделирования.
2. Построить модель линейной регрессии.
3. Оценить точность модели.
4. Проанализировать коэффициенты модели.

 

Часть 2. Работа с реальным набором данных

Во второй части лабораторной работы обучающийся выполняет анализ реального набора данных, полученного из открытых источников. В качестве источников наборов данных могут использоваться:

·       Kaggle Datasets https://www.kaggle.com/datasets 

·       UCI Machine Learning Repositoryhttps://archive.ics.uci.edu

·       Google Dataset Searchhttps://datasetsearch.research.google.com

Перед выполнением задания необходимо выбрать набор данных, содержащий:

·       не менее 200 наблюдений;

·       не менее 3–5 признаков.

Требуемые действия. Для выбранного набора данных необходимо:

1)  Загрузить dataset в среду Python.

2)  Выполнить первичный анализ данных:

·  определить типы признаков;

·  выявить наличие пропусков.

3)  Подготовить данные для анализа и построения модели.

4)  Построить одну из моделей машинного обучения:

·  линейная регрессия;

·  логистическая регрессия;

·  кластеризация.

5)  Оценить качество полученной модели.

6)  Построить графическую интерпретацию результатов.

7)  Сделать аналитический вывод по результатам анализа.

Соответствие вариантов заданий и рекомендуемых наборов данных приведено в таблице 6.5.

 

Таблица 6.5 – Индивидуальные варианты заданий (часть 2)

№ вари-анта

Набор данных

Задание

1

Weather dataset

Построить модель прогнозирования температуры

2

Cars dataset

Исследовать зависимость цены автомобиля от его характеристик

3

Police dataset

Выполнить анализ факторов полицейских остановок

4

COVID-19 dataset

Проанализировать динамику распространения заболевания

5

Housing dataset

Построить модель прогнозирования стоимости жилья

6

Census dataset

Выполнить классификацию уровня дохода

7

HR dataset

Исследовать факторы увольнения сотрудников

8

Spotify dataset

Исследовать факторы популярности музыкальных треков

9

Salary dataset

Построить модель прогнозирования заработной платы

10

Любой dataset, выбранный обучающимся

Выполнить регрессионный или кластерный анализ

 

5. ИСПОЛЬЗОВАНИЕ ЭТАЛОНА

Для выполнения лабораторной работы допускается использование эталонного кодового каркаса, приведённого в Приложении 7 («Эталон выполнения лабораторной работы №6»). Эталон демонстрирует пример построения простой модели машинного обучения, включая подготовку данных, обучение модели, оценку её качества и визуализацию результатов. Использование эталона не освобождает обучающегося от самостоятельной реализации индивидуального задания и интерпретации полученных результатов.

6. ТРЕБОВАНИЯ К ОТЧЁТУ

Отчёт по лабораторной работе должен содержать:

1)      Цель работы;

2)      Краткое изложение теоретических положений;

3)      Код программы с комментариями;

4)      Описание выбранного индивидуального варианта;

5)      Результаты построения модели;

6)      Оценку качества модели;

7)      Интерпретацию полученных результатов;

8)      Ответы на контрольные вопросы;

9)      Выполнение заданий к сро;

10)  Итоговый вывод.

7. КОНТРОЛЬНЫЕ ВОПРОСЫ

1)      Что такое машинное обучение и какие задачи оно решает?

2)      Чем отличается задача регрессии от задачи классификации?

3)      Для чего используется разделение данных на обучающую и тестовую выборки?

4)      Что показывает коэффициент детерминации R2R^2R2?

5)      Для чего применяется кластеризация данных?

8. ЗАДАНИЯ К САМОСТОЯТЕЛЬНОЙ РАБОТЕ ОБУЧАЮЩЕГОСЯ

1)      Построить модель линейной регрессии для прогнозирования одного из числовых признаков.

2)      Изменить набор признаков и сравнить результаты модели.

3)      Построить scatter plot зависимости реальных и предсказанных значений.

4)      Проанализировать влияние выбранных признаков на результат модели.

5)      Сделать вывод о качестве полученной модели.

9. ВЫВОД

В выводе необходимо показать:

·       роль машинного обучения в анализе данных;

·       какие закономерности удалось выявить при построении моделей;

·       каким образом результаты моделирования дополняют методы численного, табличного и визуального анализа данных.

10. МЕТОДИЧЕСКАЯ СВЯЗЬ

В лабораторной работе №6 обучающийся применяет методы машинного обучения для анализа данных и построения моделей. Освоенные методы являются основой для дальнейшего изучения более сложных методов анализа данных и машинного обучения, включая задачи классификации, прогнозирования и интеллектуального анализа данных.