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.
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.- 1. Tecnologias
- 2. Progresso do Curso
- 3. Estrutura do Repositório
- 4. Trilha de Aprendizado
- 5. Sobre mim
Principais bibliotecas:
🟦🟦🟦⬜⬜⬜⬜⬜ (3 de 8 matérias concluídas)
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
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
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
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
🔁 Em andamento.
🔁 Em andamento.
🔁 Em andamento.
🔁 Em andamento.
🔁 Em andamento.