You are on page 1of 4

1 Trabalho de conclusão dos módulos de Introdução ao Python e Fun-

damentos Matemáticos
1.1 Certificação em Data Science Neuron
Existem duas modalidades de certificação Data Science Neuron para o segundo semestre de 2018:
(i) certificação para membros presenciais e (ii) certificação para membros remotos. Serão consider-
ados membros presenciais aqueles que tiveram 50% de presença em nossos encontros no câmpus
da USP de Ribeirão Preto às terça/quartas-feiras e membros remotos todos os outros. Ambos os
tipos de membros terão que cumprir os mesmos requerimentos caso queiram retirar um certifi-
cado.

1.1.1 Requerimentos para a certificação:


A entrega de um projeto final até o dia 31/10 de 2018. O projeto final consiste-se na resolução
dos quatro exercícios presentes neste Jupyter Notebook. Os exercício serão corrigidos com rigor e
esperamos que todos entreguem um trabalho de alto nível. Não é necessária a resolução de todos
os exercícios, no entanto, o aluno deve somar, no mínimo, 6 pontos no total. O Notebook resolvido
deve ser enviado para o endereço neuron.dsai@gmail.com com o nome completo e RG no corpo do
e-mail.

1.1.2 Código Ético:


O candidato compromete-se a desenvolver todas as atividades sozinho e não copiar materiais
desenvolvidos por terceiros.

1.1.3 Valor do certificado:


• Membros presenciais:
– (i) somente certificado digital R$29,90;
– (ii) certificado digital + certificado em papel R$39,90;
• Membros remotos:
– (i) somente certificado digital R$39,90;
– (ii) certificado digital + certificado em papel R$49,90 + frete;

Os certificados serão entregues até meados de Dezembro de 2018.

2 Exercício de Introdução ao Python


2.0.1 Exercício 0 - Criando uma loja fictícia (3 pontos)
Desenvolva um sistema de gerenciamento de um loja. O sistema deve contar as seguintes funções:

• Menu de navegação entre as funções abaixo do sistema;

• Cadastrar os seguintes dados (no formate DataFramde do Pandas): Nome do cliente, idade
do cliente, preço da compra, sexo, data;

1
• Visualizar a tabela de dados;

• Deletar os dados;

• Ao fechar final das ações os dados devem ficar salvos em um arquivo no formato CSV para
serem usados para próxima vez que o código for rodado;

• Dicas: utilize a função “input” em conjunto com os condicionais if, elif e else para estruturar
seu sistema. Utilize o Pandas para gravar e manipular os dados. Use somente uma célula
do Jupyter Nobteook em sua versão final.

Em cima da atividade anterior:

• Cadastre 10 compras fictícias no sistema com dados aleatórios, usando bibliotecas ou inven-
tando;

• Faça as seguinte análises em cima desses dados e as apresente na forma de um simples


relatório:

– Retorne os gastos por sexo;


– Retorne o percentual de cliente crianças, adultos e idosos;
– Retorne a média, mediana e desvio-padrão dos valores das compras (extra: inclua um
gráfico do tipo “box-plot”);
– Retorne as receitas diárias, indicando qual foi o dia campeão em receita;

• Faça que todas essas análises sejam dadas juntas. Adicione ao menu uma opção chamada
“estatísticas da loja”.

• Dicas: Usando os pacotes Numpy e Pandas juntos, cada informação sai com no máximo 5
linhas de código.

In [ ]:

3 Exercícios de Fundamentos Matemáticos do Data Science


3.0.1 Exercício 1 - Estatística (3 pontos)
Faça uma análise estatística/descritiva das variáveis (leve também em consideração
a relação entre as variáveis) do Dataset “Automobile” descrita no seguinte link:
https://archive.ics.uci.edu/ml/datasets/automobile. Abuse de gráficos e de tabelas e não
se esqueça de comentar os resultados obtidos.
Alguns links que podem ser úteis:

0. https://goo.gl/Dz9Dfu
1. https://machinelearningmastery.com/understand-machine-learning-data-descriptive-
statistics-python/
2. https://www.marsja.se/pandas-python-descriptive-statistics/
3. https://www.dataquest.io/blog/basic-statistics-with-python-descriptive-statistics/
4. http://www.est.ufmg.br/portal/arquivos/rts/rte0202.pdf
5. https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-one-
getting-started-a11655a467d4

2
6. https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-ii-
interactions-a4cf994e2512
7. https://towardsdatascience.com/data-visualization-with-bokeh-in-python-part-iii-a-
complete-dashboard-dc6a86aa6e23

Rode a célula abaixo para abrir a base de dados.

In [11]: import pandas as pd


import numpy as np

autos = 'https://archive.ics.uci.edu/ml/machine-learning-databases/autos/imports-85.dat
data1 = pd.read_csv(autos, sep=',',header=None)

In [ ]:

3.0.2 Exercício 2 - Álgebra Linear (2,5 pontos)


Para a resolução deste exercício você utilizará a base de dados “Iris” -
https://archive.ics.uci.edu/ml/datasets/iris. As quatro primeiras colunas da base de da-
dos são atributos das orquídeas e a quinta coluna denota o tipo (classe) da orquídea. Siga as
instruções:

1. Embaralhe as linhas da base de dados;


2. Padronize as variáveis parea que tenhas média 0 e desvio-padrão
igual a 1 (https://www.insper.edu.br/docentes/rinaldo-artes/wp-
content/uploads/sites/14/2014/04/Estat%C3%ADstica-descritiva-Coeficientes-de-
Assimetria-e-Curtose_AED.pdf);
3. Separe as primeiras 20 linhas da base para uma base chama “test” e as outras 130 para uma
base chamada “train”;
4. Ache quais são as flores mais próximas, de acordo com a distância euclidiana, das flores da
base “test” na base “train” e compare as suas espécies;
5. Discorra sobre os resultados obtidos.

OBS: talvez seja necessário transformar o dataset em uma matriz do Numpy.

In [13]: import pandas as pd


import numpy as np

iris = 'http://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data'
data2 = pd.read_csv(iris, sep=',',header=None)

In [ ]:

3.0.3 Exercício 3 - Otimização (1,5 pontos)


Encontre a função f ( x ) que melhor se adapte aos pontos dispersos. Suponha que a função esti-
mada seja da forma f ( x ) = wx + b e que as constantes w e b sejam tais que minimizem o Erro
Quadrático Médio. Esse método é chamado de Mínimos Quadrados e é muito usado no campo

3
da Estatística e do Machine Learning. Use o pacote matplotlib para plotar o gráfica a função erro
Vs. o número de iterações.
A base de dados a ser utilizada é simulada e é a mesma que aparece na apostila e que ilustra o
problema do sorveteiro.

In [14]: import numpy as np


import matplotlib.pyplot as plt

#Criando base de dados


x=[20,22,25,33,28,29,35]
y=[50,65,75,100,90,110,130]

In [ ]: