Skip to content

Este repositório reúne os projetos que desenvolvi durante o curso de Inteligência Artificial, Machine Learning e Deep Learning do INFNET, baseado na metodologia do MIT. Durante essa jornada, aprimorei meus conhecimentos em Machine Learning, aplicando técnicas como clusterização, classificação, validação de modelos e otimização de hiperparâmetros.

Notifications You must be signed in to change notification settings

GitMateusTeixeira/03-ml-modeling

Repository files navigation

infnet_logo Repositório de Machine Learning - Infnet

Este repositório contém projetos e modelos desenvolvidos ao longo do curso de Inteligência Artificial, Machine Learning e Deep Learning oferecido pelo INFNET, com metodologia do MIT.

Aqui, organizei os códigos e materiais das disciplinas concluídas, e o repositório será atualizado conforme avanço no curso.

road_map

Os projetos deste repositório estão na fase de modelagem, onde diferentes algoritmos de machine learning são testados, ajustados e avaliados para encontrar a melhor solução para cada problema. Essa etapa é essencial para transformar dados brutos em previsões e classificações confiáveis, garantindo modelos eficientes e bem ajustados.

Índice

Tecnologias

anaconda_logo Anaconda v. 23.7.4

jupyter_logo Jupyter Notebook v. 5.7.2

python_logo Python v. 3.12.4

Principais bibliotecas:

  • matplotlib_logo Matplotlib

  • numpy_logo Numpy

  • pandas_logo Pandas

  • scikit-learn_logo Scikit-learn

  • scipy_logo Scipy

  • seaborn_logo Seaborn

Progresso do curso

🟦🟦🟦⬜⬜⬜⬜⬜ (3 de 8 matérias concluídas)

Estrutura do repositório

Atualmente, temos os seguintes módulos concluídos:

➡️ infnet_clustering_pd: Algoritmos de Inteligência Artificial para Clusterização

➡️ infnet_cluster_validation_pd: Validação de Modelos de Clusterização

➡️ infnet_classification_pd: Algoritmos de Inteligência Artificial para Classificação

Trilha de aprendizado

⬆️ Voltar ao início

Nesta disciplina, aprendi a aplicar diferentes técnicas de clusterização (agrupamento) para segmentação de dados, explorando métodos baseados em partição, hierarquia e densidade, permitindo encontrar padrões ocultos sem a necessidade de rótulos. Além disso, compreendi como escolher o algoritmo mais adequado para diferentes tipos de conjuntos de dados e interpretar os resultados.

Pontos que aprendi:

  • K-Médias (K-Means): Algoritmo de clusterização baseado na minimização da distância entre pontos e centróides. Apliquei essa técnica para agrupar países com base em indicadores socioeconômicos.

  • K-Medóide (K-Medoid): Variante do K-Means que escolhe pontos reais do conjunto de dados como centróides, tornando-o mais robusto a outliers. Usei essa abordagem para reduzir o impacto de valores extremos nos agrupamentos.

  • Clusterização Hierárquica (HCluster): Método que constrói uma estrutura de agrupamento em formato de árvore. Usei essa abordagem para comparar diferentes estratégias de ligação entre clusters.

  • Agrupamento Espacial (DBSCAN): Algoritmo de clusterização baseado em densidade, robusto a outliers. Utilizei esse método para identificar grupos sem necessidade de definir o número de clusters previamente.

  • Agrupamento Espacial Denso (HDBSCAN): Extensão do DBSCAN que melhora a detecção de clusters com densidade variável. Apliquei essa técnica para segmentar dados em cenários onde os grupos possuíam diferentes tamanhos e formas.

  • Comparação de modelos: Comparei e identifiquei as diferenças entre os métodos de clusterização

➡️ Saiba mais

⬆️ Voltar ao início

Nesta disciplina, aprofundei o conhecimento sobre métricas de avaliação para garantir a qualidade dos clusters gerados. Também explorei técnicas de pré-processamento para melhorar os resultados dos modelos.

