Você está na página 1de 26

Atividade Avaliativa

Mini projeto
07/05/2022
1< #participantes <=4

entrega em 2,5 horas de aula

escreva em Jupyter Notebook suas respostas

submissão do link do Colab na atividade do classroom

apresentação em 10 minutos por equipe


Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2
65 76 6 65 564
conv 2 2 2 =
34 2 89 43 23
2 2 2
43 33 4 2 1

32 1 2 3 4 filtro
matriz de saída
matriz de entrada
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2
65 76 6 65 564
conv 2 2 2 =
34 2 89 43 23
2 2 2
43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 2 2 2

65 76 6 65 564 2 2 2
conv =
34 2 89 43 23 2 2 2

43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 1 2 3
1647
65 76 6 65 564 7 9 4
conv =
34 2 89 43 23 0 2 5

43 33 4 2 1

32 1 2 3 4 Centro do filtro

o valor é colocado na
posição da matriz
9*1 + 10*2 + 2* 3 + 65*7 + 76*9+6*4 + 34*0+2*2+89*5 = 1647 resultante onde o filtro
está centrado.
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 1 2 3
1647 1265
65 76 6 65 564 7 9 4
conv =
34 2 89 43 23 0 2 5

43 33 4 2 1

32 1 2 3 4 Centro do filtro

10*1 + 2*2 + 4* 3 + 76*7 + 6*9+65*4 + 2*0+89*2+43*5 = 1265


Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

9 10 2 4 6 1 2 3
1647 1265 3112
65 76 6 65 564 7 9 4
933 1288 2939
conv =
34 2 89 43 23 0 2 5
931 603 320
43 33 4 2 1

32 1 2 3 4 Centro do filtro
Primeira atividade prática: Convolução
Imagem é uma matriz:
Cada pixel possui um valor que corresponde à
intensidade de luz naquele ponto

=
Primeira atividade prática: Convolução
Convolução bidimensional é uma operação que acontece numa matriz gerando
outra matriz através do deslizamento de um filtro.

1/9 1/9 1/9

1/9 1/9 1/9


conv =
1/9 1/9 1/9
Baixe o arquivo abrirImagem.py disponivel em
https://drive.google.com/drive/folders/1KBhg14i9R0dfyOAPAFT4dPtCUG8Lm5ul?usp=sharing

e use as funções abaixo para ler a imagem como matriz (lista de lista) e para imprimir a
imagem a partir de uma dada lista de lista
from abrirImagem import getListOfListImage, getImageFromListofList

listOfListImage, listOfListNewImage = getListOfListImage(showImage=True)

#faca a convolucao da matriz que esta na variavel listOfListImage


# a variavel listOfListNewImage possui a mesma dimensao da matriz da imagem mas todos os
elementos sao inicializados com zero.

getImageFromListofList(listOfListNewImage)
1) Construa um código que aplique um filtro numa imagem. Este filtro sempre será 3x3
(para simplificar seu código). Você deve aplicar os seguintes filtros nas imagens abaixo:
filter1 = [[1/9,1/9,1/9],[1/9,1/9,1/9],[1/9,1/9,1/9]]
filter2 = [[0,0,0],[1,0,0],[0,0,0]]
filter3 = [[-1,-1,-1],[-1,8,-1],[-1,-1,-1]]
filter4 = [[1,0,-1],[2,0,-2],[1,0,-1]]

imagem 1: lenna.jpg

imagem 2: predios.jpeg

disponíveis em: https://drive.google.com/drive/folders/1KBhg14i9R0dfyOAPAFT4dPtCUG8Lm5ul?usp=sharing

a) Verifique as características de cada filtro. Reporte as diferenças entre cada filtro.


b) Crie (ou descubra) um filtro diferentes desses. Reporte o que ele faz em uma dada imagem.
listaDeLista, listaDeListaZerada = getListOfListImage(imgPath="", showImage=False)

a função retorna uma lista de lista da imagem cujo caminho está no argumento imgPath.

Se o caminho passado for uma string vazia, a função abre a imagem da lenna.jpg.

O argumento showImage imprime (mostra) a imagem que foi aberta.


Segunda atividade: Pré-processando Relatórios
Content
Base de dados de Cereais:
Fields in the dataset:

● Name: Name of cereal


● mfr: Manufacturer of cereal
○ A = American Home Food Products;
○ G = General Mills
○ K = Kelloggs
○ N = Nabisco
○ P = Post
○ Q = Quaker Oats
○ R = Ralston Purina
● type:
○ cold
○ hot
● calories: calories per serving
● protein: grams of protein
Base de cereais e seus detalhes nutricionais: ●

fat: grams of fat
sodium: milligrams of sodium
https://www.kaggle.com/datasets/crawford/80-cereals/code?resource=download ● fiber: grams of dietary fiber
● carbo: grams of complex carbohydrates
● sugars: grams of sugars
● potass: milligrams of potassium
● vitamins: vitamins and minerals - 0, 25, or 100, indicating the typical
percentage of FDA recommended
● shelf: display shelf (1, 2, or 3, counting from the floor)
● weight: weight in ounces of one serving
● cups: number of cups in one serving
● rating: a rating of the cereals
1) Substitua na coluna "mfr"

['A', 'G', 'K', 'N', 'P', 'Q', 'R', 'H', 'C'],

por: ['AHFP', 'GM', 'Kelloggs', 'Nabisco', 'Post', 'Quaker', 'Purina', 'Hot', 'Cold'])

2) Na coluna de "rating", há um probleminha nos valores. Conserte. Dica: veja se o tipo está
correto, e se tem mais informações do que deveria na string.
3) Qual a porcentagem de cereais quentes e cereais frios?
4) Quais os cereais que foram melhor avaliados (>70)?
5) Quais os cereais que possuem mais do que (incluído) 2 em fibra, possui vitamina e é
servido quente?
Correlação de Pearson:
6) Verifique se existe uma correlação:
a) entre a coluna de fibras e carboidratos
b) entre a coluna de calorias e carboidratos
c) entre a coluna de proteína e rating.

7) Ordene os cereais por rating.

Observação: você pode implementar seu algoritmo


de ordenação usando qualquer estratégia (não se preocupe com o custo).
Mas se preferir usar funções do Python,
leia o tutorial: https://java2blog.com/python-sort-list-of-lists/ que faz uso da função itemgetter
da biblioteca operator para ordenar listas de listas.
Use as funções do arquivo abrirDataFrameComoListaLista.py disponível na pasta
compartilhada

from abrirDataFrameComoListaLista import getCerealData


listaDeListaCereal = getCerealData()
Bônus
1) O notebook usa Markdown no texto para estilizar.
a) # Capítulo
## Seção
### Subseção
2) Fórmulas podem ser escritas usando latex expressions $$

$a_i = f(a_{i-1} + b)$

3) Itálicos são escritos com asteriscos: *teste*


4) Negritos são escritos com asteriscos duplos: **teste em negrito**

Você também pode gostar