WEBVTT 00:00:07.850 --> 00:00:11.211 Com certeza na sua vida pessoal ou profissional 00:00:11.211 --> 00:00:15.949 você já se deparou com uma situação que você tem que verificar a performance 00:00:15.949 --> 00:00:20.754 do antes e o depois de algo, como por exemplo, no computador da sua casa. 00:00:20.754 --> 00:00:23.823 Supondo que você vai aumentar a memória RAM 00:00:23.823 --> 00:00:27.155 porque ele está demorando cinco minutos para iniciar, 00:00:27.155 --> 00:00:29.095 e aí você coloca uma memória RAM, 00:00:29.095 --> 00:00:32.966 e depois você quer verificar o quanto melhorou, ou se melhorou. 00:00:32.966 --> 00:00:35.935 Então você está fazendo uma análise do antes e o depois. 00:00:35.935 --> 00:00:40.406 E a nossa linguagem R também nos ajuda a fazer a análise do antes e o depois. 00:00:40.406 --> 00:00:45.645 Só que, nesse caso, nós precisamos ter dados que consigam fazer essa comparação. 00:00:45.645 --> 00:00:48.015 Vamos trazer aqui um exemplo para vocês. 00:00:48.015 --> 00:00:51.985 Nesse exemplo, pense num caso real de uma fábrica de software. 00:00:51.985 --> 00:00:55.989 Nós temos lá um sistema funcionando que vai para a produção 00:00:55.989 --> 00:00:58.992 e aí descobrimos que a performance dele não está muito boa. 00:00:58.992 --> 00:01:03.363 Fizeram uma medição hora a hora nessa performance. 00:01:03.363 --> 00:01:07.700 Então, após essa análise de uma performance não tão boa, 00:01:07.700 --> 00:01:12.171 melhorar o algoritmo, que é a lógica que está dentro do sistema, 00:01:12.171 --> 00:01:14.857 e, após, fazer uma nova medição. 00:01:14.857 --> 00:01:16.242 É isso que vamos ver agora, 00:01:16.242 --> 00:01:19.383 vamos fazer uma análise descritiva do antes e depois 00:01:19.383 --> 00:01:22.530 para vocês terem a confiança dos dados que estão sendo analisados, 00:01:22.530 --> 00:01:24.250 e até mesmo o seu resultado. 00:01:24.250 --> 00:01:25.957 Vem comigo que eu vou mostrar para vocês. 00:01:25.957 --> 00:01:31.924 Como sempre, eu deixo um script pronto, não somente as linhas de execução, 00:01:31.924 --> 00:01:36.462 o código do que precisamos fazer, mas também um comentário. 00:01:36.462 --> 00:01:40.366 Um breve resumo da análise descritiva está aqui no começo. 00:01:40.366 --> 00:01:45.271 Depois, se você quiser fazer uma pausa, ler e interpretar 00:01:45.271 --> 00:01:49.208 sobre o que é uma análise descritiva, aqui fica um breve resumo. 00:01:49.208 --> 00:01:52.639 Então, como nós falamos, nós precisamos de uma base de dados 00:01:52.639 --> 00:01:54.480 para poder analisar isso. 00:01:54.480 --> 00:01:57.683 Vamos rodar essas duas linhas aqui, criar os nossos dados 00:01:57.683 --> 00:02:00.748 para ter esse comparativo do antes e do depois. 00:02:02.055 --> 00:02:03.601 Se pegar aqui... 00:02:03.601 --> 00:02:05.481 Perdão. Vamos dar uns Enters aqui. 00:02:05.481 --> 00:02:08.961 Sempre apertamos alguns Enters para ficar uma área limpa aqui. 00:02:08.961 --> 00:02:12.865 Então nós estamos criando aqui um comentário, uma hashtag. 00:02:12.865 --> 00:02:17.637 O tempo antes da performance: hora um, hora dois, hora três. 00:02:17.637 --> 00:02:21.507 Aqui nós temos quatro, cinco, seis, sete, oito. 00:02:21.507 --> 00:02:24.410 É uma análise do antes e do depois 00:02:24.410 --> 00:02:28.147 em oito horas de execução de um código, por exemplo. 00:02:28.147 --> 00:02:30.616 Antes de implementar a melhoria no algoritmo, 00:02:30.616 --> 00:02:34.419 e depois de implementar a melhoria no algoritmo. 00:02:34.419 --> 00:02:36.329 Vamos apertar o Enter. 00:02:36.329 --> 00:02:39.831 E aí, como sempre, é legal visualizar como estão os dados. 00:02:39.831 --> 00:02:43.162 Olhe, tempo antes... Aperte o Enter. 00:02:43.162 --> 00:02:44.826 Opa, o que eu errei aqui? 00:02:44.826 --> 00:02:45.956 Print... 00:02:45.956 --> 00:02:48.087 Ah, "tempos", está vendo? 00:02:48.087 --> 00:02:49.577 O que eu errei? 00:02:49.577 --> 00:02:51.037 "tempo_antes"... 00:02:51.037 --> 00:02:52.905 Agora vai funcionar. 00:02:52.905 --> 00:02:54.488 Aqui tem a letra "s". 00:02:54.488 --> 00:02:55.608 São tempos, né? 00:02:55.608 --> 00:02:59.053 Eu não tinha colocado o "s", então ele falou: "Opa! Not found". 00:02:59.053 --> 00:03:00.813 Not found quer dizer que não existe. 00:03:00.813 --> 00:03:02.682 Ai depois eu coloquei certo. 00:03:02.682 --> 00:03:06.400 Então sigam aquela velha dica, né, ou vocês colocam aqui print, 00:03:06.400 --> 00:03:11.991 vocês copiam o nome da variável e colocam aqui no conjunto de dados, 00:03:11.991 --> 00:03:16.562 ou você digita, e ele dá a sugestão do nome. 00:03:16.562 --> 00:03:18.197 Aqui, no caso, ele deu a sugestão. 00:03:18.197 --> 00:03:20.800 A sugestão está correta, eu vou apertar. 00:03:20.800 --> 00:03:25.471 Então temos a análise do antes e o depois. 00:03:25.471 --> 00:03:29.008 Facilitando a interpretação aqui, se formos verificar, 00:03:29.008 --> 00:03:32.614 como sempre temos um conjunto de valores bem pequeno 00:03:32.614 --> 00:03:35.105 para facilitar a nossa análise. 00:03:36.182 --> 00:03:40.953 Olhando, nós já podemos fazer esse resultado prévio sem o R. 00:03:40.953 --> 00:03:44.239 O antes e o depois, o depois ficou melhor. 00:03:44.239 --> 00:03:46.859 Então implementou-se a melhoria no algoritmo, 00:03:46.859 --> 00:03:50.529 e houve realmente uma melhor performance no sistema. 00:03:50.529 --> 00:03:56.168 Inclusive, olhando em todas as horas de execução, realmente está melhor. 00:03:56.168 --> 00:03:58.239 Eu, olhando, consigo. 00:03:58.239 --> 00:04:02.318 Mas se fosse uma análise com 300 horas de execução, 00:04:02.318 --> 00:04:05.578 iria ficar bem difícil vocês conseguirem olhando. 00:04:05.578 --> 00:04:09.456 Então vamos pedir para o R fazer para nós. 00:04:09.456 --> 00:04:10.282 O que vamos fazer? 00:04:10.282 --> 00:04:11.650 Vamos para a próxima parte. 00:04:11.650 --> 00:04:14.787 Então criamos o antes e o depois. 00:04:14.787 --> 00:04:17.316 Vamos apertar mais alguns Enters aqui. 00:04:17.316 --> 00:04:20.059 É sempre legal para facilitar a nossa área. 00:04:20.059 --> 00:04:22.862 Vamos para uma próxima parte. 00:04:22.862 --> 00:04:25.698 Nós vamos agora gerar todo o cenário 00:04:25.698 --> 00:04:30.536 para calcular as medidas descritivas para o antes. 00:04:30.536 --> 00:04:35.207 Então nós vamos fazer primeiro uma análise do antes, preparar esses dados do antes. 00:04:35.207 --> 00:04:40.179 Aqui nós vamos calcular a média simples do antes, 00:04:40.179 --> 00:04:43.983 e vamos calcular a mediana do antes. 00:04:43.983 --> 00:04:45.149 Vamos aqui? 00:04:45.149 --> 00:04:48.888 Eu vou apertar o Enter, vou apertar print. 00:04:48.888 --> 00:04:50.573 Olhe, média... 00:04:50.573 --> 00:04:55.364 Aí aqui, aquela velha história, ou você copia "media_antes", 00:04:55.364 --> 00:04:58.464 ou você o deixa fazer a sugestão para você. 00:04:58.464 --> 00:05:00.099 Então essa é a média. 00:05:00.099 --> 00:05:04.870 Se somar todos esses valores, são quatro, cinco, seis, oito valores, 00:05:04.870 --> 00:05:06.405 são oito horas de análise, 00:05:06.405 --> 00:05:09.675 somo e divido por oito, vai ser a média. 00:05:09.675 --> 00:05:14.474 Além de calcular a média que acabamos de visualizar, 00:05:14.474 --> 00:05:16.615 nós também pedimos para calcular a mediana. 00:05:16.615 --> 00:05:18.722 Vamos visualizar o valor da mediana? 00:05:20.252 --> 00:05:23.922 "Ô, Rafa, estamos tendo que utilizar os conceitos que aprendemos anteriormente." 00:05:23.922 --> 00:05:25.357 Sim. Isso é bom, né? 00:05:25.357 --> 00:05:27.669 As coisas vão se juntando. 00:05:27.669 --> 00:05:28.869 E aqui a mediana. 00:05:28.869 --> 00:05:30.529 Opa, um sinalzinho a mais. 00:05:30.529 --> 00:05:34.400 Então esse é o valor da média e esse é o valor da mediana. 00:05:34.400 --> 00:05:39.371 São informações referentes aos dados do antes, tudo bem? 00:05:39.371 --> 00:05:43.289 Então está aqui o nosso script, o resumo para vocês. 00:05:43.289 --> 00:05:47.546 Já criamos os dados do antes e do depois, 00:05:47.546 --> 00:05:53.023 já fizemos aqui o cálculo da média e da mediana. 00:05:53.023 --> 00:05:54.553 Então já fizemos também. 00:05:54.553 --> 00:05:57.489 E agora nós vamos para uma próxima parte. 00:05:57.489 --> 00:06:01.660 Eu estou copiando essa parte do código, isolando-o, e vamos trazer aqui para baixo. 00:06:01.660 --> 00:06:05.177 Como sempre, é legal apertar um pouquinho de Enter aqui 00:06:05.177 --> 00:06:08.265 para isolar a área do código para podermos interpretar. 00:06:09.682 --> 00:06:13.071 Deixe-me limpar um pouquinho aqui para facilitar a visualização. 00:06:13.071 --> 00:06:14.139 Opa! 00:06:14.139 --> 00:06:16.809 Damos um Control + Z aqui. 00:06:16.809 --> 00:06:19.089 Antes de apertar o Enter, você dá um Control + Z. 00:06:20.579 --> 00:06:22.815 "E agora, Rafa, o que nós temos?" 00:06:22.815 --> 00:06:27.777 Nós temos três linhas de comentário aqui para deixar para vocês, tá? 00:06:27.777 --> 00:06:31.265 Lembrando que às vezes esse é o momento que você pode dar uma pausa no vídeo, 00:06:31.265 --> 00:06:33.759 antes de eu falar ou após eu falar. 00:06:33.759 --> 00:06:38.664 Por quê? Porque você precisa entender esses comentários, que não fazem parte da execução. 00:06:38.664 --> 00:06:43.969 E depois que conseguirmos entender essas três linhas de comentários, 00:06:43.969 --> 00:06:46.872 poderemos fazer a execução do que precisamos. 00:06:46.872 --> 00:06:48.175 Vamos entender? 00:06:48.175 --> 00:06:50.235 O que eu criei para vocês então? 00:06:50.235 --> 00:06:51.642 O "moda_antes". 00:06:51.642 --> 00:06:53.502 É o nome de uma variável. 00:06:53.502 --> 00:06:55.480 Aí sinal de menor, tracinho. 00:06:55.480 --> 00:06:56.682 "Ô, Rafa, eu já entendi. 00:06:56.682 --> 00:07:01.014 O resultado daqui será armazenado no moda_antes. 00:07:01.014 --> 00:07:03.155 Mas o que nós estamos fazendo, Rafa?" 00:07:03.155 --> 00:07:04.015 Vamos aqui. 00:07:04.015 --> 00:07:08.665 Primeiro vem uma instrução aqui do R, "as.numeric". 00:07:08.665 --> 00:07:10.239 O que é isso? 00:07:10.239 --> 00:07:15.307 Vocês ainda vão usar muito dentro da linguagem R na parte de estatística. 00:07:15.307 --> 00:07:19.304 "É utilizado para converter os valores em vetor numérico." 00:07:19.304 --> 00:07:22.586 Aí pode vir uma pergunta na sua cabeça: 00:07:22.586 --> 00:07:24.476 "Mas, Rafa, como assim? 00:07:24.476 --> 00:07:26.211 Os dados são numéricos." 00:07:26.211 --> 00:07:31.244 Você sabe porque o conjunto de dados, essas oito horas, é pequeno. 00:07:31.244 --> 00:07:32.584 Mas quem garante isso? 00:07:32.584 --> 00:07:35.787 É sempre bom você confirmar, tá? 00:07:35.787 --> 00:07:39.458 Então, voltando aqui, olhando, nós sabemos que eles são numéricos, 00:07:39.458 --> 00:07:43.128 mas você tem que garantir isso para poder fazer essa análise. 00:07:43.128 --> 00:07:46.231 É isso que o as.numeric faz. 00:07:46.231 --> 00:07:48.061 Se não for, tiver algum probleminha lá 00:07:48.061 --> 00:07:50.181 e o dado for possível de conversão para numérico, 00:07:50.181 --> 00:07:52.468 ele vai ser feito, é o as.numeric. 00:07:53.805 --> 00:07:57.637 E aí nós vamos continuar aqui a interpretar essa parte dessa instrução. 00:07:58.677 --> 00:08:00.271 Aqui são os nomes. 00:08:00.271 --> 00:08:01.221 O que são os nomes? 00:08:01.221 --> 00:08:02.681 É o conjunto de valores. 00:08:02.681 --> 00:08:04.716 Nós temos apenas um conjunto de valores. 00:08:04.716 --> 00:08:05.884 Poderíamos ter mais? 00:08:05.884 --> 00:08:06.777 Sim. 00:08:06.777 --> 00:08:09.387 Se fosse um dataframe com diversas colunas? Poderia. 00:08:09.387 --> 00:08:12.648 Aqui nós temos uma linha, ou uma coluna. 00:08:12.648 --> 00:08:15.021 É um exemplo um pouco mais simples. 00:08:15.021 --> 00:08:16.881 E aí você entra aqui no "sort". 00:08:16.881 --> 00:08:18.251 O que seria o sort? 00:08:18.251 --> 00:08:22.238 Novamente, fica aqui um comentário para vocês. 00:08:22.238 --> 00:08:26.004 Talvez vocês já tenham utilizado em alguma outra linguagem de programação. 00:08:26.004 --> 00:08:28.240 Quem não usou, não tem problema nenhum, tá? 00:08:28.240 --> 00:08:30.008 Esse é o momento de aprender. 00:08:30.008 --> 00:08:34.024 Ele é utilizado para ordenar os elementos. 00:08:34.024 --> 00:08:39.317 Porque se vocês pegarem aqui, esse primeiro aqui do antes, 00:08:39.317 --> 00:08:42.254 não é obrigatório que ele esteja numa ordem crescente ou decrescente. 00:08:42.254 --> 00:08:43.371 "Por que não, Rafa?" 00:08:43.371 --> 00:08:44.145 É uma análise. 00:08:44.145 --> 00:08:49.028 Supondo que, na primeira hora, demorou 220 segundos para executar, 00:08:49.028 --> 00:08:50.428 na segunda, 210. 00:08:50.428 --> 00:08:54.399 Então vai ser difícil você encontrar na ordem crescente ou decrescente. 00:08:54.399 --> 00:08:57.836 Você está olhando hora a hora como ele se comporta. 00:08:57.836 --> 00:08:59.971 O que você vai fazer então? 00:08:59.971 --> 00:09:02.807 Por isso que vem essa instrução sort. 00:09:02.807 --> 00:09:07.389 Você vai dizer que, nessa instrução true ou false, 00:09:07.389 --> 00:09:11.750 se você colocar true, você está pedindo para que essa análise 00:09:11.750 --> 00:09:15.887 seja feita numa ordem decrescente. 00:09:15.887 --> 00:09:20.587 Se você colocar false, ele vai fazer numa ordem crescente. 00:09:20.587 --> 00:09:23.278 Lembrando que, decrescente, do maior para o menor, 00:09:23.278 --> 00:09:25.397 que vai ser como ele vai analisar esse caso. 00:09:25.397 --> 00:09:30.728 E se fosse crescente, do menor para o maior. 00:09:30.728 --> 00:09:32.804 Esse é o sort. 00:09:32.804 --> 00:09:36.107 Bem recheada de conhecimento essa instrução aqui. 00:09:36.107 --> 00:09:38.710 E o que é o "table"? 00:09:38.710 --> 00:09:41.513 É o conjunto de dados para ser analisado. 00:09:41.513 --> 00:09:45.717 Lembrando, aqui é uma linha só, que é o "tempo_antes", 00:09:45.717 --> 00:09:47.819 mas poderia ser um dataframe. 00:09:47.819 --> 00:09:51.590 Então esse é o conjunto de dados que nós estamos pedindo para analisar. 00:09:52.590 --> 00:09:54.063 Vamos apertar um Enter. 00:09:54.993 --> 00:09:56.028 E aí, o que nós temos? 00:09:56.028 --> 00:09:57.507 "Rafa, e agora?" 00:09:57.507 --> 00:09:58.797 Quer olhar o resultado? 00:09:58.797 --> 00:09:59.893 Vamos olhar, lógico. 00:09:59.893 --> 00:10:01.103 "print"... 00:10:01.103 --> 00:10:05.937 Ou você copia e cola, ou você digita, e deixa ele dar a sugestão. 00:10:05.937 --> 00:10:08.173 Realmente é esse que eu quero. 00:10:08.173 --> 00:10:13.044 Se eu apertar o Enter, o que ele nos trouxe de resultado? 00:10:13.044 --> 00:10:17.151 Essa análise chegou num resultado de 210. 00:10:17.151 --> 00:10:20.150 Mas o que seria esse número 210? 00:10:20.150 --> 00:10:23.187 Vamos continuar aqui, aí eu vou explicar para vocês. 00:10:23.187 --> 00:10:26.200 Aqui foi a introdução, os dois dados, 00:10:26.200 --> 00:10:29.827 calculamos a média e a mediana do antes. 00:10:29.827 --> 00:10:33.464 E aqui, nós conseguimos fazer a moda, 00:10:33.464 --> 00:10:37.765 qual o número moda que é gerado com essa análise desses dados, desse conjunto. 00:10:37.765 --> 00:10:42.038 De novo, continuamos com o intervalo de valores do antes. 00:10:42.038 --> 00:10:44.275 Ainda não fizemos o depois. 00:10:44.275 --> 00:10:45.500 Vamos continuar? 00:10:45.500 --> 00:10:50.548 Aqui nós vamos para uma outra parte do nosso código, da nossa análise. 00:10:50.548 --> 00:10:54.803 Eu vou copiar e descer um pouquinho. 00:10:55.620 --> 00:10:58.623 Novamente, aquela velha dica: se possível... 00:10:58.623 --> 00:11:02.493 É que aqui, eu que estou transmitindo conhecimento para vocês. 00:11:02.493 --> 00:11:03.787 Se você quiser, não precisa apertar o Enter. 00:11:03.787 --> 00:11:08.232 Mas é legal para vocês dividirem por partes essa análise, tá? 00:11:08.232 --> 00:11:10.168 Aqui, novamente, tem uma hashtag. 00:11:10.168 --> 00:11:11.581 Deixe-me só limpar o código aqui, 00:11:11.581 --> 00:11:14.546 para quando executá-lo depois, não acontecer nenhum erro. 00:11:16.804 --> 00:11:18.476 Aqui eu deixo esse comentário, né? 00:11:18.476 --> 00:11:21.121 Nós iremos verificar a variância. 00:11:21.121 --> 00:11:22.301 O que é a variância? 00:11:22.301 --> 00:11:24.999 Está aqui, olhe: "É uma medida estatística 00:11:24.999 --> 00:11:28.319 que indica a dispersão dos valores em relação à média". 00:11:28.319 --> 00:11:29.774 Nós não temos a média? 00:11:29.774 --> 00:11:31.689 O quanto os valores... 00:11:31.689 --> 00:11:32.989 "Que valores, Rafa?" 00:11:32.989 --> 00:11:38.419 O quanto cada um desses valores está distante da média. 00:11:38.419 --> 00:11:40.298 Por isso que nós fizemos aqui, olhe. 00:11:40.298 --> 00:11:41.719 Essa não é a média? 00:11:41.719 --> 00:11:43.279 Deu 218. 00:11:43.279 --> 00:11:47.050 Se eu olhar aqui, me parece... 00:11:47.050 --> 00:11:50.308 Olhando aqui, interpretando, qual parece que está mais distante? 00:11:50.308 --> 00:11:51.976 Mas não vamos deixar o computador fazer por nós, né? 00:11:51.976 --> 00:11:53.264 Talvez seja esse. 00:11:53.264 --> 00:11:56.414 Qual está mais perto de 218? 00:11:56.414 --> 00:12:00.084 Olhando aqui, o valor 220, tá? 00:12:00.084 --> 00:12:02.358 Mas deixe que o computador nos fale. 00:12:02.358 --> 00:12:08.192 Nesse intervalo de valores, quais estão mais perto ou menos perto da média? 00:12:08.192 --> 00:12:13.555 Quanto maior a variância, mais dispersos os dados estão. 00:12:13.555 --> 00:12:20.211 Ou seja, o valor do resultado da variância que nós vamos pedir para calcular agora, 00:12:20.211 --> 00:12:24.909 quanto maior o número, mais distante estará da média. 00:12:24.909 --> 00:12:30.248 Então tem uma disparidade aí, uma distância da média dos dados. 00:12:30.248 --> 00:12:32.287 Aí vamos executar. 00:12:32.287 --> 00:12:35.506 Como sempre, para executar, eu vou apertar um Enter aqui, 00:12:35.506 --> 00:12:38.799 e aí nós vamos analisar, olhe: variancia_antes, 00:12:38.799 --> 00:12:42.059 nós queremos saber como eu acho o valor da variância, 00:12:42.059 --> 00:12:44.996 que é isso que acabamos de explicar aqui. 00:12:44.996 --> 00:12:49.533 E, novamente, é melhor você fazer uma pausa, anotar, 00:12:49.533 --> 00:12:53.203 verificar o material escrito que está disponível para vocês 00:12:53.203 --> 00:12:55.906 para depois você conseguir executar aqui. 00:12:55.906 --> 00:13:01.012 Então, aqui, como eu consigo armazenar o valor da variância 00:13:01.012 --> 00:13:05.006 do conjunto de dados tempos_antes, 00:13:05.916 --> 00:13:09.587 como eu consigo pedir para ele achar a variância aqui. 00:13:09.587 --> 00:13:10.631 É simples. 00:13:10.631 --> 00:13:13.691 Depois que você entendeu o conceito, é simples. 00:13:13.691 --> 00:13:19.130 Você cria uma variável, que, nesse caso, eu chamei de "variancia_antes". 00:13:19.130 --> 00:13:22.892 Aqui eu coloco a instrução, que é "var", v-a-r, 00:13:22.892 --> 00:13:25.029 e o nome do conjunto de dados. 00:13:25.029 --> 00:13:27.296 "Ah, Rafa, eu quero dar uma olhadinha". 00:13:27.296 --> 00:13:29.106 Já quer dar uma olhadinha? 00:13:29.106 --> 00:13:30.698 Podemos, não tem problema não. 00:13:30.698 --> 00:13:34.390 Olhe, "variancia_antes", não é isso? 00:13:34.390 --> 00:13:41.138 Se apertarmos o Enter, conseguiremos saber qual é o valor, o resultado da variância. 00:13:41.138 --> 00:13:43.524 Agora o desvio-padrão. 00:13:43.524 --> 00:13:46.924 O desvio-padrão, vocês já têm esse conhecimento. 00:13:46.924 --> 00:13:49.226 Como calcular o desvio-padrão? 00:13:49.226 --> 00:13:50.431 Vamos criar uma variável. 00:13:50.431 --> 00:13:53.537 Desvio-padrão antes, porque nós estamos analisando 00:13:53.537 --> 00:13:56.567 antes da implementação da melhoria do algoritmo, 00:13:56.567 --> 00:14:00.271 "sd" é a instrução, e qual é o conjunto de dados. 00:14:00.271 --> 00:14:02.648 "Rafa, podemos visualizar?" 00:14:02.648 --> 00:14:04.108 Lógico que podemos. 00:14:04.108 --> 00:14:05.681 Qual é o nome da variável? 00:14:05.681 --> 00:14:08.350 "desvio_padrao_antes". 00:14:09.480 --> 00:14:10.681 Legal. 00:14:10.681 --> 00:14:16.820 E aqui nós temos que o desvio-padrão para esse conjunto de valores é 7.03. 00:14:16.820 --> 00:14:23.518 Agora que conseguimos encontrar o valor da variância e do desvio-padrão, 00:14:23.518 --> 00:14:28.966 vamos continuar para conseguir concluir a análise que queremos do antes e o depois. 00:14:28.966 --> 00:14:30.467 Então, o que nós já vimos? 00:14:30.467 --> 00:14:33.395 Retomamos essa parte, criamos os dados, 00:14:33.395 --> 00:14:38.208 criamos a média e a mediana do antes, 00:14:38.208 --> 00:14:40.611 conseguimos achar a moda, 00:14:40.611 --> 00:14:45.869 acabamos de descobrir a variância e o desvio-padrão. 00:14:45.869 --> 00:14:48.485 Agora vamos para essa próxima parte da análise. 00:14:48.485 --> 00:14:50.798 Vou copiar aqui para baixo. 00:14:50.798 --> 00:14:55.025 Aqui, como sempre, eu vou apertar alguns Enters 00:14:55.025 --> 00:14:58.362 para facilitar para vocês a visualização. 00:14:58.362 --> 00:15:00.064 Vou apertar um Control + V. 00:15:00.064 --> 00:15:02.655 Deixe-me arrumar aqui para explicar. 00:15:02.655 --> 00:15:04.395 O que nós vamos fazer agora então? 00:15:04.395 --> 00:15:09.416 Olhe, "calculando medidas descritivas para depois" agora, né? 00:15:09.416 --> 00:15:11.727 Fizemos o antes, vamos para o depois. 00:15:11.727 --> 00:15:15.813 Agora nós iremos repetir o script que nós fizemos anteriormente 00:15:15.813 --> 00:15:19.283 para a parte da execução do antes. 00:15:19.283 --> 00:15:20.918 Agora nós iremos fazer para o depois. 00:15:20.918 --> 00:15:23.887 Lembre-se do cenário, do case. 00:15:23.887 --> 00:15:28.759 Tem um sistema que não estava com uma performance tão boa de algoritmo. 00:15:28.759 --> 00:15:33.297 Então fizeram uma análise, extraíram os tempos de execução 00:15:33.297 --> 00:15:36.200 antes da implementação da melhoria no algoritmo, 00:15:36.200 --> 00:15:39.603 e aí precisava-se fazer uma análise do depois. 00:15:39.603 --> 00:15:42.339 Então, no depois, nós temos a base de dados, 00:15:42.339 --> 00:15:44.607 como está a performance do depois, 00:15:44.607 --> 00:15:47.911 e agora o R vai verificar o antes e o depois 00:15:47.911 --> 00:15:52.583 para fazer esse comparativo e conseguir ter uma análise descritiva. 00:15:52.583 --> 00:15:55.553 Fizemos para o antes, vamos fazer a mesma coisa agora 00:15:55.553 --> 00:15:57.900 para o conjunto de dados do depois. 00:15:57.900 --> 00:15:58.660 Vem aqui comigo. 00:15:58.660 --> 00:16:04.492 Então, como sempre, eu deixo um comentário para vocês. 00:16:04.492 --> 00:16:07.998 Olhe, calculando medidas descritivas para depois. 00:16:07.998 --> 00:16:10.362 Nós iremos achar a média. 00:16:10.362 --> 00:16:12.202 A média de quem? 00:16:12.202 --> 00:16:16.347 Lembre-se, agora nós vamos trabalhar com essa base de dados, 00:16:16.347 --> 00:16:19.142 a performance do algoritmo do depois. 00:16:19.142 --> 00:16:21.244 Então vamos descer um pouquinho. 00:16:21.244 --> 00:16:22.583 Estamos aqui. 00:16:22.583 --> 00:16:25.253 Criei uma variável chamada "media_depois". 00:16:25.253 --> 00:16:27.776 Esse é o nome da base de dados. 00:16:27.776 --> 00:16:31.655 E vamos também achar o valor da mediana. 00:16:31.655 --> 00:16:33.386 Se eu apertar o Enter aqui... 00:16:33.386 --> 00:16:38.377 É sempre legal visualizar o resultado, olhe, media_depois. 00:16:39.947 --> 00:16:41.465 Vou apertar o Enter. 00:16:41.465 --> 00:16:44.634 Então essa é a média da performance do depois. 00:16:44.634 --> 00:16:47.545 E agora nós também vamos achar o valor da mediana. 00:16:47.545 --> 00:16:48.858 Visualizar, perdão. 00:16:48.858 --> 00:16:50.618 Nós já temos o valor, né? 00:16:50.618 --> 00:16:55.538 "print(mediana_depois)". 00:16:55.538 --> 00:16:56.680 Eu vou apertar o Enter. 00:16:56.680 --> 00:17:00.579 Então essa é a média, e essa é a mediana do depois. 00:17:00.579 --> 00:17:02.319 Vou subir aqui. 00:17:02.319 --> 00:17:05.756 Vamos pegar o nosso script, tá? 00:17:05.756 --> 00:17:10.908 Já fizemos do antes, agora estamos calculando do depois. 00:17:10.908 --> 00:17:13.730 Vamos achar agora o valor da moda. 00:17:13.730 --> 00:17:16.351 É a mesma coisa que nós fizemos do antes, 00:17:16.351 --> 00:17:18.668 só que agora é a moda para o depois. 00:17:18.668 --> 00:17:23.515 Vamos apertar alguns Enters para ficar limpa a nossa área de programação 00:17:23.515 --> 00:17:25.025 para podermos entender. 00:17:25.025 --> 00:17:28.450 Criar a variável moda_depois, 00:17:28.450 --> 00:17:32.391 "as numeric", que serve para converter os valores numéricos, 00:17:32.391 --> 00:17:33.881 por mais que estejam ali. 00:17:33.881 --> 00:17:37.920 Mas é bom confirmar que os valores são um número, 00:17:37.920 --> 00:17:39.523 eles estão como número. 00:17:39.523 --> 00:17:44.227 E aqui nós temos a parte da organização dos dados em ordem decrescente. 00:17:44.227 --> 00:17:50.485 E aqui, qual é o conjunto de dados que vai ser feita essa moda, o valor da moda. 00:17:50.485 --> 00:17:52.836 Se eu apertar o Enter... É igualzinho ao anterior. 00:17:52.836 --> 00:17:59.440 Só muda que agora nós estamos fazendo a análise para os dados do depois 00:17:59.440 --> 00:18:01.711 após implementação do algoritmo. 00:18:01.711 --> 00:18:07.917 Então, a moda para o depois resultou em um valor de 190. 00:18:07.917 --> 00:18:13.089 Vamos voltar mais um pouquinho aqui, pegar o script que nós deixamos. 00:18:13.089 --> 00:18:15.492 A palavra não é pré-pronto. É pronto. 00:18:15.492 --> 00:18:16.581 E vamos verificar. 00:18:16.581 --> 00:18:21.931 Já geramos a moda, e agora nós vamos criar a variância e o desvio-padrão. 00:18:21.931 --> 00:18:24.734 Vamos descobrir qual é o valor da variância 00:18:24.734 --> 00:18:27.562 e qual é o valor do desvio-padrão para o depois. 00:18:27.562 --> 00:18:29.789 Irei apertar novamente alguns Enters. 00:18:30.774 --> 00:18:32.643 Vou dar um Control + V. 00:18:32.643 --> 00:18:33.703 Deixe-me limpar aqui. 00:18:33.703 --> 00:18:37.380 Se executarmos com esse tracinho aqui, vai ocorrer um erro. 00:18:37.380 --> 00:18:39.682 O que nós temos aqui então? 00:18:39.682 --> 00:18:42.798 Criamos uma variável chamada variancia_depois. 00:18:42.798 --> 00:18:46.923 A instrução aqui é para calcular a variância dessa base de dados 00:18:46.923 --> 00:18:49.159 utilizando o VAR, e o desvio-padrão. 00:18:49.159 --> 00:18:51.528 Vou apertar um Enter. 00:18:51.528 --> 00:18:53.630 Nós esperamos que dê certo, né? 00:18:53.630 --> 00:18:57.967 E aqui vamos só visualizar para confirmar que deu certo. 00:18:57.967 --> 00:18:59.202 Visualizou. 00:18:59.202 --> 00:19:05.090 E agora nós vamos verificar o valor do desvio-padrão que foi encontrado. 00:19:05.090 --> 00:19:07.795 "desvio_padrao_depois". 00:19:07.795 --> 00:19:09.537 Opa, tem um errinho aqui, pessoal. 00:19:09.537 --> 00:19:10.607 Cuidado aqui! 00:19:10.607 --> 00:19:11.957 Eu visualizei o antes. 00:19:11.957 --> 00:19:14.617 Não era o antes e sim o depois. 00:19:14.617 --> 00:19:15.351 Vamos ver. 00:19:15.351 --> 00:19:17.585 Oh, então aqui, print... 00:19:18.855 --> 00:19:22.554 Não é um erro do script que nós criamos e sim na hora de visualizar. 00:19:22.554 --> 00:19:24.360 O depois, tá? 00:19:24.360 --> 00:19:27.430 Então essa é a variância do antes que tínhamos feito anteriormente. 00:19:27.430 --> 00:19:30.200 E agora esse do depois, que acabamos de fazer, está vendo? 00:19:30.200 --> 00:19:35.672 Tomem cuidado, senão vocês podem visualizar a informação que vocês não queriam. 00:19:35.672 --> 00:19:36.739 Print... 00:19:36.739 --> 00:19:42.361 Agora nós vamos verificar o valor do desvio-padrão do depois, hein! 00:19:42.361 --> 00:19:43.431 Novamente, do depois. 00:19:43.431 --> 00:19:45.381 O antes, nós já passamos. 00:19:45.381 --> 00:19:48.751 Então esse é o valor da variância do depois, 00:19:48.751 --> 00:19:52.488 e esse o valor do desvio-padrão do depois. 00:19:52.488 --> 00:19:58.122 Agora vamos subir aqui e verificar o nosso script que deixamos pronto aqui. 00:19:58.122 --> 00:19:59.128 Legal! 00:19:59.128 --> 00:20:01.768 Nós já conseguimos criar... 00:20:01.768 --> 00:20:07.942 Oh, vamos lembrar: a média, mediana, a moda, a variância, e o desvio-padrão, 00:20:07.942 --> 00:20:11.240 para a base de dados do antes e do depois. 00:20:11.240 --> 00:20:15.511 Agora nós podemos dizer que precisamos juntar tudo isso 00:20:15.511 --> 00:20:18.445 para visualizar esses valores, tá? 00:20:18.445 --> 00:20:22.708 Na verdade, aqui seria uma impressão de tudo que nós fizemos até agora. 00:20:22.708 --> 00:20:26.089 Eu vou apertar alguns Enters aqui, mas é a última parte, tá? 00:20:26.089 --> 00:20:27.924 São apenas duas instruções agora. 00:20:27.924 --> 00:20:29.559 Opa! Vou apagar... 00:20:29.559 --> 00:20:30.712 Control + V. 00:20:30.712 --> 00:20:33.262 "O que é essa última parte, Rafa?" 00:20:33.262 --> 00:20:35.222 "Imprimindo os resultados". 00:20:35.222 --> 00:20:40.477 Vamos trabalhar aqui com todas as informações do antes e do depois. 00:20:40.477 --> 00:20:42.747 Vou apertar o Enter... 00:20:42.747 --> 00:20:45.775 É simples de visualizar, né? 00:20:45.775 --> 00:20:49.579 A riqueza está no entender, né, entender todas essas informações. 00:20:49.579 --> 00:20:51.876 Então o que nós temos aqui? 00:20:51.876 --> 00:20:52.890 "Antes - Média". 00:20:52.890 --> 00:20:54.190 Isso aqui é um texto, né? 00:20:54.190 --> 00:20:56.050 Sempre que eu quero juntar um texto com valores, 00:20:56.050 --> 00:20:59.055 eu coloco o "paste", aí eu coloco a informação, 00:20:59.055 --> 00:21:02.243 divido por vírgula, e o nome da variável. 00:21:02.243 --> 00:21:07.163 Na verdade, aqui é uma impressão mostrando tudo o que nós fizemos anteriormente. 00:21:07.163 --> 00:21:08.565 Vamos pegar o outro script. 00:21:08.565 --> 00:21:10.601 "Rafa, poderíamos fazer aqui na mão agora?" 00:21:10.601 --> 00:21:11.491 Poderíamos. 00:21:11.491 --> 00:21:15.191 Talvez demore só um pouquinho aqui para digitarmos juntos, né... 00:21:15.872 --> 00:21:18.374 Para digitarmos essas informações. 00:21:18.374 --> 00:21:21.209 Eu vou apertar mais alguns Enters aqui, como sempre. 00:21:21.209 --> 00:21:22.619 Eu vou apertar um Enter. 00:21:22.619 --> 00:21:26.363 O que nós temos aqui até o momento de uma revisão? 00:21:26.363 --> 00:21:29.610 "Antes: media_antes", é esse valor, 00:21:29.610 --> 00:21:32.230 media_antes é esse valor. 00:21:32.230 --> 00:21:36.359 "Mediana: mediana_antes". 00:21:36.359 --> 00:21:37.768 Então nós só juntamos aqui. 00:21:37.768 --> 00:21:40.915 Seria uma impressão de tudo o que nós projetamos anteriormente. 00:21:40.915 --> 00:21:42.765 E aqui é do depois. 00:21:42.765 --> 00:21:44.416 E agora fica o quê? 00:21:44.416 --> 00:21:47.036 Se pegarmos todo o nosso script, 00:21:47.036 --> 00:21:51.340 pegamos desde uma introdução, o que é uma análise descritiva, 00:21:51.340 --> 00:21:55.611 duas bases de dados, verificamos o antes e o depois, 00:21:55.611 --> 00:21:58.166 calculamos a média, mediana, 00:21:58.166 --> 00:22:01.556 conseguimos achar o valor da moda também, 00:22:01.556 --> 00:22:04.897 tanto para os dados do antes como para do depois. 00:22:04.897 --> 00:22:05.867 E enfim... 00:22:05.867 --> 00:22:10.414 Só voltando, descendo um pouquinho aqui, agora conseguimos imprimir. 00:22:10.414 --> 00:22:16.065 E com essas informações em mãos, nós conseguimos obter os nossos resultados. 00:22:16.065 --> 00:22:20.669 Então aqui é o conjunto mostrando o resultado, 00:22:20.669 --> 00:22:23.051 todas as informações numa impressão só. 00:22:23.051 --> 00:22:26.242 Tudo que calculamos do antes, tudo que calculamos do depois. 00:22:26.242 --> 00:22:28.411 E agora você consegue fazer a interpretação. 00:22:28.411 --> 00:22:30.982 Vamos pegar o mais simples aqui: 00:22:30.982 --> 00:22:36.770 a média de tempo de execução do antes, antes de implementar a melhoria no algoritmo, 00:22:36.770 --> 00:22:41.957 supondo que fossem segundos, o tempo de execução demorava 218 segundos. 00:22:41.957 --> 00:22:44.010 Agora caiu para 196. 00:22:44.010 --> 00:22:44.975 E por aí vai. 00:22:44.975 --> 00:22:50.499 Você consegue comparar o antes e o depois de cada uma dessas informações 00:22:50.499 --> 00:22:56.138 para saber se realmente melhorou a performance do sistema 00:22:56.138 --> 00:22:59.481 após a implementação da melhoria do algoritmo. 00:22:59.481 --> 00:23:01.510 Eu tenho certeza que vocês conseguiram entender 00:23:01.510 --> 00:23:06.034 a importância de saber utilizar todas essas instruções da Linguagem R, 00:23:06.034 --> 00:23:08.608 e até mesmo saber interpretar esses resultados.