Os principais pontos que aprendi foram:

  • Pré-processamento de Dados: Etapa fundamental para melhorar a qualidade da clusterização. Apliquei técnicas como normalização, remoção de outliers e tratamento de dados ausentes para garantir melhores resultados nos agrupamentos.

  • Índice de Silhueta (Silhouette): Mede a separação entre os clusters e ajuda a determinar o número ideal de agrupamentos. Comparei os resultados entre K-Means e DBSCAN para encontrar o melhor modelo.

  • Índice Davies-Bouldin: Avalia a compacidade e separação dos clusters. Apliquei essa métrica para validar a segmentação de um conjunto de transações bancárias.

  • Clusterização de Séries Temporais: Utilização de métodos como Correlação Cruzada e DTW (Dynamic Time Warping) para medir similaridade entre séries temporais.

➡️ Saiba mais

⬆️ Voltar ao início

Nesta disciplina, aprendi a utilizar algoritmos supervisionados para classificar dados em diferentes categorias. Trabalhei com técnicas de pré-processamento, construção e validação de modelos para melhorar a precisão das previsões.

Alguns dos principais aprendizados foram:

  • Exploração de Dados: análise e pré-processamento de um dataset real de vinhos portugueses.

  • Pré-processamento de Dados: Transformação e normalização de variáveis para melhorar o desempenho dos modelos. Trabalhei com um conjunto de dados de vinhos portugueses, tratando valores ausentes e balanceando as classes.

  • Regressão Logística (Logistic Regression): Algoritmo estatístico para classificação binária. Treinei um modelo para prever a qualidade dos vinhos com base em suas propriedades físico-químicas.

  • Árvores de Decisão (Decision Tree): Método que divide os dados com base em perguntas hierárquicas. Usei essa técnica para analisar a importância de cada variável na classificação dos vinhos.

  • Máquinas Suportadas por Vetores (Support Vector Machine - SMV): Algoritmo que encontra o hiperplano ideal para separar as classes. Testei diferentes kernels para avaliar qual apresentava melhor desempenho no dataset.

  • Validação Cruzada (Cross Validation): Técnica para avaliar modelos de forma mais confiável. Apliquei Stratified K-Fold para garantir uma distribuição balanceada das classes nos treinamentos.

  • Otimização de Hiperparâmetros: apliquei GridSearchCV para encontrar as melhores configurações para cada modelo.

  • Métricas de Desempenho: Avaliei os modelos com diferentes métricas para entender sua eficácia:

    • Acurácia (Accuracy): Mede a proporção de previsões corretas sobre o total de amostras.

    • Precisão (Precision): Mede a taxa de verdadeiros positivos entre as previsões positivas do modelo. Essencial para problemas onde falsos positivos são críticos.

    • Revocação (Recall): Mede a capacidade do modelo de identificar corretamente os verdadeiros positivos, importante em problemas onde falsos negativos devem ser minimizados.

    • F1-Score: Média harmônica entre precisão e recall, sendo útil quando há desbalanceamento de classes.

  • Curva ROC e AUC: Comparação do desempenho dos modelos através da análise da taxa de verdadeiros e falsos positivos. Identifiquei que a Regressão Logística teve melhor performance na classificação dos vinhos.

➡️ Saiba mais

⬜ Engenharia de Machine Learning

🔁 Em andamento.

⬜ Processamento de Linguagem Natural

🔁 Em andamento.

⬜ Inteligência Artificial Generativa para Linguagem (LLM)

🔁 Em andamento.

⬜ Redes Neurais

🔁 Em andamento.

⬜ Deep Learning

🔁 Em andamento.

Sobre mim

⬆️ Voltar ao início

Minha foto
mt_logo Mateus Teixeira
Cientista de dados
Pós-graduando em Inteligência Artifcial pela INFNET

E-mail LinkedIn Instagram

About

Este repositório reúne os projetos que desenvolvi durante o curso de Inteligência Artificial, Machine Learning e Deep Learning do INFNET, baseado na metodologia do MIT. Durante essa jornada, aprimorei meus conhecimentos em Machine Learning, aplicando técnicas como clusterização, classificação, validação de modelos e otimização de hiperparâmetros.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published