
Случайный лес
Вторым алгоритмом я выбрала случайный лес. Случайный лес, как ансамблевая модель, состоящая из множества деревьев решений, я выбрала из-за его высокой точности и устойчивости к переобучению, что делает его идеальным для обработки сложных медицинских данных с множеством переменных.
Основные характеристики и настройка модели:
1. Количество деревьев (n_estimators): В модели случайного леса количество деревьев было установлено на уровне 100 и 200 для тестирования. Большее количество деревьев обычно увеличивает точность предсказаний и стабильность модели, но также повышает вычислительные затраты.
2. Максимальная глубина деревьев (max_depth): Были опробованы значения None (неограниченная глубина) и 10. Неограниченная глубина позволяет деревьям расти до тех пор, пока не будет достигнута чистота узлов, в то время как ограничение глубины помогает предотвратить переобучение.
3. Минимальное число образцов для разделения (min_samples_split) и минимальное количество образцов в листе (min_samples_leaf): Эти параметры были установлены равными 2 и 5 для разделения и 1 и 2 для листьев соответственно, что помогает контролировать размер деревьев и избежать излишней специфичности модели.
4. Метод бутстрапа (bootstrap): Использование бутстрапа (выборка с возвращением) было опробовано как включенным, так и выключенным, чтобы оценить его влияние на разнообразие и надежность деревьев.
Аналогично используем метод кросс-валидации (Stratified K-Fold) для оценки производительности модели случайного леса.
Подбор оптимальных гиперпараметров модели мо при помощи GridSearch.
Используем методику GridSearchCV для выбора оптимальных гиперпараметров модели. Это поможет улучшить её производительность.
Настройка параметров:
Коэффициент регуляризации (C): Использовались различные значения (0.001, 0.01, 0.1, 1, 10), чтобы определить, какая степень регуляризации лучше всего справляется с потенциальным переобучением, учитывая разнообразие и нелинейность данных.
Тип регуляризации (penalty): Варианты l1 и l2 были рассмотрены для оценки, как лассо (L1) и ридж (L2) регуляризации могут влиять на конечную модель. L1 может помочь в отборе признаков, обнуляя коэффициенты менее важных переменных, в то время как L2 штрафует коэффициенты более равномерно, предотвращая их чрезмерное увеличение.
GridSearchCV автоматически проводил кросс-валидацию на пяти подмножествах данных (cv=5), тестируя все возможные комбинации заданных гиперпараметров. Для каждой комбинации вычислялась средняя точность, и лучшая конфигурация сохранялась для дальнейшего использования.
В качестве метрики оценки использовалась точность (accuracy), что позволяло напрямую оценивать долю правильно классифицированных случаев сердечных заболеваний.
На основе результатов GridSearchCV были определены оптимальные параметры (best_params) и достигнута наилучшая точность (best_score). Эти настройки использовались для создания окончательной модели логистической регрессии (best_estimator_), которая затем применялась для предсказаний на независимом тестовом наборе данных.
Аналогично выполняем настройку и оптимизацию модели случайного леса.
Модель случайного леса также была оптимизирована с помощью GridSearchCV для подбора наилучших гиперпараметров, основываясь на точности (accuracy), что позволило автоматически тестировать и сравнивать различные комбинации параметров. Оптимизация параметров направлена на достижение наилучшего баланса между производительностью и обобщающей способностью модели.
После оптимизации, лучшая конфигурация случайного леса была использована для окончательного тестирования на независимом тестовом наборе данных. Эффективность модели была оценена с использованием метрики точности, и результаты показали, что случайный лес обеспечивает высокую точность в предсказании сердечных заболеваний, подтверждая его потенциал для клинического применения.
Вывод
Мы провели работу с датасетом "Heart Disease", выделили ключевые признаки и целевую переменную, которая предсказывала наличие или отсутствие сердечных заболеваний.
На начальном этапе мы осуществили анализ данных, включая оценку корреляций между различными признаками. Это помогло выявить наиболее значимые факторы. Изучение корреляций позволило нам исключить из модели коллинеарные признакия для повышения точности предсказаний. Кроме того, был проведен расчет Information Gain. Этот расчёт помог выявить важность каждого параметра для предсказания сердечных заболеваний.
Для обучения были выбраны две модели — логистическая регрессия (LR) и случайный лес (RandomForest). Эти методы были выбраны из-за их различных подходов к обработке данных и способности обрабатывать нелинейные зависимости между признаками. Применение GridSearchCV позволило нам тонко настроить гиперпараметры каждой модели, оптимизируя такие параметры как коэффициент регуляризации для LR и количество деревьев для случайного леса. Кросс-валидация использовалась для обеспечения надежности и обобщаемости результатов моделей.
Итоговые модели демонстрировали высокую точность в предсказании сердечных заболеваний, что свидетельствует о качестве проведенной предобработки данных и адекватности выбранных моделей. Точность логистической регрессии и случайного леса на тестовых данных позволила подтвердить эффективность и надежность этих подходов