-
Com certeza na sua vida
pessoal ou profissional
-
você já se deparou com uma situação
que você tem que verificar a performance
-
do antes e o depois de algo, como
por exemplo, no computador da sua casa.
-
Supondo que você vai
aumentar a memória RAM
-
porque ele está demorando
cinco minutos para iniciar,
-
e aí você coloca uma memória RAM,
-
e depois você quer verificar
o quanto melhorou, ou se melhorou.
-
Então você está fazendo
uma análise do antes e o depois.
-
E a nossa linguagem R também nos ajuda
a fazer a análise do antes e o depois.
-
Só que, nesse caso, nós precisamos ter dados
que consigam fazer essa comparação.
-
Vamos trazer aqui
um exemplo para vocês.
-
Nesse exemplo, pense num caso
real de uma fábrica de software.
-
Nós temos lá um sistema funcionando
que vai para a produção
-
e aí descobrimos que a performance
dele não está muito boa.
-
Fizeram uma medição hora
a hora nessa performance.
-
Então, após essa análise
de uma performance não tão boa,
-
melhorar o algoritmo, que é
a lógica que está dentro do sistema,
-
e, após, fazer uma nova medição.
-
É isso que vamos ver agora,
-
vamos fazer uma análise
descritiva do antes e depois
-
para vocês terem a confiança
dos dados que estão sendo analisados,
-
e até mesmo o seu resultado.
-
Vem comigo que eu vou mostrar para vocês.
-
Como sempre, eu deixo um script pronto,
não somente as linhas de execução,
-
o código do que precisamos fazer,
mas também um comentário.
-
Um breve resumo da análise
descritiva está aqui no começo.
-
Depois, se você quiser
fazer uma pausa, ler e interpretar
-
sobre o que é uma análise descritiva,
aqui fica um breve resumo.
-
Então, como nós falamos, nós
precisamos de uma base de dados
-
para poder analisar isso.
-
Vamos rodar essas duas linhas aqui,
criar os nossos dados
-
para ter esse comparativo
do antes e do depois.
-
Se pegar aqui...
-
Perdão. Vamos dar uns Enters aqui.
-
Sempre apertamos alguns Enters
para ficar uma área limpa aqui.
-
Então nós estamos criando aqui
um comentário, uma hashtag.
-
O tempo antes da performance:
hora um, hora dois, hora três.
-
Aqui nós temos quatro,
cinco, seis, sete, oito.
-
É uma análise do antes e do depois
-
em oito horas de execução
de um código, por exemplo.
-
Antes de implementar
a melhoria no algoritmo,
-
e depois de implementar
a melhoria no algoritmo.
-
Vamos apertar o Enter.
-
E aí, como sempre, é legal visualizar
como estão os dados.
-
Olhe, tempo antes... Aperte o Enter.
-
Opa, o que eu errei aqui?
-
Print...
-
Ah, "tempos", está vendo?
-
O que eu errei?
-
"tempo_antes"...
-
Agora vai funcionar.
-
Aqui tem a letra "s".
-
São tempos, né?
-
Eu não tinha colocado o "s",
então ele falou: "Opa! Not found".
-
Not found quer dizer que não existe.
-
Ai depois eu coloquei certo.
-
Então sigam aquela velha dica, né,
ou vocês colocam aqui print,
-
vocês copiam o nome da variável
e colocam aqui no conjunto de dados,
-
ou você digita, e ele dá
a sugestão do nome.
-
Aqui, no caso, ele deu a sugestão.
-
A sugestão está correta, eu vou apertar.
-
Então temos a análise do antes e o depois.
-
Facilitando a interpretação
aqui, se formos verificar,
-
como sempre temos um conjunto
de valores bem pequeno
-
para facilitar a nossa análise.
-
Olhando, nós já podemos fazer
esse resultado prévio sem o R.
-
O antes e o depois, o depois ficou melhor.
-
Então implementou-se
a melhoria no algoritmo,
-
e houve realmente uma melhor
performance no sistema.
-
Inclusive, olhando em todas as horas
de execução, realmente está melhor.
-
Eu, olhando, consigo.
-
Mas se fosse uma análise
com 300 horas de execução,
-
iria ficar bem difícil vocês
conseguirem olhando.
-
Então vamos pedir para o R fazer para nós.
-
O que vamos fazer?
-
Vamos para a próxima parte.
-
Então criamos o antes e o depois.
-
Vamos apertar mais alguns Enters aqui.
-
É sempre legal para facilitar a nossa área.
-
Vamos para uma próxima parte.
-
Nós vamos agora gerar todo o cenário
-
para calcular as medidas
descritivas para o antes.
-
Então nós vamos fazer primeiro uma análise
do antes, preparar esses dados do antes.
-
Aqui nós vamos calcular
a média simples do antes,
-
e vamos calcular a mediana do antes.
-
Vamos aqui?
-
Eu vou apertar o Enter, vou apertar print.
-
Olhe, média...
-
Aí aqui, aquela velha história,
ou você copia "media_antes",
-
ou você o deixa fazer
a sugestão para você.
-
Então essa é a média.
-
Se somar todos esses valores,
são quatro, cinco, seis, oito valores,
-
são oito horas de análise,
-
somo e divido por oito, vai ser a média.
-
Além de calcular a média
que acabamos de visualizar,
-
nós também pedimos
para calcular a mediana.
-
Vamos visualizar o valor da mediana?
-
"Ô, Rafa, estamos tendo que utilizar
os conceitos que aprendemos anteriormente."
-
Sim. Isso é bom, né?
-
As coisas vão se juntando.
-
E aqui a mediana.
-
Opa, um sinalzinho a mais.
-
Então esse é o valor da média
e esse é o valor da mediana.
-
São informações referentes
aos dados do antes, tudo bem?
-
Então está aqui o nosso script,
o resumo para vocês.
-
Já criamos os dados do antes e do depois,
-
já fizemos aqui o cálculo
da média e da mediana.
-
Então já fizemos também.
-
E agora nós vamos para uma próxima parte.
-
Eu estou copiando essa parte do código,
isolando-o, e vamos trazer aqui para baixo.
-
Como sempre, é legal apertar
um pouquinho de Enter aqui
-
para isolar a área do código
para podermos interpretar.
-
Deixe-me limpar um pouquinho aqui
para facilitar a visualização.
-
Opa!
-
Damos um Control + Z aqui.
-
Antes de apertar o Enter,
você dá um Control + Z.
-
"E agora, Rafa, o que nós temos?"
-
Nós temos três linhas de comentário
aqui para deixar para vocês, tá?
-
Lembrando que às vezes esse é o momento
que você pode dar uma pausa no vídeo,
-
antes de eu falar ou após eu falar.
-
Por quê? Porque você precisa entender esses
comentários, que não fazem parte da execução.
-
E depois que conseguirmos entender
essas três linhas de comentários,
-
poderemos fazer a execução
do que precisamos.
-
Vamos entender?
-
O que eu criei para vocês então?
-
O "moda_antes".
-
É o nome de uma variável.
-
Aí sinal de menor, tracinho.
-
"Ô, Rafa, eu já entendi.
-
O resultado daqui será
armazenado no moda_antes.
-
Mas o que nós estamos fazendo, Rafa?"
-
Vamos aqui.
-
Primeiro vem uma instrução
aqui do R, "as.numeric".
-
O que é isso?
-
Vocês ainda vão usar muito dentro
da linguagem R na parte de estatística.
-
"É utilizado para converter
os valores em vetor numérico."
-
Aí pode vir uma pergunta na sua cabeça:
-
"Mas, Rafa, como assim?
-
Os dados são numéricos."
-
Você sabe porque o conjunto de dados,
essas oito horas, é pequeno.
-
Mas quem garante isso?
-
É sempre bom você confirmar, tá?
-
Então, voltando aqui, olhando,
nós sabemos que eles são numéricos,
-
mas você tem que garantir isso
para poder fazer essa análise.
-
É isso que o as.numeric faz.
-
Se não for, tiver algum probleminha lá
-
e o dado for possível
de conversão para numérico,
-
ele vai ser feito, é o as.numeric.
-
E aí nós vamos continuar aqui
a interpretar essa parte dessa instrução.
-
Aqui são os nomes.
-
O que são os nomes?
-
É o conjunto de valores.
-
Nós temos apenas um conjunto de valores.
-
Poderíamos ter mais?
-
Sim.
-
Se fosse um dataframe
com diversas colunas? Poderia.
-
Aqui nós temos uma linha, ou uma coluna.
-
É um exemplo um pouco mais simples.
-
E aí você entra aqui no "sort".
-
O que seria o sort?
-
Novamente, fica aqui
um comentário para vocês.
-
Talvez vocês já tenham utilizado
em alguma outra linguagem de programação.
-
Quem não usou, não
tem problema nenhum, tá?
-
Esse é o momento de aprender.
-
Ele é utilizado para ordenar os elementos.
-
Porque se vocês pegarem aqui,
esse primeiro aqui do antes,
-
não é obrigatório que ele esteja
numa ordem crescente ou decrescente.
-
"Por que não, Rafa?"
-
É uma análise.
-
Supondo que, na primeira hora,
demorou 220 segundos para executar,
-
na segunda, 210.
-
Então vai ser difícil você encontrar
na ordem crescente ou decrescente.
-
Você está olhando hora a hora
como ele se comporta.
-
O que você vai fazer então?
-
Por isso que vem essa instrução sort.
-
Você vai dizer que, nessa
instrução true ou false,
-
se você colocar true, você está
pedindo para que essa análise
-
seja feita numa ordem decrescente.
-
Se você colocar false, ele vai
fazer numa ordem crescente.
-
Lembrando que, decrescente,
do maior para o menor,
-
que vai ser como ele
vai analisar esse caso.
-
E se fosse crescente,
do menor para o maior.
-
Esse é o sort.
-
Bem recheada de conhecimento
essa instrução aqui.
-
E o que é o "table"?
-
É o conjunto de dados para ser analisado.
-
Lembrando, aqui é uma linha
só, que é o "tempo_antes",
-
mas poderia ser um dataframe.
-
Então esse é o conjunto de dados
que nós estamos pedindo para analisar.
-
Vamos apertar um Enter.
-
E aí, o que nós temos?
-
"Rafa, e agora?"
-
Quer olhar o resultado?
-
Vamos olhar, lógico.
-
"print"...
-
Ou você copia e cola, ou você
digita, e deixa ele dar a sugestão.
-
Realmente é esse que eu quero.
-
Se eu apertar o Enter,
o que ele nos trouxe de resultado?
-
Essa análise chegou num resultado de 210.
-
Mas o que seria esse número 210?
-
Vamos continuar aqui, aí
eu vou explicar para vocês.
-
Aqui foi a introdução, os dois dados,
-
calculamos a média e a mediana do antes.
-
E aqui, nós conseguimos fazer a moda,
-
qual o número moda que é gerado com essa
análise desses dados, desse conjunto.
-
De novo, continuamos
com o intervalo de valores do antes.
-
Ainda não fizemos o depois.
-
Vamos continuar?
-
Aqui nós vamos para uma outra parte
do nosso código, da nossa análise.
-
Eu vou copiar e descer um pouquinho.
-
Novamente, aquela
velha dica: se possível...
-
É que aqui, eu que estou transmitindo
conhecimento para vocês.
-
Se você quiser, não
precisa apertar o Enter.
-
Mas é legal para vocês dividirem
por partes essa análise, tá?
-
Aqui, novamente, tem uma hashtag.
-
Deixe-me só limpar o código aqui,
-
para quando executá-lo depois,
não acontecer nenhum erro.
-
Aqui eu deixo esse comentário, né?
-
Nós iremos verificar a variância.
-
O que é a variância?
-
Está aqui, olhe:
"É uma medida estatística
-
que indica a dispersão
dos valores em relação à média".
-
Nós não temos a média?
-
O quanto os valores...
-
"Que valores, Rafa?"
-
O quanto cada um desses valores
está distante da média.
-
Por isso que nós fizemos aqui, olhe.
-
Essa não é a média?
-
Deu 218.
-
Se eu olhar aqui, me parece...
-
Olhando aqui, interpretando, qual
parece que está mais distante?
-
Mas não vamos deixar
o computador fazer por nós, né?
-
Talvez seja esse.
-
Qual está mais perto de 218?
-
Olhando aqui, o valor 220, tá?
-
Mas deixe que o computador nos fale.
-
Nesse intervalo de valores, quais estão
mais perto ou menos perto da média?
-
Quanto maior a variância,
mais dispersos os dados estão.
-
Ou seja, o valor do resultado da variância
que nós vamos pedir para calcular agora,
-
quanto maior o número,
mais distante estará da média.
-
Então tem uma disparidade aí,
uma distância da média dos dados.
-
Aí vamos executar.
-
Como sempre, para executar,
eu vou apertar um Enter aqui,
-
e aí nós vamos analisar,
olhe: variancia_antes,
-
nós queremos saber como
eu acho o valor da variância,
-
que é isso que acabamos de explicar aqui.
-
E, novamente, é melhor
você fazer uma pausa, anotar,
-
verificar o material escrito
que está disponível para vocês
-
para depois você conseguir executar aqui.
-
Então, aqui, como eu consigo
armazenar o valor da variância
-
do conjunto de dados tempos_antes,
-
como eu consigo pedir
para ele achar a variância aqui.
-
É simples.
-
Depois que você entendeu
o conceito, é simples.
-
Você cria uma variável, que, nesse caso,
eu chamei de "variancia_antes".
-
Aqui eu coloco a instrução,
que é "var", v-a-r,
-
e o nome do conjunto de dados.
-
"Ah, Rafa, eu quero dar uma olhadinha".
-
Já quer dar uma olhadinha?
-
Podemos, não tem problema não.
-
Olhe, "variancia_antes", não é isso?
-
Se apertarmos o Enter, conseguiremos saber
qual é o valor, o resultado da variância.
-
Agora o desvio-padrão.
-
O desvio-padrão, vocês já
têm esse conhecimento.
-
Como calcular o desvio-padrão?
-
Vamos criar uma variável.
-
Desvio-padrão antes,
porque nós estamos analisando
-
antes da implementação
da melhoria do algoritmo,
-
"sd" é a instrução, e qual
é o conjunto de dados.
-
"Rafa, podemos visualizar?"
-
Lógico que podemos.
-
Qual é o nome da variável?
-
"desvio_padrao_antes".
-
Legal.
-
E aqui nós temos que o desvio-padrão
para esse conjunto de valores é 7.03.
-
Agora que conseguimos encontrar o valor
da variância e do desvio-padrão,
-
vamos continuar para conseguir concluir
a análise que queremos do antes e o depois.
-
Então, o que nós já vimos?
-
Retomamos essa parte, criamos os dados,
-
criamos a média e a mediana do antes,
-
conseguimos achar a moda,
-
acabamos de descobrir
a variância e o desvio-padrão.
-
Agora vamos para essa
próxima parte da análise.
-
Vou copiar aqui para baixo.
-
Aqui, como sempre, eu
vou apertar alguns Enters
-
para facilitar para vocês a visualização.
-
Vou apertar um Control + V.
-
Deixe-me arrumar aqui para explicar.
-
O que nós vamos fazer agora então?
-
Olhe, "calculando medidas
descritivas para depois" agora, né?
-
Fizemos o antes, vamos para o depois.
-
Agora nós iremos repetir o script
que nós fizemos anteriormente
-
para a parte da execução do antes.
-
Agora nós iremos fazer para o depois.
-
Lembre-se do cenário, do case.
-
Tem um sistema que não estava
com uma performance tão boa de algoritmo.
-
Então fizeram uma análise,
extraíram os tempos de execução
-
antes da implementação
da melhoria no algoritmo,
-
e aí precisava-se fazer
uma análise do depois.
-
Então, no depois, nós
temos a base de dados,
-
como está a performance do depois,
-
e agora o R vai verificar
o antes e o depois
-
para fazer esse comparativo
e conseguir ter uma análise descritiva.
-
Fizemos para o antes, vamos
fazer a mesma coisa agora
-
para o conjunto de dados do depois.
-
Vem aqui comigo.
-
Então, como sempre, eu deixo
um comentário para vocês.
-
Olhe, calculando medidas
descritivas para depois.
-
Nós iremos achar a média.
-
A média de quem?
-
Lembre-se, agora nós vamos
trabalhar com essa base de dados,
-
a performance do algoritmo do depois.
-
Então vamos descer um pouquinho.
-
Estamos aqui.
-
Criei uma variável
chamada "media_depois".
-
Esse é o nome da base de dados.
-
E vamos também achar o valor da mediana.
-
Se eu apertar o Enter aqui...
-
É sempre legal visualizar
o resultado, olhe, media_depois.
-
Vou apertar o Enter.
-
Então essa é a média
da performance do depois.
-
E agora nós também vamos
achar o valor da mediana.
-
Visualizar, perdão.
-
Nós já temos o valor, né?
-
"print(mediana_depois)".
-
Eu vou apertar o Enter.
-
Então essa é a média,
e essa é a mediana do depois.
-
Vou subir aqui.
-
Vamos pegar o nosso script, tá?
-
Já fizemos do antes, agora
estamos calculando do depois.
-
Vamos achar agora o valor da moda.
-
É a mesma coisa que nós fizemos do antes,
-
só que agora é a moda para o depois.
-
Vamos apertar alguns Enters para ficar
limpa a nossa área de programação
-
para podermos entender.
-
Criar a variável moda_depois,
-
"as numeric", que serve
para converter os valores numéricos,
-
por mais que estejam ali.
-
Mas é bom confirmar
que os valores são um número,
-
eles estão como número.
-
E aqui nós temos a parte da organização
dos dados em ordem decrescente.
-
E aqui, qual é o conjunto de dados que vai
ser feita essa moda, o valor da moda.
-
Se eu apertar o Enter...
É igualzinho ao anterior.
-
Só muda que agora nós estamos fazendo
a análise para os dados do depois
-
após implementação do algoritmo.
-
Então, a moda para o depois
resultou em um valor de 190.
-
Vamos voltar mais um pouquinho aqui,
pegar o script que nós deixamos.
-
A palavra não é pré-pronto. É pronto.
-
E vamos verificar.
-
Já geramos a moda, e agora nós vamos
criar a variância e o desvio-padrão.
-
Vamos descobrir
qual é o valor da variância
-
e qual é o valor do desvio-padrão
para o depois.
-
Irei apertar novamente alguns Enters.
-
Vou dar um Control + V.
-
Deixe-me limpar aqui.
-
Se executarmos com esse tracinho
aqui, vai ocorrer um erro.
-
O que nós temos aqui então?
-
Criamos uma variável
chamada variancia_depois.
-
A instrução aqui é para calcular
a variância dessa base de dados
-
utilizando o VAR, e o desvio-padrão.
-
Vou apertar um Enter.
-
Nós esperamos que dê certo, né?
-
E aqui vamos só visualizar
para confirmar que deu certo.
-
Visualizou.
-
E agora nós vamos verificar o valor
do desvio-padrão que foi encontrado.
-
"desvio_padrao_depois".
-
Opa, tem um errinho aqui, pessoal.
-
Cuidado aqui!
-
Eu visualizei o antes.
-
Não era o antes e sim o depois.
-
Vamos ver.
-
Oh, então aqui, print...
-
Não é um erro do script que nós
criamos e sim na hora de visualizar.
-
O depois, tá?
-
Então essa é a variância do antes
que tínhamos feito anteriormente.
-
E agora esse do depois,
que acabamos de fazer, está vendo?
-
Tomem cuidado, senão vocês podem visualizar
a informação que vocês não queriam.
-
Print...
-
Agora nós vamos verificar o valor
do desvio-padrão do depois, hein!
-
Novamente, do depois.
-
O antes, nós já passamos.
-
Então esse é o valor
da variância do depois,
-
e esse o valor do desvio-padrão do depois.
-
Agora vamos subir aqui e verificar
o nosso script que deixamos pronto aqui.
-
Legal!
-
Nós já conseguimos criar...
-
Oh, vamos lembrar: a média, mediana,
a moda, a variância, e o desvio-padrão,
-
para a base de dados do antes e do depois.
-
Agora nós podemos dizer
que precisamos juntar tudo isso
-
para visualizar esses valores, tá?
-
Na verdade, aqui seria uma impressão
de tudo que nós fizemos até agora.
-
Eu vou apertar alguns Enters aqui,
mas é a última parte, tá?
-
São apenas duas instruções agora.
-
Opa! Vou apagar...
-
Control + V.
-
"O que é essa última parte, Rafa?"
-
"Imprimindo os resultados".
-
Vamos trabalhar aqui com todas
as informações do antes e do depois.
-
Vou apertar o Enter...
-
É simples de visualizar, né?
-
A riqueza está no entender, né,
entender todas essas informações.
-
Então o que nós temos aqui?
-
"Antes - Média".
-
Isso aqui é um texto, né?
-
Sempre que eu quero juntar
um texto com valores,
-
eu coloco o "paste",
aí eu coloco a informação,
-
divido por vírgula, e o nome da variável.
-
Na verdade, aqui é uma impressão mostrando
tudo o que nós fizemos anteriormente.
-
Vamos pegar o outro script.
-
"Rafa, poderíamos fazer
aqui na mão agora?"
-
Poderíamos.
-
Talvez demore só um pouquinho
aqui para digitarmos juntos, né...
-
Para digitarmos essas informações.
-
Eu vou apertar mais alguns
Enters aqui, como sempre.
-
Eu vou apertar um Enter.
-
O que nós temos aqui
até o momento de uma revisão?
-
"Antes: media_antes", é esse valor,
-
media_antes é esse valor.
-
"Mediana: mediana_antes".
-
Então nós só juntamos aqui.
-
Seria uma impressão de tudo
o que nós projetamos anteriormente.
-
E aqui é do depois.
-
E agora fica o quê?
-
Se pegarmos todo o nosso script,
-
pegamos desde uma introdução,
o que é uma análise descritiva,
-
duas bases de dados,
verificamos o antes e o depois,
-
calculamos a média, mediana,
-
conseguimos achar o valor da moda também,
-
tanto para os dados do antes
como para do depois.
-
E enfim...
-
Só voltando, descendo um pouquinho aqui,
agora conseguimos imprimir.
-
E com essas informações em mãos, nós
conseguimos obter os nossos resultados.
-
Então aqui é o conjunto
mostrando o resultado,
-
todas as informações numa impressão só.
-
Tudo que calculamos do antes,
tudo que calculamos do depois.
-
E agora você consegue
fazer a interpretação.
-
Vamos pegar o mais simples aqui:
-
a média de tempo de execução do antes,
antes de implementar a melhoria no algoritmo,
-
supondo que fossem segundos, o tempo
de execução demorava 218 segundos.
-
Agora caiu para 196.
-
E por aí vai.
-
Você consegue comparar o antes
e o depois de cada uma dessas informações
-
para saber se realmente melhorou
a performance do sistema
-
após a implementação
da melhoria do algoritmo.
-
Eu tenho certeza que vocês
conseguiram entender
-
a importância de saber utilizar todas
essas instruções da Linguagem R,
-
e até mesmo saber
interpretar esses resultados.