ОПИСАНИЕ ПРОЕКТА
Депрессия... Часто ли мы задаемся вопросом о том, как она влияет на общее качество жизни среди студентов? На мой субъективный взгляд, это одна из глобальных проблем, которая заслуживает не только внимания, но и активных действий. Данный проект, в свою очередь, направлен на шаг к пониманию и решению этой сложной задачи. Проанализировав факторы, способствующие развитию депрессии, а именно: академическое давление, финансовые трудности, качество сна, социальные аспекты и так далее, мы сможем с разных сторон и более глубоко рассмотреть данную проблему. Вспомним слова Альберта Эйнштейна: «В кризисной ситуации важно не только решить проблему, но и понять ее корни…».
В ходе работы было более разумным применить следующие модели графиков: столбчатые диаграммы, ящик с усами и тепловую карту. Также в анализе использовались базы данных, обнаруженные на сайте Kaggle. Для более грамотной терминологии кода и ответов на некоторые вопросы был использован DeepSeek. А для предсказания депрессии у студентов выбрана многослойная нейронная сеть (Deep Neural Network, DNN). Цветовая же гамма применялась по следующим мотивам: серый — цвет депрессии, зелёный — олицетворение ментального здоровья человека.
ЭТАПЫ РАБОТЫ
Загрузка и обработка данных
Для начала нам нужно создать код, который, в свою очередь, подготовит данные для дальнейшего анализа, включая визуализацию и построение моделей машинного обучения, чтобы предсказать вероятность депрессии среди студентов.
import pandas as pd import os import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn. model_selection import train_test_split from sklearn. preprocessing import LabelEncoder, StandardScaler from sklearn.ensemble import RandomForestClassifier from sklearn. metrics import accuracy_score, classification_report, confusion_matrix import tensorflow as tf from tensorflow.keras.models import load model from tensorflow. keras.models import Sequential from tensorflow.keras. layers import Dense, Dropout from tensorflow.keras.optimizers import Adam import warninas warnings.filterwarnings ("ignore")
sns.set_style("darkgrid"') custom_palette = sns. color_palette ( ["#4D4D4D", "#6A9F6F", "#A3D977", "#4b803b"]) file_path = "Student Depression.csv" df = pd. read_csv(file_path) df. head ()
Вышеупомянутый код импортирует библиотеки для начала работы с данными, загружает их, настраивает визуализацию (устанавливается стиль для графиков, и задается пользовательская цветовая палитра), выводит первые строки для предварительного просмотра.
Анализ распределения ключевых переменных
Далее нам нужно создать визуализацию распределения ключевых переменных из DataFrame df с использованием библиотеки matplotlib и seaborn.
fig, axes = plt.subplots (2, 3, figsize=(18, 10)) fig.suptitle("Распределение ключевых переменных", fontsize=16) for ax in axes.flat: ax.set facecolor (custom palette [0]) ax.grid(False) sns.histplot (df ['Age"], bins=20, kde=True, ax=axes [0, 0], color=custom_palette [1], edgecolor= ' #000') axes 10, 0].set_title ("Возраст") sns.histplot (df ["CGPA"], bins=20, kde=True, ax=axes [0, 1], color=custom_palette [2], edgecolor='#000') axes [0, 1].set_title("Средний балл") sns.histplot(df ["Work/Study Hours"], bins=20, kde=True, ax=axes [0, 21, color=custom_palette [3], edgecolor='#000') axes [0, 2].set_title("Учебные/рабочие часы") sns.histplot (df ["Financial Stress'], bins=5, discrete=True, ax=axes [1, 01, color=custom_palette [1], edgecolor='#000') axes [1, 0].set_title("Финансовый стресс") sns.histplot (df ["Academic Pressure"], bins=5, discrete=True, ax=axes [1, 1], color=custom palette [2], edgecolor= '#000') axes [1, 1].set_title ("Академическая нагрузка") sns.histplot (df ['Depression"], bins=2, discrete=True, ax=axes [1, 2], color=custom_palette [3], edgecolor='#000') axes [1, 2].set_title("Депрессия") plt.tight_layout (rect=[0, 0, 1, 0])plt.show() plt.show()
Этот код позволяет визуализировать распределение ключевых переменных, таких как возраст, средний балл, учебные/рабочие часы, финансовый стресс, академическая нагрузка и депрессия, что помогает лучше понять структуру данных.
Гистограммы распределения основных признаков позволяют выявить закономерности и особенности среди студентов, а также определить возможные факторы риска депрессии.
1.Возраст: большинство респондентов находятся в возрастном диапазоне 18-30 лет, что соответствует студентам и молодым специалистам. Распределение имеет небольшой сдвиг в сторону старших возрастных групп.
2.CGPA (академическая успеваемость): значения CGPA в основном сосредоточены в диапазоне 7-9, что указывает на то, что большинство студентов имеют хорошую академическую успеваемость. Отсутствие значимой корреляции CGPA с депрессией говорит о том, что успеваемость сама по себе не является определяющим фактором.
3.Рабочие/учебные часы: основная масса студентов тратит 6-10 часов в день на учебу или работу. Увеличенное количество рабочих/учебных часов может способствовать стрессу, но этот фактор требует дополнительного анализа.
4.Финансовый стресс: распределение показывает, что большинство студентов испытывают средний или высокий уровень финансового стресса. Это подтверждает необходимость поддержки студентов в финансовых вопросах.
5.Академическая нагрузка: распределение показывает, что студенты чаще всего оценивают свою учебную нагрузку на 3-5 баллов по шкале, что свидетельствует о том, что для большинства она воспринимается как высокая.
6.Статус депрессии: примерно 58,5% респондентов имеют депрессивное состояние. Это высокий показатель, указывающий на распространенность проблемы среди студентов.
Выводы: 1)финансовый стресс и академическая нагрузка оказывают заметное влияние на студентов, большинство респондентов испытывают средний или высокий уровень этих факторов, что может быть причиной высокого уровня депрессии; 2)большинство студентов имеют хорошую академическую успеваемость (CGPA 7-9), но она не является ключевым фактором депрессии; 3)рабочие/учебные часы могут быть дополнительным фактором стресса, однако требуется детальный анализ их влияния; 4)высокий процент студентов с депрессией (58,5%) требует особого внимания к психическому здоровью студентов и разработки профилактических программ.
Анализ корреляционной матрицы
После переходим к коду, который выполняет корреляционный анализ между переменными в DataFrame df. Визуализация корреляционной матрицы в виде тепловой карты помогает быстро и наглядно оценить взаимосвязи между переменными.
df_corr = df. copy () categorical cols = ["'Gender", "Sleep Duration", "Dietary Habits" , "Degree", "Have you ever had suicidal thoughts ?" "Family History of Mental Illness"] for col in categorical cols: df_corr[col] = LabelEncoder().fit_transform(df_corr [col]) corr_matrix = df_corr. corr(numeric_only=True) plt.figure(figsize= (14, 6)) sns.heatmap(corr_matrix, annot=True, cmap=custom_palette, fmt=" .2f", linewidths=0.5) plt.title("Корреляция между переменными") plt.show()
Корреляционная матрица позволяет определить взаимосвязи между различными факторами, влияющими на депрессию студентов.
Основные наблюдения: 1)финансовый стресс имеет значительную положительную корреляцию с депрессией. Это указывает на то, что студенты, испытывающие финансовые трудности, имеют более высокий риск депрессии; 2)академическая нагрузка демонстрирует умеренную положительную корреляцию с депрессией. Это подтверждает гипотезу о том, что высокая учебная нагрузка может способствовать ухудшению психического здоровья; 3)рабочие/учебные часы имеют слабую положительную корреляцию с депрессией. Это означает, что студенты, проводящие больше времени за учебой или работой, могут быть подвержены депрессии но этот фактор не является решающим; 4)CGPA (академическая успеваемость) не имеет значимой корреляции с депрессией. Это означает, что уровень успеваемости не является ключевым фактором риска депрессии; 5)наличие суицидальных мыслей и семейная история психических заболевани сильно коррелируют с депрессией. Это подтверждает, что психологические и генетические факторы играют важную роль.
Выводы: 1)финансовый стресс и академическая нагрузка являются основными предикторами депрессии; 2)рабочие/учебные часы могут оказывать влияние, но не являются ключевым фактором; 3)успеваемость не оказывает значимого влияния на риск депрессии; 4)личностные и семейные психологические факторы значительно повышают вероятность депрессии.
Анализ дополнительных факторов, влияющих на депрессию
Далее создаем код для визуализации анализа дополнительных факторов, влияющих на состояние человека.
fig, axes = plt.subplots(1, 3, figsize= (18, 6)) fig.suptitle ("Дополнительные факторы, влияющие на депрессию", fontsize=16) sns. countplot (x="Sleep Duration", hue="Depression", data=d, palette=custom_palette, ax=axes [0]) axes [O].set title "Продолжительность сна и депрессия") sns.countplot (×="Dietary Habits", hue="Depression", data=df, palette=custom_palette, ax=axes [1]) axes [1].set title ("Пищевые привычки и депрессия") sns.boxplot (x="Depression", y="Study Satisfaction", data=df, palette=custom_palette, ax=axes [2]) axes [2].set title ("Удовлетворенность учебой и депрессия") plt.tight_layout(rect=[0, 0, 1, 0.95]) plt.show()
В данном разделе представлены графики, иллюстрирующие влияние продолжительности сна, пищевых привычек и удовлетворенности учебой на вероятность депрессии среди студентов.
- Влияние продолжительности сна на депрессию: на графике отображено распределение студентов по продолжительности сна, сгруппированное по наличию депрессии. Что можно отметить: 1)студенты, спящие менее 5 часов, чаще находятся в депрессии; 2)оптимальная продолжительность сна (7-8 часов) коррелирует с меньшей вероятностью депрессии; 3)группы с экстремально низким и высоким количеством сна имеют более высокий уровень депрессии. Из этого следует: 1)недостаток сна оказывает значительное влияние на психическое состояние студентов; 2)слишком длинный сон также может быть индикатором депрессии; 3)оптимальное количество сна (7-8 часов) может быть защитным фактором против депрессии.




