Skip to content

polloncarlos/ensaio_machine_learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🧠 Ensaio de Machine Learning

📘 Descrição

Este projeto tem como objetivo realizar um estudo exploratório e prático sobre algoritmos de Machine Learning, aplicando diferentes técnicas em problemas de classificação, regressão e agrupamento. O foco está em compreender o comportamento e as limitações dos modelos, além de avaliar como diferentes abordagens influenciam os resultados.

🎯 Objetivo

Explorar, treinar e comparar modelos de aprendizado de máquina em diferentes contextos, identificando padrões e avaliando desempenho com base em métricas estatísticas e visuais.

🧩 Planejamento da Solução

Produto Final

Um conjunto de ensaios que demonstram o processo completo de modelagem, desde a preparação dos dados até a análise dos resultados, servindo como base de aprendizado e referência para futuros projetos.

Algoritmos / Módulos Envolvidos

Classificação
• Algoritmos: KNN, Decision Tree, Random Forest, Logistic Regression
• Métricas de performance: Accuracy, Precision, Recall, F1-Score

Regressão
• Algoritmos: Linear Regression (Simples, Lasso, Ridge, Elastic Net), Polynomial Regression (Simples, Lasso, Ridge, Elastic Net), Decision Tree Regressor, Random Forest Regressor
• Métricas de performance: R², MSE, RMSE, MAE, MAPE

Agrupamento
• Algoritmos: K-Means, Affinity Propagation
• Métricas de performance: Silhouette Score

Ferramentas Utilizadas

Python, Scikit-learn

⚙️ Desenvolvimento

Estratégia da Solução

O processo foi conduzido de forma estruturada: após a preparação dos dados (tratamento e normalização), os modelos foram treinados e validados com cross-validation para garantir robustez. Em seguida, o ajuste de hiperparâmetros com GridSearchCV, e por fim, a avaliação de desempenho com base nas principais métricas de cada tipo de problema.

Etapas do Processo

  1. Divisão dos dados - separação em treino, validação e teste.
  2. Treinamento inicial - execução dos modelos com parâmetros padrão (default) para estabelecer uma linha de raciocínio inicial.
  3. Avaliação preliminar - análise de desempenho nos conjuntos de treino e validação para identificar tendências de underfitting ou overfitting.
  4. Otimização - ajuste dos principais hiperparâmetros até encontrar as combinações com melhor equilíbrio entre desempenho e generalização.
  5. Treinamento final - re-treinamento do modelo unindo os conjuntos de treino e validação, utilizando os hiperparâmetros otimizados.
  6. Análise final - avaliação do modelo otimizado sobre o conjunto de teste e registro dos principais insights obtidos.

🧠 Insights Obtidos

Classificação
Modelos baseados em árvores apresentaram desempenho superior, indicando que a base de dados não exige abordagens paramétricas para alcançar boas métricas de performance.

Regressão
As técnicas de regularização tiveram desempenho inferior às versões simples, sugerindo a necessidade de uma seleção de atributos mais criteriosa e um tratamento mais refinado das variáveis independentes, além da possibilidade de haver poucas variáveis irrelevantes para que a regularização traga ganhos efetivos.

Modelos polinomiais
Apresentaram alto custo computacional e maior propensão ao overfitting em graus elevados, reduzindo a eficiência do treinamento.

Clusterização
Os resultados ficaram próximos da média, com baixa interpretabilidade e formação de diversos clusters com pouca similaridade entre as amostras, o que indica padrões pouco definidos nos dados.

Comparação geral
Modelos de classificação e regressão mantiveram consistência nas métricas ao simular o ambiente de produção com o conjunto de teste, sem perdas significativas de desempenho.

⚙️ Resultados

Classificação

Regressão

Clusterização

🧩 Conclusão

Este ensaio de Machine Learning consolidou meu entendimento sobre o comportamento e os limites dos principais algoritmos supervisionados e não supervisionados. Foi possível observar como os modelos baseados em árvores são altamente sensíveis à profundidade e ao número de estimadores. Nos algoritmos de regressão, ficou evidente o impacto do grau polinomial entre underfitting e overfitting. De forma geral, o projeto foi fundamental para aprimorar minha leitura sobre métricas, compreender a dinâmica entre complexidade e generalização.

🚀 Próximos passos

Pretendo expandir meu conhecimento aplicando técnicas mais avançadas, como ensemble methods e boosting, além de explorar modelos mais robustos como XGBoost e LightGBM. Também planejo aprofundar a análise de feature selection e feature engineering, buscando entender como diferentes transformações e escolhas de variáveis impactam a performance final dos modelos.

About

Projetos de classificação, regressão e clusterização — fundamentos de Machine Learning.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors