1 00:00:07,850 --> 00:00:11,211 Com certeza na sua vida pessoal ou profissional 2 00:00:11,211 --> 00:00:15,949 você já se deparou com uma situação que você tem que verificar a performance 3 00:00:15,949 --> 00:00:20,754 do antes e o depois de algo, como por exemplo, no computador da sua casa. 4 00:00:20,754 --> 00:00:23,823 Supondo que você vai aumentar a memória RAM 5 00:00:23,823 --> 00:00:27,155 porque ele está demorando cinco minutos para iniciar, 6 00:00:27,155 --> 00:00:29,095 e aí você coloca uma memória RAM, 7 00:00:29,095 --> 00:00:32,966 e depois você quer verificar o quanto melhorou, ou se melhorou. 8 00:00:32,966 --> 00:00:35,935 Então você está fazendo uma análise do antes e o depois. 9 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. 10 00:00:40,406 --> 00:00:45,645 Só que, nesse caso, nós precisamos ter dados que consigam fazer essa comparação. 11 00:00:45,645 --> 00:00:48,015 Vamos trazer aqui um exemplo para vocês. 12 00:00:48,015 --> 00:00:51,985 Nesse exemplo, pense num caso real de uma fábrica de software. 13 00:00:51,985 --> 00:00:55,989 Nós temos lá um sistema funcionando que vai para a produção 14 00:00:55,989 --> 00:00:58,992 e aí descobrimos que a performance dele não está muito boa. 15 00:00:58,992 --> 00:01:03,363 Fizeram uma medição hora a hora nessa performance. 16 00:01:03,363 --> 00:01:07,700 Então, após essa análise de uma performance não tão boa, 17 00:01:07,700 --> 00:01:12,171 melhorar o algoritmo, que é a lógica que está dentro do sistema, 18 00:01:12,171 --> 00:01:14,857 e, após, fazer uma nova medição. 19 00:01:14,857 --> 00:01:16,242 É isso que vamos ver agora, 20 00:01:16,242 --> 00:01:19,383 vamos fazer uma análise descritiva do antes e depois 21 00:01:19,383 --> 00:01:22,530 para vocês terem a confiança dos dados que estão sendo analisados, 22 00:01:22,530 --> 00:01:24,250 e até mesmo o seu resultado. 23 00:01:24,250 --> 00:01:25,957 Vem comigo que eu vou mostrar para vocês. 24 00:01:25,957 --> 00:01:31,924 Como sempre, eu deixo um script pronto, não somente as linhas de execução, 25 00:01:31,924 --> 00:01:36,462 o código do que precisamos fazer, mas também um comentário. 26 00:01:36,462 --> 00:01:40,366 Um breve resumo da análise descritiva está aqui no começo. 27 00:01:40,366 --> 00:01:45,271 Depois, se você quiser fazer uma pausa, ler e interpretar 28 00:01:45,271 --> 00:01:49,208 sobre o que é uma análise descritiva, aqui fica um breve resumo. 29 00:01:49,208 --> 00:01:52,639 Então, como nós falamos, nós precisamos de uma base de dados 30 00:01:52,639 --> 00:01:54,480 para poder analisar isso. 31 00:01:54,480 --> 00:01:57,683 Vamos rodar essas duas linhas aqui, criar os nossos dados 32 00:01:57,683 --> 00:02:00,748 para ter esse comparativo do antes e do depois. 33 00:02:02,055 --> 00:02:03,601 Se pegar aqui... 34 00:02:03,601 --> 00:02:05,481 Perdão. Vamos dar uns Enters aqui. 35 00:02:05,481 --> 00:02:08,961 Sempre apertamos alguns Enters para ficar uma área limpa aqui. 36 00:02:08,961 --> 00:02:12,865 Então nós estamos criando aqui um comentário, uma hashtag. 37 00:02:12,865 --> 00:02:17,637 O tempo antes da performance: hora um, hora dois, hora três. 38 00:02:17,637 --> 00:02:21,507 Aqui nós temos quatro, cinco, seis, sete, oito. 39 00:02:21,507 --> 00:02:24,410 É uma análise do antes e do depois 40 00:02:24,410 --> 00:02:28,147 em oito horas de execução de um código, por exemplo. 41 00:02:28,147 --> 00:02:30,616 Antes de implementar a melhoria no algoritmo, 42 00:02:30,616 --> 00:02:34,419 e depois de implementar a melhoria no algoritmo. 43 00:02:34,419 --> 00:02:36,329 Vamos apertar o Enter. 44 00:02:36,329 --> 00:02:39,831 E aí, como sempre, é legal visualizar como estão os dados. 45 00:02:39,831 --> 00:02:43,162 Olhe, tempo antes... Aperte o Enter. 46 00:02:43,162 --> 00:02:44,826 Opa, o que eu errei aqui? 47 00:02:44,826 --> 00:02:45,956 Print... 48 00:02:45,956 --> 00:02:48,087 Ah, "tempos", está vendo? 49 00:02:48,087 --> 00:02:49,577 O que eu errei? 50 00:02:49,577 --> 00:02:51,037 "tempo_antes"... 51 00:02:51,037 --> 00:02:52,905 Agora vai funcionar. 52 00:02:52,905 --> 00:02:54,488 Aqui tem a letra "s". 53 00:02:54,488 --> 00:02:55,608 São tempos, né? 54 00:02:55,608 --> 00:02:59,053 Eu não tinha colocado o "s", então ele falou: "Opa! Not found". 55 00:02:59,053 --> 00:03:00,813 Not found quer dizer que não existe. 56 00:03:00,813 --> 00:03:02,682 Ai depois eu coloquei certo. 57 00:03:02,682 --> 00:03:06,400 Então sigam aquela velha dica, né, ou vocês colocam aqui print, 58 00:03:06,400 --> 00:03:11,991 vocês copiam o nome da variável e colocam aqui no conjunto de dados, 59 00:03:11,991 --> 00:03:16,562 ou você digita, e ele dá a sugestão do nome. 60 00:03:16,562 --> 00:03:18,197 Aqui, no caso, ele deu a sugestão. 61 00:03:18,197 --> 00:03:20,800 A sugestão está correta, eu vou apertar. 62 00:03:20,800 --> 00:03:25,471 Então temos a análise do antes e o depois. 63 00:03:25,471 --> 00:03:29,008 Facilitando a interpretação aqui, se formos verificar, 64 00:03:29,008 --> 00:03:32,614 como sempre temos um conjunto de valores bem pequeno 65 00:03:32,614 --> 00:03:35,105 para facilitar a nossa análise. 66 00:03:36,182 --> 00:03:40,953 Olhando, nós já podemos fazer esse resultado prévio sem o R. 67 00:03:40,953 --> 00:03:44,239 O antes e o depois, o depois ficou melhor. 68 00:03:44,239 --> 00:03:46,859 Então implementou-se a melhoria no algoritmo, 69 00:03:46,859 --> 00:03:50,529 e houve realmente uma melhor performance no sistema. 70 00:03:50,529 --> 00:03:56,168 Inclusive, olhando em todas as horas de execução, realmente está melhor. 71 00:03:56,168 --> 00:03:58,239 Eu, olhando, consigo. 72 00:03:58,239 --> 00:04:02,318 Mas se fosse uma análise com 300 horas de execução, 73 00:04:02,318 --> 00:04:05,578 iria ficar bem difícil vocês conseguirem olhando. 74 00:04:05,578 --> 00:04:09,456 Então vamos pedir para o R fazer para nós. 75 00:04:09,456 --> 00:04:10,282 O que vamos fazer? 76 00:04:10,282 --> 00:04:11,650 Vamos para a próxima parte. 77 00:04:11,650 --> 00:04:14,787 Então criamos o antes e o depois. 78 00:04:14,787 --> 00:04:17,316 Vamos apertar mais alguns Enters aqui. 79 00:04:17,316 --> 00:04:20,059 É sempre legal para facilitar a nossa área. 80 00:04:20,059 --> 00:04:22,862 Vamos para uma próxima parte. 81 00:04:22,862 --> 00:04:25,698 Nós vamos agora gerar todo o cenário 82 00:04:25,698 --> 00:04:30,536 para calcular as medidas descritivas para o antes. 83 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. 84 00:04:35,207 --> 00:04:40,179 Aqui nós vamos calcular a média simples do antes, 85 00:04:40,179 --> 00:04:43,983 e vamos calcular a mediana do antes. 86 00:04:43,983 --> 00:04:45,149 Vamos aqui? 87 00:04:45,149 --> 00:04:48,888 Eu vou apertar o Enter, vou apertar print. 88 00:04:48,888 --> 00:04:50,573 Olhe, média... 89 00:04:50,573 --> 00:04:55,364 Aí aqui, aquela velha história, ou você copia "media_antes", 90 00:04:55,364 --> 00:04:58,464 ou você o deixa fazer a sugestão para você. 91 00:04:58,464 --> 00:05:00,099 Então essa é a média. 92 00:05:00,099 --> 00:05:04,870 Se somar todos esses valores, são quatro, cinco, seis, oito valores, 93 00:05:04,870 --> 00:05:06,405 são oito horas de análise, 94 00:05:06,405 --> 00:05:09,675 somo e divido por oito, vai ser a média. 95 00:05:09,675 --> 00:05:14,474 Além de calcular a média que acabamos de visualizar, 96 00:05:14,474 --> 00:05:16,615 nós também pedimos para calcular a mediana. 97 00:05:16,615 --> 00:05:18,722 Vamos visualizar o valor da mediana? 98 00:05:20,252 --> 00:05:23,922 "Ô, Rafa, estamos tendo que utilizar os conceitos que aprendemos anteriormente." 99 00:05:23,922 --> 00:05:25,357 Sim. Isso é bom, né? 100 00:05:25,357 --> 00:05:27,669 As coisas vão se juntando. 101 00:05:27,669 --> 00:05:28,869 E aqui a mediana. 102 00:05:28,869 --> 00:05:30,529 Opa, um sinalzinho a mais. 103 00:05:30,529 --> 00:05:34,400 Então esse é o valor da média e esse é o valor da mediana. 104 00:05:34,400 --> 00:05:39,371 São informações referentes aos dados do antes, tudo bem? 105 00:05:39,371 --> 00:05:43,289 Então está aqui o nosso script, o resumo para vocês. 106 00:05:43,289 --> 00:05:47,546 Já criamos os dados do antes e do depois, 107 00:05:47,546 --> 00:05:53,023 já fizemos aqui o cálculo da média e da mediana. 108 00:05:53,023 --> 00:05:54,553 Então já fizemos também. 109 00:05:54,553 --> 00:05:57,489 E agora nós vamos para uma próxima parte. 110 00:05:57,489 --> 00:06:01,660 Eu estou copiando essa parte do código, isolando-o, e vamos trazer aqui para baixo. 111 00:06:01,660 --> 00:06:05,177 Como sempre, é legal apertar um pouquinho de Enter aqui 112 00:06:05,177 --> 00:06:08,265 para isolar a área do código para podermos interpretar. 113 00:06:09,682 --> 00:06:13,071 Deixe-me limpar um pouquinho aqui para facilitar a visualização. 114 00:06:13,071 --> 00:06:14,139 Opa! 115 00:06:14,139 --> 00:06:16,809 Damos um Control + Z aqui. 116 00:06:16,809 --> 00:06:19,089 Antes de apertar o Enter, você dá um Control + Z. 117 00:06:20,579 --> 00:06:22,815 "E agora, Rafa, o que nós temos?" 118 00:06:22,815 --> 00:06:27,777 Nós temos três linhas de comentário aqui para deixar para vocês, tá? 119 00:06:27,777 --> 00:06:31,265 Lembrando que às vezes esse é o momento que você pode dar uma pausa no vídeo, 120 00:06:31,265 --> 00:06:33,759 antes de eu falar ou após eu falar. 121 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. 122 00:06:38,664 --> 00:06:43,969 E depois que conseguirmos entender essas três linhas de comentários, 123 00:06:43,969 --> 00:06:46,872 poderemos fazer a execução do que precisamos. 124 00:06:46,872 --> 00:06:48,175 Vamos entender? 125 00:06:48,175 --> 00:06:50,235 O que eu criei para vocês então? 126 00:06:50,235 --> 00:06:51,642 O "moda_antes". 127 00:06:51,642 --> 00:06:53,502 É o nome de uma variável. 128 00:06:53,502 --> 00:06:55,480 Aí sinal de menor, tracinho. 129 00:06:55,480 --> 00:06:56,682 "Ô, Rafa, eu já entendi. 130 00:06:56,682 --> 00:07:01,014 O resultado daqui será armazenado no moda_antes. 131 00:07:01,014 --> 00:07:03,155 Mas o que nós estamos fazendo, Rafa?" 132 00:07:03,155 --> 00:07:04,015 Vamos aqui. 133 00:07:04,015 --> 00:07:08,665 Primeiro vem uma instrução aqui do R, "as.numeric". 134 00:07:08,665 --> 00:07:10,239 O que é isso? 135 00:07:10,239 --> 00:07:15,307 Vocês ainda vão usar muito dentro da linguagem R na parte de estatística. 136 00:07:15,307 --> 00:07:19,304 "É utilizado para converter os valores em vetor numérico." 137 00:07:19,304 --> 00:07:22,586 Aí pode vir uma pergunta na sua cabeça: 138 00:07:22,586 --> 00:07:24,476 "Mas, Rafa, como assim? 139 00:07:24,476 --> 00:07:26,211 Os dados são numéricos." 140 00:07:26,211 --> 00:07:31,244 Você sabe porque o conjunto de dados, essas oito horas, é pequeno. 141 00:07:31,244 --> 00:07:32,584 Mas quem garante isso? 142 00:07:32,584 --> 00:07:35,787 É sempre bom você confirmar, tá? 143 00:07:35,787 --> 00:07:39,458 Então, voltando aqui, olhando, nós sabemos que eles são numéricos, 144 00:07:39,458 --> 00:07:43,128 mas você tem que garantir isso para poder fazer essa análise. 145 00:07:43,128 --> 00:07:46,231 É isso que o as.numeric faz. 146 00:07:46,231 --> 00:07:48,061 Se não for, tiver algum probleminha lá 147 00:07:48,061 --> 00:07:50,181 e o dado for possível de conversão para numérico, 148 00:07:50,181 --> 00:07:52,468 ele vai ser feito, é o as.numeric. 149 00:07:53,805 --> 00:07:57,637 E aí nós vamos continuar aqui a interpretar essa parte dessa instrução. 150 00:07:58,677 --> 00:08:00,271 Aqui são os nomes. 151 00:08:00,271 --> 00:08:01,221 O que são os nomes? 152 00:08:01,221 --> 00:08:02,681 É o conjunto de valores. 153 00:08:02,681 --> 00:08:04,716 Nós temos apenas um conjunto de valores. 154 00:08:04,716 --> 00:08:05,884 Poderíamos ter mais? 155 00:08:05,884 --> 00:08:06,777 Sim. 156 00:08:06,777 --> 00:08:09,387 Se fosse um dataframe com diversas colunas? Poderia. 157 00:08:09,387 --> 00:08:12,648 Aqui nós temos uma linha, ou uma coluna. 158 00:08:12,648 --> 00:08:15,021 É um exemplo um pouco mais simples. 159 00:08:15,021 --> 00:08:16,881 E aí você entra aqui no "sort". 160 00:08:16,881 --> 00:08:18,251 O que seria o sort? 161 00:08:18,251 --> 00:08:22,238 Novamente, fica aqui um comentário para vocês. 162 00:08:22,238 --> 00:08:26,004 Talvez vocês já tenham utilizado em alguma outra linguagem de programação. 163 00:08:26,004 --> 00:08:28,240 Quem não usou, não tem problema nenhum, tá? 164 00:08:28,240 --> 00:08:30,008 Esse é o momento de aprender. 165 00:08:30,008 --> 00:08:34,024 Ele é utilizado para ordenar os elementos. 166 00:08:34,024 --> 00:08:39,317 Porque se vocês pegarem aqui, esse primeiro aqui do antes, 167 00:08:39,317 --> 00:08:42,254 não é obrigatório que ele esteja numa ordem crescente ou decrescente. 168 00:08:42,254 --> 00:08:43,371 "Por que não, Rafa?" 169 00:08:43,371 --> 00:08:44,145 É uma análise. 170 00:08:44,145 --> 00:08:49,028 Supondo que, na primeira hora, demorou 220 segundos para executar, 171 00:08:49,028 --> 00:08:50,428 na segunda, 210. 172 00:08:50,428 --> 00:08:54,399 Então vai ser difícil você encontrar na ordem crescente ou decrescente. 173 00:08:54,399 --> 00:08:57,836 Você está olhando hora a hora como ele se comporta. 174 00:08:57,836 --> 00:08:59,971 O que você vai fazer então? 175 00:08:59,971 --> 00:09:02,807 Por isso que vem essa instrução sort. 176 00:09:02,807 --> 00:09:07,389 Você vai dizer que, nessa instrução true ou false, 177 00:09:07,389 --> 00:09:11,750 se você colocar true, você está pedindo para que essa análise 178 00:09:11,750 --> 00:09:15,887 seja feita numa ordem decrescente. 179 00:09:15,887 --> 00:09:20,587 Se você colocar false, ele vai fazer numa ordem crescente. 180 00:09:20,587 --> 00:09:23,278 Lembrando que, decrescente, do maior para o menor, 181 00:09:23,278 --> 00:09:25,397 que vai ser como ele vai analisar esse caso. 182 00:09:25,397 --> 00:09:30,728 E se fosse crescente, do menor para o maior. 183 00:09:30,728 --> 00:09:32,804 Esse é o sort. 184 00:09:32,804 --> 00:09:36,107 Bem recheada de conhecimento essa instrução aqui. 185 00:09:36,107 --> 00:09:38,710 E o que é o "table"? 186 00:09:38,710 --> 00:09:41,513 É o conjunto de dados para ser analisado. 187 00:09:41,513 --> 00:09:45,717 Lembrando, aqui é uma linha só, que é o "tempo_antes", 188 00:09:45,717 --> 00:09:47,819 mas poderia ser um dataframe. 189 00:09:47,819 --> 00:09:51,590 Então esse é o conjunto de dados que nós estamos pedindo para analisar. 190 00:09:52,590 --> 00:09:54,063 Vamos apertar um Enter. 191 00:09:54,993 --> 00:09:56,028 E aí, o que nós temos? 192 00:09:56,028 --> 00:09:57,507 "Rafa, e agora?" 193 00:09:57,507 --> 00:09:58,797 Quer olhar o resultado? 194 00:09:58,797 --> 00:09:59,893 Vamos olhar, lógico. 195 00:09:59,893 --> 00:10:01,103 "print"... 196 00:10:01,103 --> 00:10:05,937 Ou você copia e cola, ou você digita, e deixa ele dar a sugestão. 197 00:10:05,937 --> 00:10:08,173 Realmente é esse que eu quero. 198 00:10:08,173 --> 00:10:13,044 Se eu apertar o Enter, o que ele nos trouxe de resultado? 199 00:10:13,044 --> 00:10:17,151 Essa análise chegou num resultado de 210. 200 00:10:17,151 --> 00:10:20,150 Mas o que seria esse número 210? 201 00:10:20,150 --> 00:10:23,187 Vamos continuar aqui, aí eu vou explicar para vocês. 202 00:10:23,187 --> 00:10:26,200 Aqui foi a introdução, os dois dados, 203 00:10:26,200 --> 00:10:29,827 calculamos a média e a mediana do antes. 204 00:10:29,827 --> 00:10:33,464 E aqui, nós conseguimos fazer a moda, 205 00:10:33,464 --> 00:10:37,765 qual o número moda que é gerado com essa análise desses dados, desse conjunto. 206 00:10:37,765 --> 00:10:42,038 De novo, continuamos com o intervalo de valores do antes. 207 00:10:42,038 --> 00:10:44,275 Ainda não fizemos o depois. 208 00:10:44,275 --> 00:10:45,500 Vamos continuar? 209 00:10:45,500 --> 00:10:50,548 Aqui nós vamos para uma outra parte do nosso código, da nossa análise. 210 00:10:50,548 --> 00:10:54,803 Eu vou copiar e descer um pouquinho. 211 00:10:55,620 --> 00:10:58,623 Novamente, aquela velha dica: se possível... 212 00:10:58,623 --> 00:11:02,493 É que aqui, eu que estou transmitindo conhecimento para vocês. 213 00:11:02,493 --> 00:11:03,787 Se você quiser, não precisa apertar o Enter. 214 00:11:03,787 --> 00:11:08,232 Mas é legal para vocês dividirem por partes essa análise, tá? 215 00:11:08,232 --> 00:11:10,168 Aqui, novamente, tem uma hashtag. 216 00:11:10,168 --> 00:11:11,581 Deixe-me só limpar o código aqui, 217 00:11:11,581 --> 00:11:14,546 para quando executá-lo depois, não acontecer nenhum erro. 218 00:11:16,804 --> 00:11:18,476 Aqui eu deixo esse comentário, né? 219 00:11:18,476 --> 00:11:21,121 Nós iremos verificar a variância. 220 00:11:21,121 --> 00:11:22,301 O que é a variância? 221 00:11:22,301 --> 00:11:24,999 Está aqui, olhe: "É uma medida estatística 222 00:11:24,999 --> 00:11:28,319 que indica a dispersão dos valores em relação à média". 223 00:11:28,319 --> 00:11:29,774 Nós não temos a média? 224 00:11:29,774 --> 00:11:31,689 O quanto os valores... 225 00:11:31,689 --> 00:11:32,989 "Que valores, Rafa?" 226 00:11:32,989 --> 00:11:38,419 O quanto cada um desses valores está distante da média. 227 00:11:38,419 --> 00:11:40,298 Por isso que nós fizemos aqui, olhe. 228 00:11:40,298 --> 00:11:41,719 Essa não é a média? 229 00:11:41,719 --> 00:11:43,279 Deu 218. 230 00:11:43,279 --> 00:11:47,050 Se eu olhar aqui, me parece... 231 00:11:47,050 --> 00:11:50,308 Olhando aqui, interpretando, qual parece que está mais distante? 232 00:11:50,308 --> 00:11:51,976 Mas não vamos deixar o computador fazer por nós, né? 233 00:11:51,976 --> 00:11:53,264 Talvez seja esse. 234 00:11:53,264 --> 00:11:56,414 Qual está mais perto de 218? 235 00:11:56,414 --> 00:12:00,084 Olhando aqui, o valor 220, tá? 236 00:12:00,084 --> 00:12:02,358 Mas deixe que o computador nos fale. 237 00:12:02,358 --> 00:12:08,192 Nesse intervalo de valores, quais estão mais perto ou menos perto da média? 238 00:12:08,192 --> 00:12:13,555 Quanto maior a variância, mais dispersos os dados estão. 239 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, 240 00:12:20,211 --> 00:12:24,909 quanto maior o número, mais distante estará da média. 241 00:12:24,909 --> 00:12:30,248 Então tem uma disparidade aí, uma distância da média dos dados. 242 00:12:30,248 --> 00:12:32,287 Aí vamos executar. 243 00:12:32,287 --> 00:12:35,506 Como sempre, para executar, eu vou apertar um Enter aqui, 244 00:12:35,506 --> 00:12:38,799 e aí nós vamos analisar, olhe: variancia_antes, 245 00:12:38,799 --> 00:12:42,059 nós queremos saber como eu acho o valor da variância, 246 00:12:42,059 --> 00:12:44,996 que é isso que acabamos de explicar aqui. 247 00:12:44,996 --> 00:12:49,533 E, novamente, é melhor você fazer uma pausa, anotar, 248 00:12:49,533 --> 00:12:53,203 verificar o material escrito que está disponível para vocês 249 00:12:53,203 --> 00:12:55,906 para depois você conseguir executar aqui. 250 00:12:55,906 --> 00:13:01,012 Então, aqui, como eu consigo armazenar o valor da variância 251 00:13:01,012 --> 00:13:05,006 do conjunto de dados tempos_antes, 252 00:13:05,916 --> 00:13:09,587 como eu consigo pedir para ele achar a variância aqui. 253 00:13:09,587 --> 00:13:10,631 É simples. 254 00:13:10,631 --> 00:13:13,691 Depois que você entendeu o conceito, é simples. 255 00:13:13,691 --> 00:13:19,130 Você cria uma variável, que, nesse caso, eu chamei de "variancia_antes". 256 00:13:19,130 --> 00:13:22,892 Aqui eu coloco a instrução, que é "var", v-a-r, 257 00:13:22,892 --> 00:13:25,029 e o nome do conjunto de dados. 258 00:13:25,029 --> 00:13:27,296 "Ah, Rafa, eu quero dar uma olhadinha". 259 00:13:27,296 --> 00:13:29,106 Já quer dar uma olhadinha? 260 00:13:29,106 --> 00:13:30,698 Podemos, não tem problema não. 261 00:13:30,698 --> 00:13:34,390 Olhe, "variancia_antes", não é isso? 262 00:13:34,390 --> 00:13:41,138 Se apertarmos o Enter, conseguiremos saber qual é o valor, o resultado da variância. 263 00:13:41,138 --> 00:13:43,524 Agora o desvio-padrão. 264 00:13:43,524 --> 00:13:46,924 O desvio-padrão, vocês já têm esse conhecimento. 265 00:13:46,924 --> 00:13:49,226 Como calcular o desvio-padrão? 266 00:13:49,226 --> 00:13:50,431 Vamos criar uma variável. 267 00:13:50,431 --> 00:13:53,537 Desvio-padrão antes, porque nós estamos analisando 268 00:13:53,537 --> 00:13:56,567 antes da implementação da melhoria do algoritmo, 269 00:13:56,567 --> 00:14:00,271 "sd" é a instrução, e qual é o conjunto de dados. 270 00:14:00,271 --> 00:14:02,648 "Rafa, podemos visualizar?" 271 00:14:02,648 --> 00:14:04,108 Lógico que podemos. 272 00:14:04,108 --> 00:14:05,681 Qual é o nome da variável? 273 00:14:05,681 --> 00:14:08,350 "desvio_padrao_antes". 274 00:14:09,480 --> 00:14:10,681 Legal. 275 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. 276 00:14:16,820 --> 00:14:23,518 Agora que conseguimos encontrar o valor da variância e do desvio-padrão, 277 00:14:23,518 --> 00:14:28,966 vamos continuar para conseguir concluir a análise que queremos do antes e o depois. 278 00:14:28,966 --> 00:14:30,467 Então, o que nós já vimos? 279 00:14:30,467 --> 00:14:33,395 Retomamos essa parte, criamos os dados, 280 00:14:33,395 --> 00:14:38,208 criamos a média e a mediana do antes, 281 00:14:38,208 --> 00:14:40,611 conseguimos achar a moda, 282 00:14:40,611 --> 00:14:45,869 acabamos de descobrir a variância e o desvio-padrão. 283 00:14:45,869 --> 00:14:48,485 Agora vamos para essa próxima parte da análise. 284 00:14:48,485 --> 00:14:50,798 Vou copiar aqui para baixo. 285 00:14:50,798 --> 00:14:55,025 Aqui, como sempre, eu vou apertar alguns Enters 286 00:14:55,025 --> 00:14:58,362 para facilitar para vocês a visualização. 287 00:14:58,362 --> 00:15:00,064 Vou apertar um Control + V. 288 00:15:00,064 --> 00:15:02,655 Deixe-me arrumar aqui para explicar. 289 00:15:02,655 --> 00:15:04,395 O que nós vamos fazer agora então? 290 00:15:04,395 --> 00:15:09,416 Olhe, "calculando medidas descritivas para depois" agora, né? 291 00:15:09,416 --> 00:15:11,727 Fizemos o antes, vamos para o depois. 292 00:15:11,727 --> 00:15:15,813 Agora nós iremos repetir o script que nós fizemos anteriormente 293 00:15:15,813 --> 00:15:19,283 para a parte da execução do antes. 294 00:15:19,283 --> 00:15:20,918 Agora nós iremos fazer para o depois. 295 00:15:20,918 --> 00:15:23,887 Lembre-se do cenário, do case. 296 00:15:23,887 --> 00:15:28,759 Tem um sistema que não estava com uma performance tão boa de algoritmo. 297 00:15:28,759 --> 00:15:33,297 Então fizeram uma análise, extraíram os tempos de execução 298 00:15:33,297 --> 00:15:36,200 antes da implementação da melhoria no algoritmo, 299 00:15:36,200 --> 00:15:39,603 e aí precisava-se fazer uma análise do depois. 300 00:15:39,603 --> 00:15:42,339 Então, no depois, nós temos a base de dados, 301 00:15:42,339 --> 00:15:44,607 como está a performance do depois, 302 00:15:44,607 --> 00:15:47,911 e agora o R vai verificar o antes e o depois 303 00:15:47,911 --> 00:15:52,583 para fazer esse comparativo e conseguir ter uma análise descritiva. 304 00:15:52,583 --> 00:15:55,553 Fizemos para o antes, vamos fazer a mesma coisa agora 305 00:15:55,553 --> 00:15:57,900 para o conjunto de dados do depois. 306 00:15:57,900 --> 00:15:58,660 Vem aqui comigo. 307 00:15:58,660 --> 00:16:04,492 Então, como sempre, eu deixo um comentário para vocês. 308 00:16:04,492 --> 00:16:07,998 Olhe, calculando medidas descritivas para depois. 309 00:16:07,998 --> 00:16:10,362 Nós iremos achar a média. 310 00:16:10,362 --> 00:16:12,202 A média de quem? 311 00:16:12,202 --> 00:16:16,347 Lembre-se, agora nós vamos trabalhar com essa base de dados, 312 00:16:16,347 --> 00:16:19,142 a performance do algoritmo do depois. 313 00:16:19,142 --> 00:16:21,244 Então vamos descer um pouquinho. 314 00:16:21,244 --> 00:16:22,583 Estamos aqui. 315 00:16:22,583 --> 00:16:25,253 Criei uma variável chamada "media_depois". 316 00:16:25,253 --> 00:16:27,776 Esse é o nome da base de dados. 317 00:16:27,776 --> 00:16:31,655 E vamos também achar o valor da mediana. 318 00:16:31,655 --> 00:16:33,386 Se eu apertar o Enter aqui... 319 00:16:33,386 --> 00:16:38,377 É sempre legal visualizar o resultado, olhe, media_depois. 320 00:16:39,947 --> 00:16:41,465 Vou apertar o Enter. 321 00:16:41,465 --> 00:16:44,634 Então essa é a média da performance do depois. 322 00:16:44,634 --> 00:16:47,545 E agora nós também vamos achar o valor da mediana. 323 00:16:47,545 --> 00:16:48,858 Visualizar, perdão. 324 00:16:48,858 --> 00:16:50,618 Nós já temos o valor, né? 325 00:16:50,618 --> 00:16:55,538 "print(mediana_depois)". 326 00:16:55,538 --> 00:16:56,680 Eu vou apertar o Enter. 327 00:16:56,680 --> 00:17:00,579 Então essa é a média, e essa é a mediana do depois. 328 00:17:00,579 --> 00:17:02,319 Vou subir aqui. 329 00:17:02,319 --> 00:17:05,756 Vamos pegar o nosso script, tá? 330 00:17:05,756 --> 00:17:10,908 Já fizemos do antes, agora estamos calculando do depois. 331 00:17:10,908 --> 00:17:13,730 Vamos achar agora o valor da moda. 332 00:17:13,730 --> 00:17:16,351 É a mesma coisa que nós fizemos do antes, 333 00:17:16,351 --> 00:17:18,668 só que agora é a moda para o depois. 334 00:17:18,668 --> 00:17:23,515 Vamos apertar alguns Enters para ficar limpa a nossa área de programação 335 00:17:23,515 --> 00:17:25,025 para podermos entender. 336 00:17:25,025 --> 00:17:28,450 Criar a variável moda_depois, 337 00:17:28,450 --> 00:17:32,391 "as numeric", que serve para converter os valores numéricos, 338 00:17:32,391 --> 00:17:33,881 por mais que estejam ali. 339 00:17:33,881 --> 00:17:37,920 Mas é bom confirmar que os valores são um número, 340 00:17:37,920 --> 00:17:39,523 eles estão como número. 341 00:17:39,523 --> 00:17:44,227 E aqui nós temos a parte da organização dos dados em ordem decrescente. 342 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. 343 00:17:50,485 --> 00:17:52,836 Se eu apertar o Enter... É igualzinho ao anterior. 344 00:17:52,836 --> 00:17:59,440 Só muda que agora nós estamos fazendo a análise para os dados do depois 345 00:17:59,440 --> 00:18:01,711 após implementação do algoritmo. 346 00:18:01,711 --> 00:18:07,917 Então, a moda para o depois resultou em um valor de 190. 347 00:18:07,917 --> 00:18:13,089 Vamos voltar mais um pouquinho aqui, pegar o script que nós deixamos. 348 00:18:13,089 --> 00:18:15,492 A palavra não é pré-pronto. É pronto. 349 00:18:15,492 --> 00:18:16,581 E vamos verificar. 350 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. 351 00:18:21,931 --> 00:18:24,734 Vamos descobrir qual é o valor da variância 352 00:18:24,734 --> 00:18:27,562 e qual é o valor do desvio-padrão para o depois. 353 00:18:27,562 --> 00:18:29,789 Irei apertar novamente alguns Enters. 354 00:18:30,774 --> 00:18:32,643 Vou dar um Control + V. 355 00:18:32,643 --> 00:18:33,703 Deixe-me limpar aqui. 356 00:18:33,703 --> 00:18:37,380 Se executarmos com esse tracinho aqui, vai ocorrer um erro. 357 00:18:37,380 --> 00:18:39,682 O que nós temos aqui então? 358 00:18:39,682 --> 00:18:42,798 Criamos uma variável chamada variancia_depois. 359 00:18:42,798 --> 00:18:46,923 A instrução aqui é para calcular a variância dessa base de dados 360 00:18:46,923 --> 00:18:49,159 utilizando o VAR, e o desvio-padrão. 361 00:18:49,159 --> 00:18:51,528 Vou apertar um Enter. 362 00:18:51,528 --> 00:18:53,630 Nós esperamos que dê certo, né? 363 00:18:53,630 --> 00:18:57,967 E aqui vamos só visualizar para confirmar que deu certo. 364 00:18:57,967 --> 00:18:59,202 Visualizou. 365 00:18:59,202 --> 00:19:05,090 E agora nós vamos verificar o valor do desvio-padrão que foi encontrado. 366 00:19:05,090 --> 00:19:07,795 "desvio_padrao_depois". 367 00:19:07,795 --> 00:19:09,537 Opa, tem um errinho aqui, pessoal. 368 00:19:09,537 --> 00:19:10,607 Cuidado aqui! 369 00:19:10,607 --> 00:19:11,957 Eu visualizei o antes. 370 00:19:11,957 --> 00:19:14,617 Não era o antes e sim o depois. 371 00:19:14,617 --> 00:19:15,351 Vamos ver. 372 00:19:15,351 --> 00:19:17,585 Oh, então aqui, print... 373 00:19:18,855 --> 00:19:22,554 Não é um erro do script que nós criamos e sim na hora de visualizar. 374 00:19:22,554 --> 00:19:24,360 O depois, tá? 375 00:19:24,360 --> 00:19:27,430 Então essa é a variância do antes que tínhamos feito anteriormente. 376 00:19:27,430 --> 00:19:30,200 E agora esse do depois, que acabamos de fazer, está vendo? 377 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. 378 00:19:35,672 --> 00:19:36,739 Print... 379 00:19:36,739 --> 00:19:42,361 Agora nós vamos verificar o valor do desvio-padrão do depois, hein! 380 00:19:42,361 --> 00:19:43,431 Novamente, do depois. 381 00:19:43,431 --> 00:19:45,381 O antes, nós já passamos. 382 00:19:45,381 --> 00:19:48,751 Então esse é o valor da variância do depois, 383 00:19:48,751 --> 00:19:52,488 e esse o valor do desvio-padrão do depois. 384 00:19:52,488 --> 00:19:58,122 Agora vamos subir aqui e verificar o nosso script que deixamos pronto aqui. 385 00:19:58,122 --> 00:19:59,128 Legal! 386 00:19:59,128 --> 00:20:01,768 Nós já conseguimos criar... 387 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, 388 00:20:07,942 --> 00:20:11,240 para a base de dados do antes e do depois. 389 00:20:11,240 --> 00:20:15,511 Agora nós podemos dizer que precisamos juntar tudo isso 390 00:20:15,511 --> 00:20:18,445 para visualizar esses valores, tá? 391 00:20:18,445 --> 00:20:22,708 Na verdade, aqui seria uma impressão de tudo que nós fizemos até agora. 392 00:20:22,708 --> 00:20:26,089 Eu vou apertar alguns Enters aqui, mas é a última parte, tá? 393 00:20:26,089 --> 00:20:27,924 São apenas duas instruções agora. 394 00:20:27,924 --> 00:20:29,559 Opa! Vou apagar... 395 00:20:29,559 --> 00:20:30,712 Control + V. 396 00:20:30,712 --> 00:20:33,262 "O que é essa última parte, Rafa?" 397 00:20:33,262 --> 00:20:35,222 "Imprimindo os resultados". 398 00:20:35,222 --> 00:20:40,477 Vamos trabalhar aqui com todas as informações do antes e do depois. 399 00:20:40,477 --> 00:20:42,747 Vou apertar o Enter... 400 00:20:42,747 --> 00:20:45,775 É simples de visualizar, né? 401 00:20:45,775 --> 00:20:49,579 A riqueza está no entender, né, entender todas essas informações. 402 00:20:49,579 --> 00:20:51,876 Então o que nós temos aqui? 403 00:20:51,876 --> 00:20:52,890 "Antes - Média". 404 00:20:52,890 --> 00:20:54,190 Isso aqui é um texto, né? 405 00:20:54,190 --> 00:20:56,050 Sempre que eu quero juntar um texto com valores, 406 00:20:56,050 --> 00:20:59,055 eu coloco o "paste", aí eu coloco a informação, 407 00:20:59,055 --> 00:21:02,243 divido por vírgula, e o nome da variável. 408 00:21:02,243 --> 00:21:07,163 Na verdade, aqui é uma impressão mostrando tudo o que nós fizemos anteriormente. 409 00:21:07,163 --> 00:21:08,565 Vamos pegar o outro script. 410 00:21:08,565 --> 00:21:10,601 "Rafa, poderíamos fazer aqui na mão agora?" 411 00:21:10,601 --> 00:21:11,491 Poderíamos. 412 00:21:11,491 --> 00:21:15,191 Talvez demore só um pouquinho aqui para digitarmos juntos, né... 413 00:21:15,872 --> 00:21:18,374 Para digitarmos essas informações. 414 00:21:18,374 --> 00:21:21,209 Eu vou apertar mais alguns Enters aqui, como sempre. 415 00:21:21,209 --> 00:21:22,619 Eu vou apertar um Enter. 416 00:21:22,619 --> 00:21:26,363 O que nós temos aqui até o momento de uma revisão? 417 00:21:26,363 --> 00:21:29,610 "Antes: media_antes", é esse valor, 418 00:21:29,610 --> 00:21:32,230 media_antes é esse valor. 419 00:21:32,230 --> 00:21:36,359 "Mediana: mediana_antes". 420 00:21:36,359 --> 00:21:37,768 Então nós só juntamos aqui. 421 00:21:37,768 --> 00:21:40,915 Seria uma impressão de tudo o que nós projetamos anteriormente. 422 00:21:40,915 --> 00:21:42,765 E aqui é do depois. 423 00:21:42,765 --> 00:21:44,416 E agora fica o quê? 424 00:21:44,416 --> 00:21:47,036 Se pegarmos todo o nosso script, 425 00:21:47,036 --> 00:21:51,340 pegamos desde uma introdução, o que é uma análise descritiva, 426 00:21:51,340 --> 00:21:55,611 duas bases de dados, verificamos o antes e o depois, 427 00:21:55,611 --> 00:21:58,166 calculamos a média, mediana, 428 00:21:58,166 --> 00:22:01,556 conseguimos achar o valor da moda também, 429 00:22:01,556 --> 00:22:04,897 tanto para os dados do antes como para do depois. 430 00:22:04,897 --> 00:22:05,867 E enfim... 431 00:22:05,867 --> 00:22:10,414 Só voltando, descendo um pouquinho aqui, agora conseguimos imprimir. 432 00:22:10,414 --> 00:22:16,065 E com essas informações em mãos, nós conseguimos obter os nossos resultados. 433 00:22:16,065 --> 00:22:20,669 Então aqui é o conjunto mostrando o resultado, 434 00:22:20,669 --> 00:22:23,051 todas as informações numa impressão só. 435 00:22:23,051 --> 00:22:26,242 Tudo que calculamos do antes, tudo que calculamos do depois. 436 00:22:26,242 --> 00:22:28,411 E agora você consegue fazer a interpretação. 437 00:22:28,411 --> 00:22:30,982 Vamos pegar o mais simples aqui: 438 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, 439 00:22:36,770 --> 00:22:41,957 supondo que fossem segundos, o tempo de execução demorava 218 segundos. 440 00:22:41,957 --> 00:22:44,010 Agora caiu para 196. 441 00:22:44,010 --> 00:22:44,975 E por aí vai. 442 00:22:44,975 --> 00:22:50,499 Você consegue comparar o antes e o depois de cada uma dessas informações 443 00:22:50,499 --> 00:22:56,138 para saber se realmente melhorou a performance do sistema 444 00:22:56,138 --> 00:22:59,481 após a implementação da melhoria do algoritmo. 445 00:22:59,481 --> 00:23:01,510 Eu tenho certeza que vocês conseguiram entender 446 00:23:01,510 --> 00:23:06,034 a importância de saber utilizar todas essas instruções da Linguagem R, 447 00:23:06,034 --> 00:23:08,608 e até mesmo saber interpretar esses resultados.