Este projeto tem como objetivo prever dificuldades de enfrentamento com base em dados de saúde mental. Utilizamos um conjunto de dados coletados através de um formulário e aplicamos técnicas de aprendizado de máquina para criar um modelo preditivo.
Link para o notebook: Coping Struggles Prediction
data/
: Contém os dados utilizados no projeto.img/
: Contém imagens relacionadas ao projeto.Mental Health Dataset.csv
: Conjunto de dados principal.Respostas ao formulário.csv
: Respostas coletadas do formulário.
notebook/
: Contém notebooks Jupyter para análise e modelagem.Coping_Struggles_ML.ipynb
: Notebook principal com a análise e modelagem.final_model.joblib
: Modelo final treinado.requirements.txt
: Dependências do projeto.
Certifique-se de ter o Python 3.11.9 instalado. Você pode especificar a versão do Python usando o arquivo .python-version
.
-
Clone o repositório:
git clone https://github.com/victorlcastro-dsa/coping_struggles_prediction.git cd coping_struggles_prediction
-
Crie um ambiente virtual e ative-o:
python -m venv venv source venv/bin/activate # No Windows use `venv\Scripts\activate`
-
Instale as dependências:
pip install -r notebook/requirements.txt
-
Navegue até o diretório
notebook
e inicie o Jupyter Notebook:cd notebook jupyter notebook
-
Abra o notebook
Coping_Struggles_ML.ipynb
e execute as células para reproduzir a análise e a modelagem.
As bibliotecas necessárias incluem:
pandas
numpy
matplotlib
seaborn
plotly
scikit-learn
Os dados são carregados do arquivo Mental Health Dataset.csv
e armazenados em um DataFrame do pandas.
Análise dos atributos do dataset para entender suas características e identificar potenciais preditores.
Gráficos de barras e mapas de calor são utilizados para visualizar a distribuição dos dados e correlações entre variáveis.
Transformações como One-Hot Encoding e Label Encoding são realizadas para preparar os dados para a modelagem.
Técnicas de seleção de features são usadas para escolher os atributos mais relevantes.
Testes com diferentes modelos de aprendizado de máquina, incluindo:
- Regressão Logística
- K-Nearest Neighbors
- Random Forest
- Gradient Boosting
GridSearchCV é utilizado para ajustar os hiperparâmetros do modelo Random Forest.
Combinação de modelos utilizando Voting Classifier para criar um modelo mais robusto.
Desempenho do modelo final avaliado com métricas como precisão, recall, F1-score e acurácia.
O modelo final, um Voting Classifier combinando Random Forest e AdaBoost, alcançou uma acurácia de 86.58% no conjunto de testes.
Contribuições são bem-vindas! Abra issues e pull requests para colaborar.