{"id":28296437,"url":"https://github.com/mgckaled/ignite-devia-supervised_algorithms","last_synced_at":"2026-04-12T11:33:02.883Z","repository":{"id":207939774,"uuid":"720429705","full_name":"mgckaled/ignite-devia-supervised_algorithms","owner":"mgckaled","description":"Repositório que reuni os módulos 7 ao 13 da Formação Desenvolvimento IA 2023-2024, desenvolvido pela Rocketseat Education.","archived":false,"fork":false,"pushed_at":"2025-02-21T19:46:06.000Z","size":33889,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-15T10:40:44.998Z","etag":null,"topics":["gradio","joblib","pandas","python","scikit-learn","statsmodels","uvicorn"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mgckaled.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-18T13:13:15.000Z","updated_at":"2025-02-21T19:46:09.000Z","dependencies_parsed_at":"2024-01-18T13:12:19.582Z","dependency_job_id":"f7c13696-13ce-4c5a-91f4-3e417331b4f5","html_url":"https://github.com/mgckaled/ignite-devia-supervised_algorithms","commit_stats":{"total_commits":15,"total_committers":1,"mean_commits":15.0,"dds":0.0,"last_synced_commit":"fc4e6ccf543e62176028f1238d0340b942ffb38e"},"previous_names":["mgckaled/ignite-devia-supervised_algorithms"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mgckaled/ignite-devia-supervised_algorithms","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgckaled%2Fignite-devia-supervised_algorithms","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgckaled%2Fignite-devia-supervised_algorithms/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgckaled%2Fignite-devia-supervised_algorithms/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgckaled%2Fignite-devia-supervised_algorithms/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mgckaled","download_url":"https://codeload.github.com/mgckaled/ignite-devia-supervised_algorithms/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mgckaled%2Fignite-devia-supervised_algorithms/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31713876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T06:22:27.080Z","status":"ssl_error","status_checked_at":"2026-04-12T06:21:52.710Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gradio","joblib","pandas","python","scikit-learn","statsmodels","uvicorn"],"created_at":"2025-05-22T20:13:46.667Z","updated_at":"2026-04-12T11:33:02.878Z","avatar_url":"https://github.com/mgckaled.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!-- markdownlint-disable MD033 --\u003e\n\u003c!-- markdownlint-disable MD014 --\u003e\n\n# Formação Desenvovimento de IA - Algoritmos Supervisionados\n\n\u003cdiv align=\"center\"\u003e\n   \u003cimg alt=\"logo trilha\" src=\".github/assets/trilha-rs.png\" width=\"30%\"/\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg alt=\"Made by mgckaled\" src=\"https://img.shields.io/badge/made%20by-mgckaled-darkblue\"\u003e\n  \u003cimg alt=\"GitHub Repo Size\" src=\"https://img.shields.io/github/repo-size/mgckaled/ignite-devia-supervised_algorithms\"\u003e\n  \u003cimg alt=\"pylint badge\" src=\"https://img.shields.io/badge/linting-pylint-yellowgreen\"\u003e\n  \u003cimg alt=\"License\" src=\"https://img.shields.io/static/v1?label=license\u0026message=MIT\u0026color=49AA26\u0026labelColor=000000\"\u003e\n\u003c/div\u003e\n\n## Sumário\n\n- [Formação Desenvovimento de IA - Algoritmos Supervisionados](#formação-desenvovimento-de-ia---algoritmos-supervisionados)\n  - [Sumário](#sumário)\n  - [Sobre o Projeto](#sobre-o-projeto)\n    - [Módulo 7 - Regressão Linear Simples](#módulo-7---regressão-linear-simples)\n    - [Módulo 8 - Regressão Linear Múltipla](#módulo-8---regressão-linear-múltipla)\n    - [Módulo 9 - Regressão Polinomial](#módulo-9---regressão-polinomial)\n    - [Módulo 10 - Classificação Árvore de Decisão](#módulo-10---classificação-árvore-de-decisão)\n    - [Módulo 11 - Classificação de Naive Bayes](#módulo-11---classificação-de-naive-bayes)\n    - [Módulo 12 - Regressão Logística](#módulo-12---regressão-logística)\n    - [Módulo 13 - Tópicos Complememtares](#módulo-13---tópicos-complememtares)\n  - [Tecnologias](#tecnologias)\n    - [Linguagem de Programação](#linguagem-de-programação)\n    - [Gerenciadores de Ambiente Virtual](#gerenciadores-de-ambiente-virtual)\n    - [Bibliotecas Instaladas (Packages)](#bibliotecas-instaladas-packages)\n  - [Como clonar o projeto?](#como-clonar-o-projeto)\n  - [Licença](#licença)\n\n## Sobre o Projeto\n\nRepositório que reuni os módulos 7 ao 13 da trilha Desenvolvimento IA 2023-2024, desenvolvido pela Rocketseat Education.\n\n\u003e Acessar [**anotações de aulas**](/.github/docs/notes.md)\n\n### Módulo 7 - Regressão Linear Simples\n\nEste módulo é o primeiro de uma série para estudo dos algoritmos supervisionados, com foco especial na Regressão Linear Simples. Neste segmento do curso, nosso principal objetivo é fornecer uma compreensão aprofundada dos fundamentos dos algoritmos de regressão, essenciais para a construção de projetos eficazes de machine learning voltados para a previsão de valores. Como ponto de partida, mergulharemos no universo da Regressão Linear Simples. Através de um projeto prático, abordaremos cada etapa do processo, desde a Análise Exploratória de Dados (EDA) até a implementação final do modelo em uma API, facilitando sua integração e utilização em diversas aplicações. Este módulo é projetado para guiá-los através dos conceitos e práticas essenciais, preparando-os para aplicar essas habilidades em cenários reais de machine learning.\n\n\u003e [Instruções](https://docs-rocketseat.notion.site/Desafio-Regress-o-Linear-170395da577080e1a52ad82257f367aa) do desafio\n\u003e\n\u003e [Resolução](./notebooks/challenges/productivity_irrigation.ipynb) do desafio\n\n```shell\n# rodar servidor com api do modelo de predição - regressão linear simples\n$ cd api\n\n$ uvicorn api_model_lr_simple:app --reload\n```\n\n**Acesso ao servidor uvicorn: `http://127.0.0.1:8000/docs` (localhost)**\n\n### Módulo 8 - Regressão Linear Múltipla\n\nEste módulo é o segundo de uma série para estudo dos algoritmos supervisionados, com foco especial na Regressão Linear Múltipla. O obejetivo deste é apresentar o conceito de **regressão linear múltipla**, onde também iremos desenvolver um modelo através de um processo completo desde o EDA até a entrega do modelo através de uma UI para uso do usuário final. Será desenvolvido um modelo para um laboratório de análises clínicas que realiza testes de colesterol. O objetivo é avaliar se características dos pacientes, como idade, nível de atividade física e peso, podem influenciar nos resultados do exame de colesterol total. Vamos utilizar um algoritmo de regressão linear múltipla para prever o resultado do exame com base nessas características. O processo será semelhante ao que fizemos no módulo anterior de regressão linear simples, incluindo carregar os dados, realizar uma análise exploratória, preparar o dataset, treinar o modelo, validar o modelo e salvar para uso futuro.\n\n\u003e [Instruções](https://docs-rocketseat.notion.site/Desafio-Regress-o-Linear-M-ltipla-170395da577080858fe6d9f0b869c3c6) do desafio\n\u003e\n\u003e [Resolução](./notebooks/challenges/rent_model.ipynb) do desafio\n\nPara rodar a interface do modelo de previsão numa porta do localhost, execute todas células no notebook `app_gradio_colesterol.ipynb`. Para fechar a porta, execute `demo.close()`.\n\n### Módulo 9 - Regressão Polinomial\n\nEste módulo é o terceiro de uma série para estudo dos algoritmos supervisionados, com foco especial na Regressão Polinomial. O objetivo deste módulo é apresentar o conceito de **polinómios** e **regresão polinomial**, onde também iremos desenvolver um modelo através de processo completo desde o EDA até a entrega do modelo por App com acesso para os usuários finais. Também trabalharemos o conceito de **validação cruzada**, além de definir o melhor modelo através do monitoramento do sobreajuste (*overfitting*).\n\n\u003e [Instruções](https://docs-rocketseat.notion.site/Desafio-Regress-o-Polinominal-170395da577080d4b1c6d63d8af028b1) do desafio\n\u003e\n\u003e [Resolução](./notebooks/challenges/sales.ipynb) do desafio\n\n```shell\n# rodar servidor com api do modelo de predição - regressão polinomial\n$ cd api\n\n$ uvicorn api_model_salary:app --reload\n```\n\nseguido de:\n\n```shell\n# rodar front-end streamlit com o modelo de predição de salário\n$ cd apps\n\n$ streamlit run app_streamlit_salary.py\n```\n\n**Acesso ao servidor uvicorn: `http://127.0.0.1:8000/docs` (localhost)**\n\n**Acesso ao front-end streamlit: `http://127.0.0.1:8501/` (localhost)**\n\n### Módulo 10 - Classificação Árvore de Decisão\n\nO objetivo deste módulo foi apresentar conceitualmente os principais algoritmos de classificação para desenvolver projetos de *machine learning* que fazem **previsões de categorias de classes**. Também foi feito um projeto explorando o primeiro destes algoritmos, que é o **árvore de decisão**, onde o processo completado, desde o EDA até a entrega do modelo, através de uma aplicação de inferência de *batch*.\n\n**Porta de acesso ao app no servidor Gradio: `http://127.0.0.1:7860` (localhost)**\n\n**Parar servidor:**\n\n```python\ndef stop_gradio():\n    demo.close()\n    print(\"Servidor Gradio foi interrompido.\")\n\nstop_gradio()\n```\n\n### Módulo 11 - Classificação de Naive Bayes\n\nNeste módulo, foi explorado o algoritmo de classificação Naive Bayes, que é baseado no Teorema de Bayes. Vamos aprender sobre a importância de Bayes na estatística e como seu trabalho foi publicado por Richard Price. Vamos realizar um projeto prático, onde faremos análise exploratória automatizada e utilizaremos hiperparâmetros. Além disso, aprendemos a automatizar a seleção de *features*, para identificar as mais relevantes para nosso modelo. Isso é importante para termos um modelo eficiente e não sobrecarregado com variáveis desnecessárias.\n\n**Acesso a API do modelo via instância servidor Flask:** execute no terminal os comandos `cd api` e `python api_model_obesity.py`. Em seguida, utilize o molde json abaixo (`requests/request_example.json`) no *body* da requisição POST via REST API de sua preferência:\n\n```json\n{\n  \"Genero_Masculino\": 1,\n  \"Idade\": 48,\n  \"Historico_Familiar_Sobrepeso\": 1,\n  \"Consumo_Alta_Caloria_Com_Frequencia\": 1,\n  \"Consumo_Vegetais_Com_Frequencia\": 0,\n  \"Refeicoes_Dia\": 2,\n  \"Consumo_Alimentos_entre_Refeicoes\": 0,\n  \"Fumante\": 0,\n  \"Consumo_Agua\": 2,\n  \"Monitora_Calorias_Ingeridas\": 0,\n  \"Nivel_Atividade_Fisica\": 0,\n  \"Nivel_Uso_Tela\": 2,\n  \"Consumo_Alcool\": 1,\n  \"Transporte_Automovel\": 1,\n  \"Transporte_Bicicleta\": 0,\n  \"Transporte_Motocicleta\": 0,\n  \"Transporte_Publico\": 0,\n  \"Transporte_Caminhada\": 0\n}\n```\n\n### Módulo 12 - Regressão Logística\n\nEste módulo tem como propósito fornece uma compreensão abrangente do algoritmo de Regressão Logística, uma técnica essencial em problemas de classificação binária e multiclasse. Além de discutir os fundamentos teóricos, aplicou-se o algoritmo em cenários reais, desde a exploração e análise dos dados (EDA) até a otimização dos hiper parâmetros do modelo.\n\n**Acesso ao servidor Uvicorn:** dentro da pasta `/apps/m12` execute o comando `uvicorn main:app --host 0.0.0.0 --port 80 --reload`\n\n**Requisição API REST Client:** envie uma requisição POST no URL `http://localhost:80/classify` com o molde json abaixo:\n\n```json\n{\n    \"A_id\": 4,\n    \"Size\": 1.36421682,\n    \"Weight\": -1.296611877,\n    \"Sweetness\": -0.384658206,\n    \"Crunchiness\": -0.55300577,\n    \"Juiciness\": 3.030874354,\n    \"Ripeness\": -1.303849429,\n    \"Acidity\": 0.501984036\n}\n```\n\n### Módulo 13 - Tópicos Complememtares\n\nNeste módulo, vamos explorar técnicas que podem ser incorporadas nos algoritmos supervisionados para torná-los mais robustos. Essas técnicas têm várias finalidades, como mitigar o overfitting, aprimorar a seleção de features, identificar relações entre variáveis e obter uma interpretação mais profunda dos modelos. Com essas técnicas, vocês poderão melhorar significativamente o desempenho e a eficácia dos seus modelos, além de obter insights valiosos dos dados analisados.\n\n## Tecnologias\n\n### Linguagem de Programação\n\n- [`python`](https://www.python.org/) (v3.11.3)\n\n### Gerenciadores de Ambiente Virtual\n\n- [`pyenv`](https://github.com/pyenv/pyenv)\n- [`pipenv`](https://pipenv.pypa.io/en/latest/)\n\n### Bibliotecas Instaladas (Packages)\n\n- [`pandas`](https://pandas.pydata.org/)\n- [`numpy`](https://numpy.org/)\n- [`matplotlib`](https://matplotlib.org/)\n- [`seaborn`](https://seaborn.pydata.org/)\n- [`scipy`](https://scipy.org/)\n- [`scikit-learn`](https://scikit-learn.org/stable/)\n- [`statsmodels`](https://www.statsmodels.org/stable/index.html)\n- [`fastapi`](https://fastapi.tiangolo.com/)\n- [`uvicorn`](https://www.uvicorn.org/)\n- [`pydantic`](https://docs.pydantic.dev/latest/)\n- [`pingouin`](https://pingouin-stats.org/build/html/index.html)\n- [`gradio`](https://www.gradio.app/)\n- [`streamlit`](https://streamlit.io/)\n- [`requests`](https://requests.readthedocs.io/en/latest/)\n- [`pylint`](https://pylint.pycqa.org/en/latest/index.html) - `dev`\n- [`nbqa`](https://pylint.pycqa.org/en/latest/index.html) - `dev`\n- [`ipykernel`](https://pypi.org/project/ipykernel/)\n- [`plotly`](https://plotly.com/python/)\n- [`nbformat`](https://pypi.org/project/nbformat/)\n- [`optuna`](https://optuna.org/)\n- [`ipywidgets`](https://pypi.org/project/ipywidgets/)\n- [`sweetviz`](https://pypi.org/project/sweetviz/)\n- [`flask`](https://flask.palletsprojects.com/en/3.0.x/)\n- [`flask-pydantic`](https://pypi.org/project/Flask-Pydantic/)\n- [`pyarrow`](https://arrow.apache.org/docs/python/index.html)\n\n## Como clonar o projeto?\n\n1. Certifique-se de que está usando o `pyenv` e o `pipenv` para gerenciar as dependências do projeto. Veja como instalar e configurar clicando nos respectivos links do tópico [Gerenciadores de Ambiente Virtual](#gerenciadores-de-ambiente-virtual).\n\n2. Faça o clone pelo Github:\n\n    ```shell\n    git clone https://github.com/mgckaled/ignite-devia-supervised_algorithms.git\n    ```\n\n3. Acesse o diretório:\n\n    ```shell\n    cd ignite-devia-supervised_algorithms\n    ```\n\n4. Ative o ambiente virtual pelo terminal\n\n    ```shell\n    pipenv shell\n    ```\n\n5. Instale as dependências. (Certifique-se de estar utilzando a versão exata do python - 3.11.3)\n\n    ```shell\n    pipenv install\n    ```\n\n    ou, como um recurso de degurança, instale dependências exatas do `requirements.txt`:\n\n    ```shell\n    pipenv install -r requirements.txt\n    ```\n\n## Licença\n\nDistribuído sob a licença *MIT*. Veja [LICENSE](LICENSE) para mais informações.\n\n---\n\n\u003ch5 align=\"center\"\u003e\n  2023-2024 - \u003ca href=\"https://github.com/mgckaled/\"\u003eMarcel Kaled\u003c/a\u003e\n\u003c/h5\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgckaled%2Fignite-devia-supervised_algorithms","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmgckaled%2Fignite-devia-supervised_algorithms","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmgckaled%2Fignite-devia-supervised_algorithms/lists"}