Lista de Exercícios 02 – Introdução à linguagem Python: Continuação
Disciplina: EP087 (Machine e Deep Learn-
PPGEP
ing)
Prof.: Márcio das Chagas Moura
1ª) Plote duas curvas de densidade de probabilidade da distribuição normal no mesmo gráfico, com os
parâmetros: 𝜇 = 0 𝑒 𝜎 2 = 1, para a primeira curva, e 𝜇 = 0 𝑒 𝜎 2 = 0.2, para a segunda curva, para o
intervalo [-3, 3] (observação: você pode escrever a função ou importar o scipy e utilizar
[Link]). Para isso, importe [Link] (sugestão: importe com o nome plt) e utilize a
função plot para criar cada um dos gráficos. Além disso, adicione um título para o gráfico e a legenda
para cada uma das curvas.
Dica: você pode utilizar a função plot múltiplas vezes em sequência para plotar diversas curvas no
mesmo gráfico. Ao terminar de adicionar todas as curvas desejadas, o título e a legenda, utilize a função
show() para que o gráfico seja exibido.
2ª) Crie dois conjuntos de dados aleatórios, cada um deles contendo 100 pontos, sendo o primeiro deles
gerado por uma distribuição uniforme no intervalo [0, 1], e o segundo por uma distribuição normal
com 𝜇 = 0.5 𝑒 𝜎 2 = 0.2 (observação: é sugerido configurar a seed do numpy para 0 no início do có-
digo, para que os valores gerados por todos os alunos sejam iguais e as respostas possam ser compara-
das). Cada ponto de cada um dos conjuntos deve possuir uma coordenada X e uma coordenada Y (duas
colunas). Plote um gráfico de dispersão único contendo ambos os conjuntos de dados, com título e
legendas. Em seguida, plote os dois conjuntos novamente, mas em dois subplots distintos de uma figura
única, cada um contendo seu título, com o tamanho total da figura sendo 13.3 (largura) e 4.8 (altura).
Dicas de funções: [Link], [Link], fig.add_subplot
3ª) Novamente crie dois conjuntos de dados aleatórios com o mesmo procedimento do exercício 2, mas
agora cada ponto de cada um dos conjuntos deve possuir três coordenadas: X, Y e Z (três colunas).
Plote os dois conjuntos em dois subplots distintos da mesma forma da questão anterior, mas agora em
gráficos do tipo 3D.
Dica: para plotagem 3D, utilize o parâmetro projection = ‘3d’ na função add_subplot.
Observação: para que a função reconheça a projeção 3D, você deve instalar a biblioteca mpl_toolkits
em seu computador (!pip install mpl_toolkits), caso não esteja realizando o exercício no google colab.
4ª) Importe as nove imagens do conjunto de dados “frutas” utilizando a função imread da biblioteca
[Link] e projete cada uma delas através da função imshow da mesma biblioteca. Em seguida,
converta-as para escala de cinza e projete novamente.
Dica: para a conversão para escala de cinza, você pode utilizar a média no eixo RGB (mean com axis
= -1) ou a média ponderada da escala RGB, sendo o vermelho multiplicado por 0.2989, o verde por
0.5870 e o azul por 0.1140. Os dois métodos produzem resultados levemente distintos, mas são igual-
mente aceitos.
Observação: caso cada imagem tenha sido plotada individualmente (sem o uso da função figure), você
deve utilizar o [Link]() após a função imshow para que cada imagem seja projetada. Caso contrário,
apenas a última delas será projetada.
5ª) Importe o arquivo [Link] utilizando a biblioteca pandas e faça o que se pede:
a) Compute e retorne a média das calorias de todos os cereais.
b) Retorne uma lista com o nome dos oito cereais com menores níveis de açúcares.
c) Retorne uma lista com o nome dos onze cereais com menores níveis de sódio.
d) Retorne uma lista com o nome dos três cereais com maiores níveis de proteínas.
Dica: você pode utilizar as funções read_csv(‘path_do_arquivo/nome_do_arquivo.csv’), mean, nsmal-
lest e nlargest da biblioteca pandas.
6ª) Importe novamente o arquivo [Link]. Em seguida, crie subconjuntos do conjunto original com
base nas condições dadas, e retorne o nome dos cereais de cada subgrupo:
a) Tipo igual a H.
b) Quantidade de fibras diferente de 0, 1, 2 e de 3, simultaneamente.
b) Avaliação (rating) no intervalo [30, 40].
Dica: para a condição, tente: nome_do_dataset[nome_do_dataset[‘nome_da_coluna’] == valor], com
as condições ‘==’, para igualdade, ‘!=’, para diferença, e ‘>’ e ‘<’, para as desigualdades.