WEBVTT 00:00:08.074 --> 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:29.095 e ele está demorando cinco minutos para iniciar, e aí você coloca memória RAM, 00:00:29.095 --> 00:00:32.966 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 da 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 nossa 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.858 para ter esse comparativo do antes e o 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 o 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ê deixa ele 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.862 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 o depois, 00:05:47.546 --> 00:05:52.963 já fizemos aqui o cálculo da média e da mediana. 00:05:52.963 --> 00:05:54.553 Também já fizemos. 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:16.809 Opa,.. 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 você conseguir entender essas três linhas de comentários, 00:06:43.969 --> 00:06:46.872 nós 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, 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.495 Primeiro vem uma instrução aqui do R, "as.numeric". 00:07:08.495 --> 00:07:10.239 O que é isso? 00:07:10.239 --> 00:07:15.307 Vocês vão usar muito ainda dentro da linguagem R na parte 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:49.701 Se não for, tiver algum probleminha lá e o dado for possível de conversão para numérico, 00:07:49.701 --> 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.241 É um exemplo um pouco mais simples. 00:08:15.241 --> 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 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 o 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 "Porque não, Rafa?" 00:08:43.371 --> 00:08:44.145 É uma análise. 00:08:44.145 --> 00:08:50.428 Supondo que, na primeira hora, demorou 220 segundos para executar 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 uma 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.168 E se fosse crescente, do menor para o maior. 00:09:30.168 --> 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 a 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:14.611 Deixe-me só limpar o código aqui 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:23.181 O que é a variância? 00:11:23.181 --> 00:11:28.319 É uma medida estatística 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.629 O quanto cada um desses valores está distantes da média. 00:11:38.629 --> 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:11:58.884 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: variância antes, 00:12:38.799 --> 00:12:42.059 nós queremos encontrar 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 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 que é 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 também 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 apertaram um Control + V. 00:15:00.064 --> 00:15:02.655 Deixe-me arrumar aqui para explicar. 00:15:02.655 --> 00:15:04.935 O que nós vamos fazer agora então? 00:15:04.935 --> 00:15:09.416 Olhe, calculando medidas descritivas para o 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:43.607 como está a performance do depois, 00:15:43.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:58.660 para o conjunto de dados do depois. 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:39.947 É 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:51.708 Nós já temos o valor, né? 00:16:51.708 --> 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:26.610 criar a variável moda_depois. 00:17:26.610 --> 00:17:32.391 "as numeric" 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:58.430 Só muda que agora nós estamos fazendo a análise para os dados do depois 00:17:58.430 --> 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 esperávamos que desse 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:18.855 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.411 Agora podemos dizer que a gente precisa juntar tudo isso 00:20:15.511 --> 00:20:18.815 para visualizar esses valores aqui. 00:20:18.815 --> 00:20:22.285 Na verdade, seria uma impressão de tudo que nós fizemos até agora. 00:20:22.318 --> 00:20:26.089 Só vou apertar alguns em três aqui, mas a última parte 00:20:26.189 --> 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:33.196 Controlo ver o que essa última parte, Rafa, 00:20:33.262 --> 00:20:36.532 imprimindo os resultados aqui vamos trabalhar 00:20:36.532 --> 00:20:40.670 com todas as informações do antes e o depois. 00:20:40.737 --> 00:20:41.337 Vou apertar. 00:20:41.337 --> 00:20:45.708 Então é assim simples de visualizar 00:20:45.775 --> 00:20:49.512 o entender que está na riqueza, entender todas essas informações. 00:20:49.579 --> 00:20:50.646 Então o que nós temos aqui? 00:20:50.646 --> 00:20:54.550 Olha aqui, antes disso, aqui é um texto sempre. 00:20:54.550 --> 00:20:57.720 Eu quero juntar um texto com valores, eu coloco teste, aí 00:20:57.720 --> 00:20:59.055 eu coloco a informação, lembra? 00:20:59.055 --> 00:21:00.723 Divido por vírgula. 00:21:00.723 --> 00:21:04.460 E o nome da variável só aqui, na verdade é uma impressão 00:21:04.460 --> 00:21:07.163 mostrando tudo o que nós fizemos anteriormente. 00:21:07.163 --> 00:21:08.865 Vamos pegar o outro script. 00:21:08.865 --> 00:21:11.601 Poderíamos fazer aqui na mão agora, poderíamos talvez 00:21:11.601 --> 00:21:15.771 demorar só um pouquinho aqui para vocês, pra gente digitar junto 00:21:15.872 --> 00:21:18.374 para digitarmos essas informações. 00:21:18.374 --> 00:21:20.209 Nós apertar mais alguns inteiros. 00:21:20.209 --> 00:21:23.679 Aqui, como sempre, vou apertar muito o que nós temos aqui 00:21:23.679 --> 00:21:27.183 até um momento de uma revisão antes, 00:21:27.250 --> 00:21:30.920 a média antes e esse valor média antes 00:21:31.020 --> 00:21:34.423 e esse valor mediano 00:21:34.490 --> 00:21:36.359 antes mediana antes. 00:21:36.359 --> 00:21:39.328 Então, aqui nós só juntamos uma impressão de tudo o que nós 00:21:39.328 --> 00:21:42.698 projetamos anteriormente e aqui do depois. 00:21:42.765 --> 00:21:46.969 E é agora que fica o que se a gente pegar o nosso TO do nosso script, 00:21:47.036 --> 00:21:48.704 pegamos desde uma introdução. 00:21:48.704 --> 00:21:51.340 O que é uma análise descritiva, 00:21:51.340 --> 00:21:55.544 duas bases de dados com verificamos o antes e o depois, 00:21:55.611 --> 00:22:00.516 calculamos a média mediana, conseguimos nos achar o valor da moda 00:22:00.516 --> 00:22:04.920 também, tanto para os dados do antes como depois 00:22:04.987 --> 00:22:08.290 e enfim, só voltando, descendo um pouquinho aqui, 00:22:08.357 --> 00:22:11.994 agora a gente consegue imprimir e com essas informações 00:22:11.994 --> 00:22:15.998 em mãos nós conseguimos obter os nossos resultados. 00:22:16.065 --> 00:22:19.468 Então aqui é o conjunto 00:22:19.568 --> 00:22:20.669 mostrando o resultado. 00:22:20.669 --> 00:22:22.471 Todas as informações numa impressão 00:22:22.471 --> 00:22:26.175 só, tudo o que calculamos antes, tudo que calculamos o depois. 00:22:26.242 --> 00:22:28.411 E agora que você consegue fazer a interpretação, 00:22:28.411 --> 00:22:33.482 vamos pegar o mais simples aqui a média de tempo de execução 00:22:33.582 --> 00:22:36.919 do antes antes de implementar a melhoria no algoritmo. 00:22:37.019 --> 00:22:37.720 O tempo de execução. 00:22:37.720 --> 00:22:41.891 Supondo que fossem segundos, demorava 218/2. 00:22:41.957 --> 00:22:44.760 Agora caiu para 196 e por aí vai. 00:22:44.760 --> 00:22:50.432 Você consegue comparar o antes e o depois de cada uma dessas informações 00:22:50.499 --> 00:22:53.169 para saber se realmente 00:22:53.169 --> 00:22:56.138 melhorou a performance do sistema 00:22:56.138 --> 00:22:59.508 após a implementação da melhoria do algoritmo? 00:22:59.608 --> 00:23:01.210 Eu tenho certeza que vocês conseguiram 00:23:01.210 --> 00:23:04.980 entender a importância de saber utilizar todas essas instruções, 00:23:05.014 --> 00:23:09.018 a linguagem R e até mesmo saber interpretar esses resultados e.