Este repositório contém três atividades de Machine Learning desenvolvidas em Python, utilizando datasets reais para diferentes objetivos e tipos de algoritmos. A seguir, uma visão geral de cada atividade, seu objetivo, o algoritmo principal utilizado e o dataset correspondente.
- Objetivo: Criar um modelo que classifique comentários de usuários em três categorias:
- Crítica Negativa
- Crítica Construtiva
- Proposta
- Algoritmo Principal: Random Forest (classificação)
- Fluxo Resumido:
- Carregamento e limpeza do dataset.
- Mapeamento de categorias personalizadas a partir de métricas de sentimento e palavras-chave.
- Vetorização de texto usando TF-IDF.
- Treino e avaliação de um classificador Random Forest.
- Dataset:
War_Data_Sentiment.csv- Fonte: Kaggle – The People Opinions About The War In 2023
- Contém comentários de usuários sobre guerra com pontuação de sentimento e rótulo de emoção.
- Arquivo Principal:
ATV01-MachineLearning-Douglas.py - Link para detalhes: README_ATV01.md
- Objetivo: Prever o preço médio de jogos na Steam ao longo do tempo utilizando regressão de séries temporais.
- Algoritmo Principal: Facebook Prophet (modelagem de séries temporais)
- Fluxo Resumido:
- Leitura e pré-processamento do dataset, conversão de datas e agregação diária.
- Criação de regressores extras (razão de avaliações e log de proprietários).
- Treino do modelo Prophet no conjunto de treino e previsão para o conjunto de teste.
- Avaliação com métricas (MSE, RMSE, MAE, R²) e visualização dos componentes sazonais e de tendência.
- Dataset:
steam_store_games_clean.csv- Origem: Dados de jogos da Steam com informações de data de lançamento, preço, avaliações e número de proprietários.
- Arquivo Principal:
ATV02-Douglas.py - Link para detalhes: README_ATV02.md
- Objetivo: Agrupar jogos da Steam em clusters com base em características como gêneros, tags e compatibilidade com Linux.
- Algoritmo Principal: K-Means (clustering)
- Fluxo Resumido:
- Carregamento e limpeza do dataset.
- One-Hot Encoding de gêneros e das 20 tags mais frequentes.
- Criação de indicador de compatibilidade com Linux.
- Cálculo do método do cotovelo para determinar o número ótimo de clusters ((k)).
- Treino do modelo K-Means e atribuição de clusters aos jogos.
- Análise de centróides, proporção de suporte a Linux por cluster e visualizações via PCA 2D e 3D.
- Dataset:
steam.csv- Origem: Dados públicos de jogos da Steam contendo
appid,name,genres,steamspy_tagseplatforms.
- Origem: Dados públicos de jogos da Steam contendo
- Arquivo Principal:
main.py - Link para detalhes: README_ATV03.md
- Leia este README Principal para entender a estrutura geral e os objetivos de cada atividade.
- Abra o README de cada atividade (links acima) para obter detalhes sobre instalação, execução, descrições completas dos scripts e resultados esperados.
- Execute os scripts conforme indicado em cada README específico para reproduzir os experimentos e visualizações.
Para todas as atividades, recomenda-se criar um ambiente virtual Python e instalar bibliotecas essenciais:
pandasnumpyscikit-learnmatplotlib(quando aplicável)prophet(somente Atividade 02)
python -m venv venv
source venv/bin/activate # No Windows: venv\Scripts\activate
pip install pandas numpy scikit-learn matplotlib prophet├── ATV01-MachineLearning-Douglas.py
├── README_ATV01.md
├── War_Data_Sentiment.csv
│
├── ATV02-Douglas.py
├── README_ATV02.md
├── steam_store_games_clean.csv
│
├── main.py
├── README_ATV03.md
├── steam.csv
│
└── README_PRINCIPAL.md ← Este arquivo
Para dúvidas ou sugestões sobre as atividades, entre em contato com o autor do repositório, eu.