Матрица корреляции
Вычисляем корреляционную матрицу для столбцов в датафрейме. Цветовая карта Oranges отображает более высокие значения корреляции более темными оттенками для оценивали взаимосвязей между переменными.
Мы видим, что некоторые коэффициенты имеют высокие значения.
Например, Общее здоровье (GenHlth) и физическое здоровье (PhysHlth) - что логично, поскольку частые или серьезные физические проблемы могут влиять на общую оценку здоровья.
Или физическое здоровье (PhysHlth) и трудности с ходьбой (DiffWalk) - проблемы с физическим здоровьем часто связаны с ограниченной подвижностью.
Также высокая корреляция между Образованием (Education) и доходом (Income) - отражает связь между уровнем образования и заработком.
Поэтому мы удалим эти столбцы. Видим, что темные зоны с высокой корреляцией удалены.
Information gain.
Мы рассчитаем Information Gain. Этот параметр измеряет количество информации, которое каждый признак добавляет относительно предсказания целевой переменной.
В нашем случае - наличие или отсутствие сердечного заболевания.
Удалим признаки с низким процентом значимости. Я выбрала индекс массы тела, употребление алкоголя и отказ от визита к врачу из-за стоимости.
Кодирование категориальных переменных
Устанавливаю предварительно необходимые библиотеки.
Выполняем кодирование категориальных переменных и сохраняем результаты.
Выбор двух алгоритмов
По условию, необходимо выбрать два алгоритма. Я выбрала логическую регрессию и случайный лес.
Перед этим разделю датасет на обучающую и тестовую выборки для подготовки к обучению. 30% данных выделены для тестового набора, 70% данных для обучения.
Логическая регрессия
В рамках данной лабораторной работы логистическая регрессия была выбрана в качестве одного из основных алгоритмов машинного обучения для анализа и предсказания наличия сердечных заболеваний. Модель логистической регрессии была обучена на датасете, включающем множество переменных, таких как возраст, пол, курение, уровень холестерина и другие, которые считаются значимыми предикторами для сердечно-сосудистых заболеваний. Целью модели было определить, как эти переменные взаимодействуют между собой и влияют на вероятность развития сердечных заболеваний у пациентов.
Детализация метрик логистической регрессии:
1. Коэффициент регуляризации (C): Этот параметр контролирует степень регуляризации модели, что важно для предотвращения переобучения. Мы использовали разные значения C, что позволило исследовать, как изменение степени регуляризации влияет на производительность модели. Низкие значения C увеличивают регуляризацию, что может помочь модели лучше обобщать на новых данных, но также может привести к недообучению. Высокие значения снижают регуляризацию, увеличивая риск переобучения, но потенциально улучшая способность модели к заучиванию сложных шаблонов в данных.
2. Тип регуляризации (penalty): Применяла различные виды регуляризации (l1 и l2). L1 регуляризация способствует формированию разреженной модели, где некоторые коэффициенты могут стать равными нулю, что полезно для отбора признаков. L2 регуляризация, напротив, штрафует коэффициенты более равномерно и предпочтительна для случаев, когда все признаки предположительно важны или когда есть корреляция между признаками.
3. Оптимизация параметров. Использование GridSearchCV для оптимизации указанных параметров (C и penalty) позволило автоматически исследовать и сравнить различные комбинации настроек модели на кросс-валидационных подмножествах данных.
4. Оценка модели: Использование метрики accuracy в качестве критерия оценки в GridSearchCV помогло сфокусироваться на общей доле правильно классифицированных случаев. Оценка точности на кросс-валидационных наборах дала понять, насколько хорошо модель работает в среднем, обеспечивая более надежную оценку её производительности.
Средняя точность логистической регрессии (Logistic Regression, LR) на тестовых данных после проведения кросс-валидации методом K-Fold составила примерно 90.76%
