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