Aulas Do Módulo 02
Aulas Do Módulo 02
❑ Motivação.
❑ Tópicos abordados.
Fonte: https://insights.stackoverflow.com/survey/2019#most-popular-technologies
O sucesso do Python
• Open source.
O sucesso do Python
• Open source.
• Comunidade ativa.
O sucesso do Python
• Open source.
• Comunidade ativa.
Fonte: https://towardsdatascience.com/top-9-languages-for-data-science-in-2020-824239f930c
Na próxima aula
o Business analyst.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
o Business analyst.
• Ferramentas tradicionais:
o SQL.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
o Tableau.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
o Tableau.
o Power BI.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
o Tableau.
o Power BI.
• Ferramentas recentes:
o Python.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
o Tableau.
o Power BI.
• Ferramentas recentes:
o Python.
o Pandas.
Análise de dados
• Cargos de um analista de dados:
o Business analyst.
• Ferramentas tradicionais:
o SQL.
o Excel.
o Tableau.
o Power BI.
• Ferramentas recentes:
o Python.
o Pandas.
o Computação em nuvem;
o Etc.
Análise de dados vs Ciência de Dados
Fonte: https://www.dasca.org/world-of-big-data/article/analysts-vs-scientists-the-big-data-puzzle
Conclusão
❑ Introdução ao numpy.
• Instalação:
Fonte: https://fgnt.github.io/python_crashkurs_doc/include/numpy.html
Numpy – axis
❑ Indexação de arrays.
Introdução à Análise de Dados
AULA 2.3. INDEXAÇÃO DE ARRAYS
❑ Indexação de arrays:
Acessando elementos.
Slicing.
Numpy array
• Relembrando:
o Os índices ao longo de uma dimensão variam de 0 a n-1,
onde n é o número de elementos da dimensão.
A=
Acessando elementos
A=
Acessando elementos
o A[4] -> 94
A=
Acessando elementos
o etc.
A=
Acessando elementos
B=
Acessando elementos
B[i, j]
Acessa a linha Acessa a coluna
do array (axis 0) do array (axis 1)
Slicing
A=
Slicing
• Acessando elementos em um array 2D (matriz B):
B=
Slicing
B[i:k, j:l]
ATENÇÃO: os índices k e l não entram no slicing,
o slicing incluirá até k-1 e l-1, respectivamente.
Conclusão
✔ Indexação.
✔ Slicing.
Referências
❑ Indexação de arrays:
Acessando elementos.
Slicing.
Conclusão
✔ Indexação.
✔ Slicing.
Próxima aula
❑ Operações aritméticas.
Introdução à Análise de Dados
AULA 2.5. OPERAÇÕES ARITMÉTICAS
❑ Operações aritméticas:
Operações elemento a elemento.
Broadcasting.
Operações matriciais.
Operações elemento a elemento
Operações aritméticas elemento a elemento:
• Soma:
o Sobrecarga de operador “+”;
o np.add.
• Subtração
o Sobrecarga de operador “-”;
o np.subtract.
• Divisão
o Sobrecarga de operador “/”;
o np.divide
• Multiplicação
o Sobrecarga de operador “*”;
o np.multiply
Operações elemento a elemento
Fonte: https://cognitiveclass.ai/blog/nested-lists-multidimensional-numpy-arrays
Operações elemento a elemento
Fonte: https://cognitiveclass.ai/blog/nested-lists-multidimensional-numpy-arrays
Broadcasting
Fonte: https://cognitiveclass.ai/blog/nested-lists-multidimensional-numpy-arrays
Broadcasting
Fonte: https://cognitiveclass.ai/blog/nested-lists-multidimensional-numpy-arrays
Operações matriciais
Multiplicação de matrizes:
• Python puro: A @ B
• Numpy:
o np.dot(A, B)
o A.dot(B)
Operações matriciais
Multiplicação de matrizes:
• Python puro: A @ B
• Numpy:
o np.dot(A, B)
o A.dot(B)
Fonte:https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/
Conclusão
✔ Broadcasting.
✔ Operações matriciais.
Referências
❑ Operações aritméticas:
Operações elemento a elemento.
Broadcasting.
Conclusão
✔ Broadcasting.
Próxima aula
❑ Operações aritméticas:
Operações matriciais.
Conclusão
✔ Operações matriciais.
Próxima aula
❑ Comparações.
❑ Indexação booleana.
Comparações
• Comparação menor/menor ou igual:
Comparações
• Operação de filtro:
Conclusão
❑ Comparações.
❑ Indexação booleana.
Conclusão
❑ Dicas de numpy.
Introdução à Análise de Dados
AULA 2.10. OPERAÇÕES ÚTEIS NO NUMPY (PRÁTICA)
✔ Dicas de numpy.
Próxima aula
❑ Regressão linear.
Introdução à Análise de Dados
AULA 2.11. REGRESSÃO LINEAR NO NUMPY: CONCEITOS BÁSICOS
erro
Regressão linear
• A escolha da melhor função deve ser baseada em um
critério.
y = f(x) = ax + b
• O problema de regressão resume-se à determinação
dos coeficientes a e b, visto que x e y são dados de
entrada.
Regressão linear
• Matricialmente:
❑ Pandas.
Introdução à Análise de Dados
CAPÍTULO 3. PANDAS PARA A ANÁLISE DE DADOS
❑ Introdução ao Pandas.
❑ Leitura de dados.
Introdução ao Pandas
Pandas é um pacote em Python desenvolvido para disponibilizar
estruturas de dados rápidas e flexíveis para se trabalhar com dados
“relacionais” ou “rotulados”. Ele é adequado para diversos tipos de
dados:
• Instalação:
Fonte: https://www.geeksforgeeks.org/python-pandas-dataframe/
Tipos de dados (dtypes)
Pandas dtype Python type Uso
Fonte:
https://www.learndatasci.com/tutorials/python-pandas-tutorial-complete-introduction-for-beginners/
Leitura de dados
Para leitura dos dados existem diversas funções, a depender do
formato do dado de entrada. Algumas das mais usadas estão listadas
abaixo:
• Etc.
Aplicações
Algumas das tarefas que o Pandas faz com eficiência, são:
• Entre outros.
Conclusão
✔ Introdução ao Pandas.
✔ Tipos de dados.
Referências
❑ Introdução ao Pandas.
Conclusão
✔ Introdução ao Pandas.
Próxima aula
❑ Indexação.
Introdução à Análise de Dados
AULA 3.3. INDEXAÇÃO NO PANDAS
❑ Indexação no pandas:
Método iloc().
Método loc().
❑ Indexação booleana.
Indexação direta
✔ data_frame[‘temperatura’]
Indexação direta
✔ data_frame[[‘temperatura’, ‘classification’]]
Método iloc()
✔ Similar à indexação no numpy:
data_frame.iloc[i_linha, j_coluna]
data_frame.iloc[i:k, j:l]
data_frame.loc[nome_linha, nome_coluna]
✔ df[df[‘classification’]==‘quente’]
Indexação booleana
• df.loc[df[‘classification’]==‘quente’, ‘temperatura’]
Conclusão
✔ Indexação no Pandas:
✔ Método iloc.
✔ Método loc.
✔ Indexação booleana.
Próxima aula
❑ Indexação – Prática.
Introdução à Análise de Dados
AULA 3.4. INDEXAÇÃO NO PANDAS
❑ Indexação no Pandas:
Método iloc().
Método loc().
Conclusão
✔ Indexação no Pandas:
✔ Método iloc.
✔ Método loc.
Próxima aula
❑ Indexação booleana.
Conclusão
✔ Indexação booleana.
Próxima aula
❑ Ordenação.
Introdução à Análise de Dados
AULA 3.6. ORDENAÇÃO NO PANDAS
❑ Ordenação no Pandas:
Método sort_values.
Método sort_values()
• df.sort_values(by=['col1'])
Método sort_values()
• df.sort_values(by='col1', ascending=False)
Método sort_values()
• df.sort_values(by=[‘col1’, ‘col2’]).
Método sort_values()
• df.sort_values(by='col1', na_position=‘first’).
Conclusão
✔ Ordenação no Pandas.
Próxima aula
❑ Ordenação – Prática.
Introdução à Análise de Dados
AULA 3.7. ORDENAÇÃO NO PANDAS (PRÁTICA)
❑ Ordenação no Pandas:
Método sort_values.
Método sort_index.
Conclusão
✔ Ordenação no Pandas:
✔ Método sort_values;
✔ Método sort_index.
Próxima aula
Plot de barras.
Plot de “pizza”.
Conclusão
✔ Dicas:
✔ Método groupby.
✔ Operações inplace.
Fonte: https://www.aimlmarketplace.com/technology/image-recognition?start=5
Exemplos de problemas
• Geração automática de legendas de fotos:
Fonte: https://arxiv.org/abs/1502.03044
Pipeline
Fonte: https://towardsdatascience.com/workflow-of-a-machine-learning-project-ec1dba419b94
Conclusão
✔ Aprendizado de máquinas:
✔ Resultados recentes.
❑ Introdução ao scikit-learn.
Introdução à Análise de Dados
AULA 4.2. INTRODUÇÃO AO SCIKIT-LEARN
❑ Introdução ao scikit-learn.
Introdução ao scikit-learn
O scikit-learn é um dos mais utilizados frameworks de
aprendizado de máquinas em Python:
Introdução ao scikit-learn
O scikit-learn é um dos mais utilizados frameworks de
aprendizado de máquinas em Python:
Introdução ao scikit-learn
O scikit-learn é um dos mais utilizados frameworks de
aprendizado de máquinas em Python:
Introdução ao scikit-learn
• Open-source.
Introdução ao scikit-learn
• Open-source.
• Open-source.
• Open-source.
• Instalação:
• Instalação:
• Uso:
Introdução ao scikit-learn
Possui diversos datasets disponíveis.
Introdução ao scikit-learn
✔ Classificação de padrões:
✔ Conceitos básicos.
Referências
✔ Métricas de avaliação.
Referências
❑ Fim!