📝 This README is available in English and Portuguese. 📌 Click here to read in Portuguese.
This repository documents my Data Science journey, with emphasis on:
- 🧼 Robust data cleaning and preprocessing
- 📊 Exploratory analysis and statistical validation (hypothesis tests)
- 🤖 Supervised machine learning with critical thinking
- 🧠 Learning from mistakes and validation procedures
- 🚀 End-to-End pipelines (ETL → Modeling → Deploy)
⚡ Project Highlights (Click on the title of the project to be redirected to more detailed description)
📌 Full-stack Data Science: API Ingestion, Random Forest & Web App Deploy. A complete production pipeline that predicts Copa do Brasil match outcomes. It automates data fetching from APIs, calculates rolling averages for team form, and serves predictions via an interactive Streamlit dashboard.
🔗 Repository → JonasMelo21/futebol-preditor
📌 Supervised classification with critical label correction and safe SMOTE application. I manually corrected mislabeled target values (present in the original Kaggle dataset), applied SMOTE only after the data split, and built solid pipelines that achieved 96% accuracy and macro F1-score.
🔗 Notebook → projeto1.ipynb
📌 Combination of inferential statistics and neural networks. I applied hypothesis tests (Chi-square, Mann-Whitney, Kruskal-Wallis) before modeling to validate business assumptions and improve interpretability.
🔗 Notebook → projeto2.ipynb
📌 Linear regression and interpretable classification based on real-world housing features. Achieved R² of 0.82 and classified listings as "cheap or expensive" with 84% accuracy, using real estate attributes like size, rooms, garage, and distance from city center.
🔗 Notebook → projeto3.ipynb
🔗 Repository → JonasMelo21/futebol-preditor
A production-ready Machine Learning application that predicts football match results based on team form (Rolling Averages).
⚙️ Architecture & Tech Stack:
- ETL: Automated ingestion from RapidAPI (API-Football) using Python.
- Feature Engineering: Calculated rolling averages (last 5 games) for Goals, Possession, and Shots on Target.
- Modeling: Random Forest Classifier trained on historical data.
- Deploy: Interactive web application built with Streamlit and hosted on Streamlit Cloud.
📊 Features:
- Real-time probability calculation for Home Win, Draw, or Away Win.
- Interactive Radar Charts (Plotly) comparing team statistics.
- CI/CD pipeline integrated with GitHub.
Supervised classification task using educational data (age, race, GPA, etc.), with a strong focus on data cleaning and class balance.
🌟 Key Points:
- Fixed target labeling issues in the
GradeClasscolumn - Applied SMOTE after train-test split to avoid data leakage
- Built a clean and interpretable pipeline
📊 Results:
- Accuracy: 96%
- Macro F1-score: 0.96
- High generalization even under imbalance
Used statistical inference and MLPs to predict customer churn while ensuring explainability.
🔬 Statistical Tests:
- Chi-square → 📌 Gender influences churn
- Mann-Whitney → 📌 Salary has no significant impact
- Kruskal-Wallis → 📌 Product count is related to churn
🤖 Modeling:
- MLP with ReLU hidden layers and Sigmoid output
- Adam optimizer, Binary Crossentropy loss
- SMOTE balancing and normalized features
📈 Results:
- Accuracy: 82%
- F1-score: 59%
- Recall: 67%
- Precision: 54%
💡 Insights:
- Age > 40 doubles churn risk
- German clients churn more
- Inactive users with high balances are more likely to leave
Estimated apartment rental prices and built a binary classifier for "cheap vs expensive".
🔍 Key Insights from EDA:
- Apartment size has a strong positive impact
- Distance from downtown has negative impact
- Coefficients are easy to interpret and useful
📉 Regression Results:
- MAE: R$158.61
- R²: 0.82
- Coefficients:
- +R$24.03/m²
- +R$123.95/room
- +R$101.11/bathroom
- +R$196.86 for garage
- –R$51.10/km from city center
📊 Classification Results:
- Accuracy: 84%
- Precision: 87%
- Recall: 83%
⚠️ 18 false negatives → Expensive rentals classified as cheap
🚧 Next Steps:
- Feature engineering
- Outlier handling
- Try advanced models (Random Forest, SVM, Gradient Boosting)
📌 Clique aqui para voltar ao topo em inglês.
Este repositório documenta meus estudos em Ciência de Dados, com foco em:
- 🧼 Limpeza e pré-processamento robusto
- 📊 Análise exploratória e validação estatística (testes de hipótese)
- 🤖 Modelagem supervisionada com raciocínio crítico
- 🧠 Aprendizado com validações e erros
- 🚀 Pipelines End-to-End (ETL → Modelagem → Deploy)
📌 Data Science Full-stack: Ingestão de API, Random Forest e Web App. Um pipeline de produção completo que prevê resultados da Copa do Brasil. Automatiza a busca de dados via API, calcula médias móveis para "forma" do time e serve previsões via dashboard interativo no Streamlit.
🔗 Repositório → JonasMelo21/futebol-preditor
📌 Classificação supervisionada com correção crítica de rótulos e SMOTE aplicado de forma segura. Corrigi manualmente os rótulos da variável alvo (que estavam errados no Kaggle), apliquei SMOTE após o split e construí pipelines limpas que resultaram em 96% de acurácia e F1-score macro.
🔗 Notebook → projeto1.ipynb
📌 Integração de testes estatísticos com rede neural supervisionada. Utilizei testes como Qui-quadrado, Mann-Whitney e Kruskal-Wallis antes de treinar uma MLP, garantindo decisões interpretáveis e validadas.
🔗 Notebook → projeto2.ipynb
📌 Regressão linear e classificação interpretável baseada em variáveis reais de imóveis. Obtive R² de 0.82 e classifiquei os imóveis como “caros ou baratos” com 84% de acurácia, com base em características como metragem, quartos, garagem e distância do centro.
🔗 Notebook → projeto3.ipynb
🔗 Repositório → JonasMelo21/futebol-preditor
Uma aplicação de Machine Learning pronta para produção que prevê resultados de jogos com base na forma recente (Médias Móveis).
⚙️ Arquitetura e Stack:
- ETL: Ingestão automatizada da RapidAPI (API-Football) usando Python.
- Engenharia de Features: Cálculo de médias móveis (últimos 5 jogos) para Gols, Posse e Chutes ao Gol.
- Modelagem: Random Forest Classifier treinado com dados históricos.
- Deploy: Aplicação web interativa construída com Streamlit e hospedada na nuvem.
📊 Funcionalidades:
- Cálculo de probabilidade em tempo real (Vitória Casa, Empate, Vitória Visitante).
- Gráficos de Radar (Plotly) interativos comparando estatísticas.
- Pipeline de CI/CD integrado ao GitHub.
Classificação baseada em dados educacionais (idade, etnia, faltas, etc.), com foco em decisões bem fundamentadas desde o pré-processamento.
🌟 Destaques:
- Corrigi um erro do dataset original na coluna
GradeClass, que atribuía os alunos a classes incorretas com base em seu GPA. - Usei SMOTE com segurança, após o split, evitando vazamento
- Construi pipeline robusto e interpretável
📊 Resultados:
- Acurácia: 96%
- F1-score (macro): 0.96
- Estabilidade mesmo com dados desbalanceados
Predição de churn usando inferência estatística e MLP com foco em confiabilidade e explicabilidade.
🔬 Testes aplicados:
- Qui-quadrado → 📌 Gênero influencia no churn
- Mann-Whitney → 📌 Salário não tem impacto significativo
- Kruskal-Wallis → 📌 Número de produtos tem relação com churn
🤖 Modelagem:
- MLP com ReLU e saída Sigmoid
- Otimizador Adam, Binary Crossentropy
- SMOTE + normalização dos dados
📈 Resultados:
- Acurácia: 82%
- F1-score: 59%
- Recall: 67%
- Precisão: 54%
💡 Insights práticos:
- Idade > 40 dobra o risco de churn
- Clientes da Alemanha saem mais
- Clientes inativos com saldo alto têm maior chance de sair
Estimativa do preço do aluguel e classificação de imóveis como caros ou baratos.
🔍 Descobertas da EDA:
- Área do imóvel impacta positivamente
- Distância do centro impacta negativamente
- Coeficientes intuitivos e úteis
📉 Resultados da Regressão:
- MAE: R$158,61
- R²: 0.82
- Coeficientes:
- +R$24,03/m²
- +R$123,95/quarto
- +R$101,11/banheiro
- +R$196,86 com garagem
- –R$51,10/km do centro
📊 Resultados da Classificação:
- Acurácia: 84%
- Precisão: 87%
- Recall: 83%
⚠️ 18 falsos negativos → imóveis caros classificados como baratos
🚧 Melhorias futuras:
- Engenharia de atributos
- Tratamento de outliers
- Testar modelos robustos (Random Forest, SVM, Gradient Boosting)
📌 Novos projetos em breve, com foco em desafios reais, rigor estatístico e alto valor analítico.