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,
e ele está demorando cinco minutos
para iniciar, e aí você coloca memória RAM,
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 da 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 nossa 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 o 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 o 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ê deixa ele 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 o depois,
já fizemos aqui o cálculo da média e da mediana.
Também já fizemos.
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 você conseguir entender
essas três linhas de comentários,
nós 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, 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 vão usar muito ainda dentro
da linguagem R na parte 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.
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 o primeiro aqui do antes,
não é obrigatório que ele esteja
numa ordem crescente ou decrescente.
"Porque 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 uma 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 a 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?
É 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á distantes 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: variância antes,
nós queremos encontrar
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.
Eu quero dar
"Ah, Rafa, eu quero dar uma olhadinha".
Quer dar uma olhadinha antecipada?
Podemos não ter problema na variância
Podemos, não tem problema não.
É só apertar o Enter.
Nós conseguimos saber qual que é o valor,
o resultado da variância.
Tá, e aí?
Agora o desvio padrão desvio padrão,
vocês já tem esse conhecimento?
Como calcular o desvio padrão?
Vamos criar uma variável desvio padrão
antes que nós estamos analisando,
antes da implementação
da melhoria do algoritmo
e se a instrução é qualquer
o conjunto de dados.
Rafa,
podemos visualizar lógico que podemos.
Qual que é o nome da variável desvio
padrão antes?
Legal.
E aqui nós temos o desvio padrão para esse
conjunto de valores é 7,03.
Agora que conseguimos encontrar o valor
da variância
e também 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?
Retomando essa parte, criamos os dados,
criamos a média
e a mediana do do antes,
conseguimos achar a moda,
acabamos de conseguir 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 pontos
para facilitar aqui para vocês
a visualização.
Um Vou apertaram Control v.
Deixa eu arrumar aqui
para explicar o que nós vamos fazer agora
calculando
medidas descritivas para o depois.
Agora 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 iremos fazer depois.
Lembre se do cenário do case.
Tem um sistema que ele não estava
com uma performance de algoritmo tão boa,
então fizeram uma análise
extrair os tempos de execução
antes da implementação da melhoria
no algoritmo.
E aí precisava
se agora fazer uma análise do depois.
Então no depois nós temos a base de dados.
Como está a performance?
Dois 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 discutindo aqui,
eu deixo um comentário para vocês,
calculando medidas descritivas para depois
nós iremos achar a média,
a média de quem alpha.
Lembre se. Agora
vamos trabalhar com essa base de dados,
a performance do algoritmo do depois.
Então vamos descer um pouquinho.
Nós estamos aqui cria uma variável
chamado média depois esse é o nome.
Esse é o nome da base de dados
e vamos também achar os valores.
O valor da mediana.
Se eu apertar um entra aqui é sempre legal
visualizar o resultado,
a média depois e o depois.
Vou apertar o enter.
Então essa é a média
da performance do depois.
E agora nós vamos achar também
o valor da mediana Visualizar.
Perdão, nós já temos o valor 20
mediano, não underline.
Depois vou apertar o então.
Então essa é a média e essa é a mediana do
depois vou subir aqui,
vamos pegar o nosso script, tá?
Já fizemos antes, agora
nós estamos calculando tudo,
depois vamos achar agora o valor da moda
é a mesma coisa
que nós fizemos do antes,
só que agora é a moda para depois.
Vamos apertar alguns enter
para ficar limpa a hora
que nossa de programação
poder entender criar a variável modo
e logo depois depois as numeric len serve
serve para converter os valores
numérico, por mais que estão ali, mas
é bom confirmar que os valores existam.
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 que é o conjunto de dados aí
que vai ser feita essa moda?
O valor da moda, se eu apertar o enter
é igualzinho anterior,
só muda que
agora nós estamos fazendo a análise
para os dados do depois,
porque após implementação do algoritmo,
então a moda para o depois de um valor
resultou em um valor de 190.
Vamos voltar mais um pouquinho aqui
de pegar o script que nós deixamos
a palavra pré pronto e pronto
e vamos verificar o já geramos a moda
e agora nós vamos criar,
que é a variância, é o desvio padrão.
Vamos descobrir
qual é o valor da variância
e qual o valor do desvio padrão para o
depois e de apertar novamente alguns.
Então
vou dar um control v se eu só limpar aqui,
se a gente executar com esse tracinho
aqui vai vai ocorrer um erro.
Então o que nós temos aqui?
Criamos uma variável chamada variância.
Depois aqui a instrução para calcular
a variância dessa base de dados
utilizando o VAR e o desvio padrão.
Vou apertar enter.
A gente esperava que dá certo.
E aqui vamos só visualizar
para confirmar que deu certo.
Visualizou?
E agora vamos verificar
o valor do desvio padrão que foi
encontrado.
Desvio padrão
depois ou pode ter 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 o print é um erro.
Não é um erro do script que a gente criou.
Tais sim, na hora de visualizar o depois.
Oh, então essa é a variância
do que tínhamos feito anteriormente.
E agora esse erro
depois que acabamos de fazer.
Tá vendo?
Tomem cuidado,
senão vocês podem estar a visualizar
a informação que você não queria.
Print.
Agora vamos verificar o que o valor
do desvio padrão do depois.
Sim, novamente
depois ou antes nós já passamos.
Esse é o valor.
Então nova aliança do depois.
É esse o valor do desvio padrão.
Depois.
Agora vamos subir aqui
e verificar o nosso script
que nós deixamos pronto aqui. Legal!
Nós já conseguimos criar,
vamos lembrar a média mediana, a moda,
a variância e o desvio padrão
para base de dados do antes e do depois.
Agora podemos dizer que a gente precisa
juntar tudo isso
para visualizar esses valores aqui.
Na verdade, seria uma impressão
de tudo que nós fizemos até agora.
Só vou apertar alguns em três aqui,
mas a última parte
são apenas duas instruções agora.
Opa, vou apagar.
Controlo
ver o que essa última parte, Rafa,
imprimindo os resultados aqui
vamos trabalhar
com todas as informações do antes
e o depois.
Vou apertar.
Então é assim simples de visualizar
o entender que está na riqueza,
entender todas essas informações.
Então o que nós temos aqui?
Olha aqui,
antes disso, aqui é um texto sempre.
Eu quero juntar um texto com valores,
eu coloco teste, aí
eu coloco a informação, lembra?
Divido por vírgula.
E o nome da variável só aqui,
na verdade é uma impressão
mostrando tudo o que nós fizemos
anteriormente.
Vamos pegar o outro script.
Poderíamos fazer aqui na mão
agora, poderíamos talvez
demorar só um pouquinho
aqui para vocês, pra gente digitar junto
para digitarmos essas informações.
Nós apertar mais alguns inteiros.
Aqui, como sempre, vou apertar muito
o que nós temos aqui
até um momento de uma revisão antes,
a média antes e esse valor média antes
e esse valor mediano
antes mediana antes.
Então, aqui nós só juntamos uma impressão
de tudo o que nós
projetamos anteriormente e aqui do depois.
E é agora que fica o que se a gente pegar
o nosso TO do nosso script,
pegamos desde uma introdução.
O que é uma análise descritiva,
duas bases de dados
com verificamos o antes e o depois,
calculamos a média mediana,
conseguimos nos achar o valor da moda
também, tanto para os dados do antes
como depois
e enfim, só voltando,
descendo um pouquinho aqui,
agora a gente consegue 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 o que calculamos antes,
tudo que calculamos o depois.
E agora que 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.
O tempo de execução.
Supondo que fossem segundos,
demorava 218/2.
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,
a linguagem R e até mesmo saber
interpretar esses resultados e.