Добавил:
мой вк: vk.com/truecrimebitch больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Отчёт 5(курсовая) лабораторная.docx
Скачиваний:
1
Добавлен:
11.07.2024
Размер:
6.04 Mб
Скачать

Министерство цифрового развития, связи и массовых коммуникаций

Российской Федерации Ордена Трудового Красного Знамени

федеральное государственное бюджетное образовательное

учреждение высшего образования

Московский технический университет связи и информатики

Кафедра «Математическая кибернетика и информационные технологии»

Лабораторная работа №5

по дисциплине

«Управление данными»

Выполнила: студентка гр. БСТ2104

Первухина Алиса Александровна

Проверила:

Тимофеева Анна Ивановна

Москва

2024

Оглавление

Введение 3

Ход работы: 4

1. Выбор датасета 5

2. Изучение датасета 5

3. Матрица корреляции 14

4. Information gain. 16

5. Кодирование категориальных переменных 18

6. Выбор двух алгоритмов 18

7. Подбор оптимальных гиперпараметров модели МО при помощи GridSearch. 23

Вывод 26

Введение

В рамках данной лабораторной работы был использован датасет "Heart Disease". Этот набор данных содержит информацию о пациентах, собранную в рамках исследований сердечно-сосудистых заболеваний, включая демографические данные, результаты медицинских осмотров и данные о клиническом состоянии пациентов.

Целью данной работы являлась разработка и оценка предсказательных моделей, способных эффективно определять риски развития сердечных заболеваний у пациентов на основе их медицинской истории. Для достижения этой цели были применены различные алгоритмы машинного обучения, включая логистическую регрессию и случайный лес. Была проведена оптимизация гиперпараметров моделей с использованием методов кросс-валидации и GridSearchCV для повышения точности и надежности предсказаний.

Ход работы:

  1. Выбор датасета

  2. Изучение датасета

  3. Построение матрицы корреляции признаков. Корректировка матрицы.

  4. Расчёт information gain. Исключение лишних признаков.

  5. Кодирование категориальных переменных

  6. Выбор двух алгоритмов для модели обучения МО. Разделение выборки на тестовую и обучающую. Использование подхода stratified k-fold.

  7. Подбор оптимальных гиперпараметров модели МО при помощи GridSearch.

Выполнение

  1. Выбор датасета

Работая с этим датасетом, я буду предсказывать наличие или отсутствие сердечных заболеваний у пациентов на основе различных медицинских, демографических и клинических данных.

Ссылка на датасет: https://www.kaggle.com/datasets/alexteboul/heart-disease-health-indicators-dataset/data

Выполняю импорт необходимых библиотек.

  1. Изучение датасета

Выведем первые строчки нашего датасета.

Детальное описание каждого столбца:

  1. HeartDiseaseorAttack - наличие у респондента сердечного заболевания или перенесенного сердечного приступа (0 = нет, 1 = да).

  2. HighBP - наличие у респондента высокого кровяного давления (0 = нет, 1 = да).

  3. HighChol - наличие у респондента высокого уровня холестерина (0 = нет, 1 = да).

  4. CholCheck - проходил ли респондент проверку уровня холестерина в последние 5 лет (0 = нет, 1 = да).

  5. BMI - индекс массы тела респондента.

  6. Smoker - является ли респондент курильщиком (0 = нет, 1 = да).

  7. Stroke - перенес ли респондент инсульт (0 = нет, 1 = да).

  8. Diabetes - наличие у респондента диабета (0 = нет, 1 = да, 2 = при использовании инсулина или перенесенный гестационный диабет).

  9. PhysActivity - участвует ли респондент в физических упражнениях (0 = нет, 1 = да).

  10. Fruits - употребляет ли респондент фрукты ежедневно (0 = нет, 1 = да).

  11. Veggies - употребляет ли респондент овощи ежедневно (0 = нет, 1 = да).

  12. HvyAlcoholConsump - является ли респондент тяжелым потребителем алкоголя (0 = нет, 1 = да).

  13. AnyHealthcare - имеет ли респондент доступ к здравоохранению (0 = нет, 1 = да).

  14. NoDocbcCost - отказывался ли респондент от визита к врачу из-за стоимости (0 = нет, 1 = да).

  15. GenHlth - общее состояние здоровья респондента (1 = отличное, 5 = плохое).

  16. MentHlth - количество дней в последние 30 дней, когда респондент испытывал проблемы с психическим здоровьем.

  17. PhysHlth - количество дней в последние 30 дней, когда респондент испытывал проблемы с физическим здоровьем.

  18. DiffWalk - испытывает ли респондент трудности при ходьбе или подъеме по лестнице (0 = нет, 1 = да).

  19. Sex - пол респондента (0 = женщина, 1 = мужчина).

  20. Age - возрастная группа респондента (числовой код).

  21. Education - уровень образования респондента (числовой код).

  22. Income - уровень дохода респондента (числовой код).

Большая часть данных тут уже разбита на подгруппы. Возраст указывает не сам возраст, а подгруппу (то есть 1 это возраст от 0 до 10 и аналогично…)

Просматриваем количество столбцов и строк. Я буду работать с первым 100000 строк для ускорения обработки данных.

Просматриваем количество заболевших

Вывод информации об общих параметрах датасета.

Просмотр типов данных в датасете.

Для удобства переведем все в формат int.

Проверяем датасет на наличие пустых значений. Их нет.

Создадим отдельный датасет с заболевшими и посмотрим на количество курящих.

Построим гистограмму курящих больных. С левой стороны столбец – не курящие больные, с правой – курящие.

Посмотрим на распределение значение индекса массы тела (столбец BMI) у людей с сердечными заболеваниями. с

Наиболее распространенные значения BMI в этой группе находятся в пределах от 24 до 29. Эти значения указывают на избыточный вес или предожирение. Значит, эти факторы являются значимым фактором риска для сердечных заболеваний.

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

Посчитаем процент больных людей, со значением BMI > среднего.

Также посчитаем процент заболевания по полу.