Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/storopoli/ciencia-de-dados

Disciplina de Ciências de Dados da UNINOVE
https://github.com/storopoli/ciencia-de-dados

aprendizagem-de-maquina aprendizagem-profunda ciencia-de-dados data-science deeplearning machinelearning matplotlib pandas python pytorch scikit-learn tensorflow

Last synced: about 1 month ago
JSON representation

Disciplina de Ciências de Dados da UNINOVE

Awesome Lists containing this project

README

        

# Ciência de Dados

[![CC BY-SA 4.0][cc-by-sa-shield]][cc-by-sa]
[![Open in Visual Studio Code](https://open.vscode.dev/badges/open-in-vscode.svg)](https://open.vscode.dev/storopoli/ciencia-de-dados)
![Hits](https://hitcounter.pythonanywhere.com/count/tag.svg?url=https://github.com/storopoli/ciencia-de-dados)

Disciplina dos Cursos de *Ciências da Computação* e afins da [**UNINOVE**](https://www.uninove.br).

![backprop](notebooks/images/backpropagation.gif)

## Conteúdo

* **Python e Programação Orientada à Objetos**
* **Álgebra Linear com `NumPy`**
* **Análise de Dados com `pandas`**
* **Visualização de Dados com `pandas`, `matplotlib` e `seaborn`**
* **Machine Learning com `Scikit-Learn`**
* **Redes Neurais com `TensorFlow`, `Keras` e `PyTorch`**

## Professores

* [Prof. Dr. José Eduardo Storopoli](https://storopoli.io) - [Currículo *Lattes*](http://lattes.cnpq.br/2281909649311607) - [ORCID](https://orcid.org/0000-0002-0559-5176)

* Prof. Dr. Edson Melo de Souza - [Currículo *Lattes*](http://lattes.cnpq.br/2641658716558510) - [ORCID](https://orcid.org/0000-0002-5891-4767)

## Como usar esse conteúdo?

Este conteúdo possui *licença livre para uso* (CC BY-SA). Caso queira utilizar o conteúdo para um curso ou estudos, por favor colabore nesse repositório quaisquer aprimorações que foram realizadas.

Para configurar um ambiente local:

1. Clone o repositório do GitHub: `git clone https://github.com/storopoli/ciencia-de-dados.git`
2. Acesse o diretório: `cd ciencia-de-dados`
3. Instale as bibliotecas necessárias: `pip install -r .binder/requirements.txt` ou `conda env create -f .binder/environment.yml`

* **[Notebooks](https://github.com/storopoli/ciencia-de-dados/tree/main/notebooks)**: Jupyter Notebooks das aulas

## Notebooks

* **Aula Especial** - Curso Rápido de Python para Programadores [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_Especial_Python.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_Especial_Python.ipynb)
* **Aula 0** - Jupyter Notebook [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_00_Jupyter.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_00_Jupyter.ipynb)
* **Aula 1** - Operadores aritméticos, relacionais e lógicos [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_01_Operadores_Aritmeticos_Relacionais_e_Logicos.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_01_Operadores_Aritmeticos_Relacionais_e_Logicos.ipynb)
* **Aula 2** - Desvio Condicional (`IF`) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_02_Desvio_Condicional_IF.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_02_Desvio_Condicional_IF.ipynb)
* **Aula 3** - Estruturas de Repetição (`FOR` e `WHILE`) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_03_Estruturas_de_Repeticao.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_03_Estruturas_de_Repeticao.ipynb)
* **Aula 4** - Estruturas de Dados (`list` e `dict`) [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_04_Estrutura_de_Dados.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_04_Estrutura_de_Dados.ipynb)
* **Aula 5** - Funções [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_05_Funcoes.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_05_Funcoes.ipynb)
* **Aula 5a** - Classes e métodos [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_05a_Classes_e_Metodos.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_05a_Classes_e_Metodos.ipynb)
* **Aula 6** - `NumPy` e Algebra Linear [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_06_Numpy_Algebra_Linear.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_06_Numpy_Algebra_Linear.ipynb)
* **Aula 7** - `pandas` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_07_pandas.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_07_pandas.ipynb)
* **Aula 8** - `pandas` estatística [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_08_pandas_estatistica.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_08_pandas_estatistica.ipynb)
* **Aula 9** - Gráficos com `matplotlib` e `pandas` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_09_graficos.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_09_graficos.ipynb)
* **Aula 10** - Machine Learning com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_10_Machine_Learning.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_10_Machine_Learning.ipynb)
* **Aula 11** - Regressão Linear com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_11_Regressao_Linear.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_11_Regressao_Linear.ipynb)
* **Aula 12** - Regressão Logística com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_12_Regressao_Logistica.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_12_Regressao_Logistica.ipynb)
* **Aula 13** - Support Vector Machines com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_13_Support_Vector_Machines.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_13_Support_Vector_Machines.ipynb)
* **Aula 14** - Árvores de Decisão com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_14_Arvores_de_Decisao.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_14_Arvores_de_Decisao.ipynb)
* **Aula 15** - Florestas Aleatórias com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_15_Florestas_Aleatorias.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_15_Florestas_Aleatorias.ipynb)
* **Aula 16** - Análise de Componentes Principais (PCA) com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_16_Analise_de_Componentes_Principais.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_16_Analise_de_Componentes_Principais.ipynb)
* **Aula 17** - Análise de Agrupamentos (Clusterização) com `Scikit-Learn` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_17_Clusterizacao.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_17_Clusterizacao.ipynb)
* **Aula 18a** - Redes Neurais com `TensorFlow` e `Keras` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_18_a_Redes_Neurais_com_TensorFlow.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_18_a_Redes_Neurais_com_TensorFlow.ipynb)
* **Aula 18b** - Redes Neurais com `PyTorch` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_18_b_Redes_Neurais_com_PyTorch.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_18_b_Redes_Neurais_com_PyTorch.ipynb)
* **Aula 19** - Redes Neurais Convolucionais com `PyTorch` [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/storopoli/ciencia-de-dados/main?filepath=notebooks%2FAula_19_Redes_Neurais_Convolucionais_com_PyTorch.ipynb) [![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/storopoli/ciencia-de-dados/blob/main/notebooks/Aula_19_Redes_Neurais_Convolucionais_com_PyTorch.ipynb)

## Cheat Sheets

Algumas *cheat sheets* selecionadas para os temas e ferramentas da disciplina:

* Pandas: [`pandas.pydata.org`](https://pandas.pydata.org/Pandas_Cheat_Sheet.pdf)
* Matplotlib: [`matplotlib/cheatsheets`](https://github.com/matplotlib/cheatsheets)
* Scikit-Learn: [*choosing the right estimator*](https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html)
* PyTorch: [`pytorch.org`](https://pytorch.org/tutorials/beginner/ptcheat.html)
* Git: [português](https://training.github.com/downloads/pt_BR/github-git-cheat-sheet/) ou [inglês](https://training.github.com/downloads/github-git-cheat-sheet/)
* Machine Learning: diversas linguas em [`afshinea/stanford-cs-229-machine-learning`](https://github.com/afshinea/stanford-cs-229-machine-learning) e também [`remicnrd/ml_cheatsheet`](https://github.com/remicnrd/ml_cheatsheet)
* Markdown: [sintaxe geral](https://www.markdownguide.org/cheat-sheet) e [sintaxe GitHub](https://github.com/tchapi/markdown-cheatsheet)
* RegEx: [`regex101.com`](https://regex101.com/)
* GitHub: atalhos do teclado em [português](https://docs.github.com/pt/get-started/using-github/keyboard-shortcuts) e [inglês](https://docs.github.com/en/get-started/using-github/keyboard-shortcuts)

## Proposta de Avaliação da Disciplina

A avaliação pode ser realizada por meio de trabalho final no qual cada grupo de alunos (3 a 6 integrantes) devem entregar um notebook contendo os seguintes tarefas:

1. Leitura de dados com `pandas`
2. Manipulação e limpeza de dados com `pandas`
3. Descritivo e exploração de dados com `pandas` (`groupby`s)
4. Figuras que mostrem *insights* sobre os dados com `pandas` e `matplotlib`
5. Quebrar os dados em conjunto de treino e conjunto de teste
6. Treinar um estimador do `scikit-learn` de aprendizagem supervisionada (regressor ou classificador) no conjunto de treino
7. Verificar o desempenho do estimador do `scikit-learn` no conjunto de teste

A entrega pode ser via e-mail, mas é extremamente incentivado para que os alunos criem um repositório no GitHub aberto com um `README.md` bem escrito que explica o projeto. Isto pode já ser um incentivo para os alunos criarem os seus portfolio de projetos de ciências de dados no GitHub, algo que impulsionaria bastante a carreira deles.

A correção dos trabalhos deverá levar em conta o tamanho dos grupos. Grupos pequenos têm maior tolerância de erros e inconsistências do que grupos com um maior número de integrantes.

## Como citar esse conteúdo

Para citar o conteúdo use:

```plaintext
Storopoli & Souza (2020). Ciência de Dados com Python: pandas, matplotlib, Scikit-Learn, TensorFlow e PyTorch. Disponível em https://github.com/storopoli/ciencia-de-dados
```

Ou em formato BibTeX para LaTeX:

```bibtex
@misc{storopolisouza2020cienciadedados,
author = {Storopoli, Jose and Souza, Edson Melo de},
title = {Ciência de Dados com Python: pandas, matplotlib, Scikit-Learn, TensorFlow e PyTorch},
url = {https://github.com/storopoli/ciencia-de-dado},
year = {2020}
}
```

## Trabalhos Finais de Destaque

* [Análise de Notas do ENEM de 2018](https://github.com/rafhaelgomes/Enem_dados_2018)
* [Análise de Acidentes Aéreos no Brasil 2010-2019](https://github.com/rochawennis/Projeto_Integrador_2021)

## Licença

Este obra está licenciado com uma Licença
[Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional (CC BY-SA 4.0)][cc-by-sa].

[![CC BY-SA 4.0][cc-by-sa-image]][cc-by-sa]

[cc-by-sa]: http://creativecommons.org/licenses/by-sa/4.0/
[cc-by-sa-image]: https://licensebuttons.net/l/by-sa/4.0/88x31.png
[cc-by-sa-shield]: https://img.shields.io/badge/License-CC%20BY--SA%204.0-lightgrey.svg