Machine Learning – Meu repositório no github

Digitos do MNIST gerado por uma rede GAN
Digitos do MNIST gerado por uma rede GAN

Seja bem-vindo ao meu repositório de Machine Learning no GitHub! Aqui, você encontrará os códigos que desenvolvi durante a disciplina de Aprendizagem de Máquina do doutorado no Mackenzie. Você encontrará diversos Jupyter Notebook para aprender Machine Learning utilizando Python e abordando desde Análise Exploratória Descritiva até implementações práticas de Aprendizado Supervisionado e Aprendizado não Supervisionado, além de boas práticas como Validação Cruzada, Grid Search e Serialização do Modelo e códigos que realizam comparações dos algoritmos estudados.

Navegue pelo repositório de machine learning com Python e execute todos os códigos no Google Colab para aprimorar suas habilidades em Machine Learning. E claro, colabore para que todos possamos aprender cada vez mais!

Meu repositório no github

O repositório é dedicado a compartilhar os códigos com resoluções de problemas de Machine Learning. Ajudam no entendimento desta área de atuação que vem crescido bastante nos últimos anos. Aqui você irá encontrar exemplos de algoritmos no repositório de machine learning com Python explicados de maneira detalhada (ao menos estou tentando deixar o mais detalhado que consigo, no tempo que tenho).

Os códigos estão organizados em grupos, onde há o nome do arquivo e uma breve descrição do que ele tem de implementação.

Análise exploratória descritiva

Existem os códigos que fazem a exploração de dados de um dataset de Detecção de Fraude e outro da Iris. Além de uma exploração de dados com os dígitos do MNIST.

Aprendizado supervisionado

Só coloquei os códigos de algoritmos de classificação, porém, tem KNN, Árvore de Decisão e Multi-Layer Perceptron (Rede Neural). Tem espaço para incluir outros algoritmos de classificação, como também há espaço para adicionar algoritmos de regressão, por que eu não subi nenhum.

Aprendizado não supervisionado

Apesar de já ter o arquivo para o DBScan e o K-Means, só o K-Means que escrevi os códigos… para o DBScan eu comecei a fazer a parte teórica mas não implementei nada. Há espaço para colaborar aqui também…

Além, é claro, de outros algoritmos que quiserem

Boas práticas

Tem códigos utilizando Validação Cruzada, Grid Search e Serialização de Modelos… Mas aqui também há espaço para trazerem mais boas práticas 🙂

Comparação de algoritmos

Para o trabalho de comparar os algoritmos, fiz a junção de vários códigos do repositório e então comparei KNN, Árvore de Decisão e Multi-Layer Perceptron para a base de dados MNIST… Como eu queria garantir que os dígitos testados não tivessem sido utilizados de forma alguma, criei uma rede adversaria generativa para que fosse possível criar dígitos artificiais. Então, com esses dígitos, eu posso testar os algoritmos em si e comparar seus resultados.

Animação com a geração artificial dos dígitos entre a época 0 e 100
Animação com a geração artificial dos dígitos entre a época 0 e 100

De bonus ainda tem um código que fiz para juntar as imagens dos dígitos em cada uma das épocas e construir um gif animado. Assim fica bem legal ver a evolução das gerações de dígitos artificiais ao longo das épocas da GAN.

Contribua com o repositório de machine learning

Você já fez alguma coisa de ML e gostaria de subir nesse repositório? Se for até o final do Readme.md vai ver algumas instruções rápidas para contribuir além de uma playlist explicando como fazer isso. Mas mesmo assim, aqui está uma lsita simplificada de passos para contribuir:

  1. Crie uma conta no GitHub: Se você ainda não tem uma, você pode criar uma gratuitamente no site do GitHub.
  2. Fork do repositório: Abra o link do projeto e faça um “fork” dele. Isso cria uma cópia do projeto na sua conta do GitHub.
  3. Clone o repositório para o seu computador: Use o comando git clone seguido do URL do seu fork para baixar o repositório para o seu computador.
  4. Faça suas alterações: Faça as alterações que você acha que melhoram o projeto.
  5. Commit suas alterações: Use o comando git commit -m seguido de uma mensagem descritiva para salvar suas alterações.
  6. Push suas alterações para o GitHub: Use o comando git push origin seguido do nome da sua branch (main) para enviar suas alterações para o seu fork no GitHub.
  7. Abra um Pull Request: Volte para o seu fork no GitHub, selecione a sua branch e clique no botão “New pull request”. Escreva uma descrição detalhada das suas alterações e então clique em “Create pull request”.

A partir disso eu recebo o seu PR, analiso o que você codou e faço o merge para o repositório. Dando os devidos créditos à você, é claro! 🙂

Quer estudar mais

Quer estudar os algoritmos e implementá-los no repositório de machine learning com Python? Com o livro Mãos à obra: aprendizado de máquina com scikit-learn & tensorflow você vai aprender bastante, assim como com Data Science do zero: noções fundamentais com Python. Então não deixe de estudar e se aperfeiçoar nessa disciplina!

Sobre Diego Nogare 346 Artigos
Diego Nogare é Gerente Técnico de Engenharia de Machine Learning no Itaú-Unibanco. Também é professor em programas de pós graduação no Mackenzie e na FIAP, em São Paulo. Foi nomeado como Microsoft MVP por 11 anos seguidos, e hoje faz parte do programa Microsoft Regional Director.