0:00:08.074,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:29.095 e ele está demorando cinco minutos[br]para iniciar, e aí você coloca memória RAM, 0:00:29.095,0:00:32.966 depois você quer verificar o quanto [br]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 da 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 nossa 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.858 para ter esse comparativo[br]do antes e o 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 o 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 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 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ê deixa ele 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.862 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 o depois, 0:05:47.546,0:05:52.963 já fizemos aqui o cálculo da média e da mediana. 0:05:52.963,0:05:54.553 Também já fizemos. 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[br]apertar 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:16.809 Opa,.. 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 você conseguir entender[br]essas três linhas de comentários, 0:06:43.969,0:06:46.872 nós 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, 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.495 Primeiro vem uma instrução[br]aqui do R, "as.numeric". 0:07:08.495,0:07:10.239 O que é isso? 0:07:10.239,0:07:15.307 Vocês vão usar muito ainda dentro [br]da linguagem R na parte 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:49.701 Se não for, tiver algum probleminha lá[br]e o dado for possível de conversão para numérico, 0:07:49.701,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.241 É um exemplo um pouco mais simples. 0:08:15.241,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 Vocês já tenham utilizado em alguma [br]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 o 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 "Porque não, Rafa?" 0:08:43.371,0:08:44.145 É uma análise. 0:08:44.145,0:08:50.428 Supondo que, na primeira hora, demorou 220 [br]segundos para executar 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 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.987,0:09:18.857 Se você colocar false,[br]ele vai fazendo uma ordem 0:09:18.857,0:09:22.160 numa ordem crescente,[br]lembrando decrescente do maior 0:09:22.160,0:09:25.163 para o menor, que vai ser esse caso,[br]como ele vai analisar? 0:09:25.397,0:09:30.101 E se fosse crescente, do menor[br]para o maior? 0:09:30.168,0:09:32.804 Tudo bem, esse é o sort 0:09:32.804,0:09:36.040 bem recheado de conhecimento[br]aqui essa instrução. 0:09:36.107,0:09:38.643 E aí, o que é o tempo? 0:09:38.710,0:09:41.513 É o conjunto[br]de dados que está para ser analisado. 0:09:41.513,0:09:45.650 Lembrando, aqui é uma linha[br]só que é o tempo antes, 0:09:45.717,0:09:47.819 mas poderia ser um dataframe então. 0:09:47.819,0:09:52.490 Então esse é o conjunto de dados[br]que nós estamos pedindo para analisar. 0:09:52.590,0:09:54.993 Vamos apertar um enter. 0:09:54.993,0:09:56.628 E é aí que nós temos Rafa. 0:09:56.628,0:09:58.797 E agora é que é olhar o resultado. 0:09:58.797,0:10:01.833 Vamos olhar lógico, print ou você 0:10:01.833,0:10:05.937 copia e cola ou você digita[br]e deixe me dar sugestão. 0:10:05.937,0:10:08.173 Realmente é isso que eu quero. 0:10:08.173,0:10:12.977 Se eu apertar o enter,[br]o que ele nos trouxe de resultado, tá? 0:10:13.044,0:10:19.551 Essa análise foi chegou num resultado[br]de 210, mas o que seria esse número 210? 0:10:19.551,0:10:21.920 Rafa? Vamos continuar aqui. 0:10:21.920,0:10:23.187 Aí eu vou explicar para vocês. 0:10:23.187,0:10:26.090 Então aqui está o foi Introdução[br]Os dois dados 0:10:26.090,0:10:29.727 que calculamos,[br]a média e a mediana do antes. 0:10:29.827,0:10:33.398 E aqui[br]nós conseguimos fazer o que a moda AND 0:10:33.464,0:10:36.935 com o número modo que[br]é gerado com essa análise desses dados. 0:10:36.935,0:10:40.638 Nesse conjunto, de novo,[br]continuamos com o intervalo 0:10:40.638,0:10:44.208 de valores do antes[br]ainda não fizemos o depois. 0:10:44.275,0:10:45.810 Vamos continuar aí. 0:10:45.810,0:10:50.315 Aqui nós vamos pôr uma outra parte[br]do nosso código aqui na nossa análise. 0:10:50.548,0:10:55.520 Vou copiar a descer lá para baixo[br]um pouquinho 0:10:55.620,0:10:58.623 novamente aquela velha dica, se possível, 0:10:58.623,0:11:02.393 quer que eu, que estou transmitindo[br]conhecimento para vocês? 0:11:02.493,0:11:05.997 Se você quiser, não precisa apertar muito,[br]mas é legal para vocês dividirem 0:11:06.097,0:11:08.232 por partes. Essa análise tá? 0:11:08.232,0:11:10.168 Aqui novamente, tem um resto, 0:11:10.168,0:11:13.971 é só limpar o código aqui para depois[br]quando executá lo acontecer. 0:11:13.971,0:11:16.207 Nenhum erro 0:11:16.274,0:11:18.476 legal aqui eu deixo esse comentário. 0:11:18.476,0:11:23.114 Aí nós podemos verificar o que a variância[br]que é a variância deixo aqui. 0:11:23.181,0:11:26.818 É uma medida estatística[br]que indica a dispersão dos valores 0:11:26.818,0:11:28.319 em relação à média. 0:11:28.319,0:11:33.024 Nós não temos a média o quanto os valores,[br]que valores, 0:11:33.124,0:11:38.563 o quanto cada um desses valores[br]estão distantes da média. 0:11:38.629,0:11:40.298 Por isso que nós fizemos aqui. 0:11:40.298,0:11:44.469 Essa não é a média, deu 218 a seu olhar. 0:11:44.469,0:11:48.840 Aqui me parece, por exemplo,[br]qual que está mais distante, 0:11:48.840,0:11:50.308 olhando aqui, interpretando. 0:11:50.308,0:11:51.976 Mas você vai deixar o contador[br]fazer por nós? 0:11:51.976,0:11:56.347 Talvez seja esse[br]qual tá mais perto de 218. 0:11:56.414,0:12:00.084 Olhando aqui o valor 220 Tá, 0:12:00.184,0:12:03.788 mas deixa o computador falar pra nós[br]o uso desse intervalo de valores. 0:12:03.788,0:12:08.092 Quais estão mais perto[br]ou menos perto da média? 0:12:08.192,0:12:10.661 Quanto maior a variância, 0:12:10.661,0:12:14.565 mais dispersos os dados estão, ou seja, 0:12:14.632,0:12:18.236 o valor do resultado da variação[br]que nós vamos pedir para calcular. 0:12:18.336,0:12:19.804 Agora 0:12:19.870,0:12:20.571 que quanto 0:12:20.571,0:12:24.809 mais, quanto maior o número,[br]mais distante estará da média. 0:12:24.909,0:12:30.181 Então tem uma disparidade aí,[br]uma distância aí da média dos dados. 0:12:30.248,0:12:33.217 Aí vamos executar para executar. 0:12:33.217,0:12:38.556 Como sempre, eu vou apertar um entre[br]aqui e aí nós vamos analisar o variância 0:12:38.556,0:12:41.892 antes queremos encontrar[br]como que eu acho o valor da variância, 0:12:42.059,0:12:44.996 porque é isso que a gente acabou[br]de explicar aqui. 0:12:44.996,0:12:49.433 E novamente,[br]é mérito você fazer uma pausa, anotar, 0:12:49.533,0:12:52.536 verificar o material[br]que está disponível para vocês, escrito, 0:12:52.703,0:12:55.706 escrito para você[br]depois conseguir executar aqui. 0:12:55.906,0:13:00.945 Então aqui como que eu consigo armazenar[br]o valor da variância 0:13:01.012,0:13:05.816 do tempo[br]do conjunto de dados tempos antes? 0:13:05.916,0:13:09.520 Como que eu consigo pedir[br]para ele achar a variância aqui? 0:13:09.587,0:13:13.624 É simples, depois que você entendeu,[br]o conceito é simples 0:13:13.691,0:13:19.063 você cria uma variável, nesse caso[br]ela de variância antes, onde antes? 0:13:19.130,0:13:21.732 Aqui eu coloca a instrução que é var 0:13:21.732,0:13:25.503 v a r é o nome do conjunto de dados. 0:13:25.569,0:13:26.036 Eu quero dar 0:13:26.036,0:13:29.106 uma olhadinha aqui e dar uma olhadinha[br]já antecipado. 0:13:29.106,0:13:32.943 Podemos não ter problema na variância 0:13:33.010,0:13:36.013 antes não, é só apertar o enter, 0:13:36.113,0:13:40.651 nós conseguimos saber qual que é o valor,[br]o resultado da variância. 0:13:40.718,0:13:41.685 Tá, e aí? 0:13:41.685,0:13:46.924 Agora o desvio padrão desvio padrão,[br]vocês já tem esse conhecimento? 0:13:46.924,0:13:49.226 Como calcular o desvio padrão? 0:13:49.226,0:13:53.531 Vamos criar uma variável desvio padrão[br]antes que nós estamos analisando, 0:13:53.597,0:13:56.567 antes da implementação[br]da melhoria do algoritmo 0:13:56.567,0:14:00.170 e se a instrução é qualquer[br]o conjunto de dados. 0:14:00.271,0:14:04.008 Rafa,[br]podemos visualizar lógico que podemos. 0:14:04.108,0:14:06.911 Qual que é o nome da variável desvio 0:14:06.911,0:14:09.480 padrão antes? 0:14:09.480,0:14:10.681 Legal. 0:14:10.681,0:14:12.917 E aqui nós temos o desvio padrão para esse 0:14:12.917,0:14:16.754 conjunto de valores é 7,03. 0:14:16.820,0:14:20.124 Agora que conseguimos encontrar o valor 0:14:20.190,0:14:21.892 da variância 0:14:21.892,0:14:24.428 e também do desvio padrão, vamos continuar 0:14:24.428,0:14:28.899 para conseguir concluir a análise[br]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:34.705 Retomando essa parte, criamos os dados,[br]criamos a média 0:14:34.705,0:14:38.208 e a mediana do do antes, 0:14:38.275,0:14:40.611 conseguimos achar a moda, 0:14:40.611,0:14:45.883 acabamos de conseguir descobrir[br]a variância e o desvio padrão. 0:14:45.949,0:14:48.485 Agora vamos para essa[br]próxima parte da análise. 0:14:48.485,0:14:51.488 Vou copiar aqui para baixo aqui. 0:14:51.488,0:14:54.958 Como sempre, eu vou apertar alguns pontos 0:14:55.025,0:14:58.295 para facilitar aqui para vocês[br]a visualização. 0:14:58.362,0:15:00.064 Um Vou apertaram Control v. 0:15:00.064,0:15:04.868 Deixa eu arrumar aqui[br]para explicar o que nós vamos fazer agora 0:15:04.935,0:15:08.806 calculando[br]medidas descritivas para o depois. 0:15:08.806,0:15:11.809 Agora fizemos o antes,[br]vamos para o depois. 0:15:11.942,0:15:15.712 Agora nós iremos repetir o script[br]que nós fizemos anteriormente 0:15:15.813,0:15:19.149 para a parte da execução do antes. 0:15:19.283,0:15:20.918 Agora iremos fazer 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 ele não estava[br]com uma performance de algoritmo tão boa, 0:15:28.826,0:15:33.230 então fizeram uma análise[br]extrair os tempos de execução 0:15:33.297,0:15:36.200 antes da implementação da melhoria[br]no algoritmo. 0:15:36.200,0:15:39.536 E aí precisava[br]se agora fazer uma análise do depois. 0:15:39.603,0:15:42.339 Então no depois nós temos a base de dados. 0:15:42.339,0:15:43.607 Como está a performance? 0:15:43.607,0:15:47.911 Dois Depois e agora o R[br]vai verificar o antes e o depois. 0:15:47.911,0:15:52.516 Para fazer esse comparativo[br]e conseguir ter uma análise descritiva, 0:15:52.583,0:15:53.884 fizemos para o antes. 0:15:53.884,0:15:58.222 Vamos fazer a mesma coisa agora[br]para o conjunto de dados do depois vem 0:15:58.222,0:15:59.289 aqui comigo. 0:15:59.289,0:16:04.995 Então, como sempre discutindo aqui,[br]eu deixo um comentário para vocês, 0:16:05.062,0:16:07.998 calculando medidas descritivas para depois 0:16:07.998,0:16:12.002 nós iremos achar a média,[br]a média de quem alpha. 0:16:12.202,0:16:14.137 Lembre se. Agora 0:16:14.137,0:16:19.042 vamos trabalhar com essa base de dados,[br]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:26.083 Nós estamos aqui cria uma variável[br]chamado média depois esse é o nome. 0:16:26.083,0:16:29.386 Esse é o nome da base de dados[br]e vamos também achar os valores. 0:16:29.386,0:16:31.655 O valor da mediana. 0:16:31.655,0:16:35.826 Se eu apertar um entra aqui é sempre legal[br]visualizar o resultado, 0:16:35.826,0:16:39.997 a média depois e o depois. 0:16:39.997,0:16:41.465 Vou apertar o enter. 0:16:41.465,0:16:44.468 Então essa é a média[br]da performance do depois. 0:16:44.634,0:16:48.305 E agora nós vamos achar também[br]o valor da mediana Visualizar. 0:16:48.305,0:16:51.641 Perdão, nós já temos o valor 20 0:16:51.708,0:16:54.378 mediano, não underline. 0:16:54.378,0:16:56.680 Depois vou apertar o então. 0:16:56.680,0:17:02.252 Então essa é a média e essa é a mediana do[br]depois vou subir aqui, 0:17:02.319,0:17:05.689 vamos pegar o nosso script, tá? 0:17:05.756,0:17:08.258 Já fizemos antes, agora 0:17:08.258,0:17:13.730 nós estamos calculando tudo,[br]depois vamos achar agora o valor da moda 0:17:13.830,0:17:14.831 é a mesma coisa 0:17:14.831,0:17:18.602 que nós fizemos do antes,[br]só que agora é a moda para depois. 0:17:18.668,0:17:22.005 Vamos apertar alguns enter[br]para ficar limpa a hora 0:17:22.005,0:17:26.443 que nossa de programação[br]poder entender criar a variável modo 0:17:26.610,0:17:31.848 e logo depois depois as numeric len serve[br]serve para converter os valores 0:17:31.882,0:17:36.620 numérico, por mais que estão ali, mas[br]é bom confirmar que os valores existam. 0:17:36.720,0:17:39.523 São um número, eles estão como número. 0:17:39.523,0:17:44.160 E aqui nós temos a parte da organização[br]dos dados em ordem decrescente. 0:17:44.227,0:17:48.965 E aqui, qual que é o conjunto de dados aí[br]que vai ser feita essa moda? 0:17:49.065,0:17:52.736 O valor da moda, se eu apertar o enter[br]é igualzinho anterior, 0:17:52.836,0:17:56.673 só muda que[br]agora nós estamos fazendo a análise 0:17:56.740,0:18:01.611 para os dados do depois,[br]porque após implementação do algoritmo, 0:18:01.711,0:18:07.817 então a moda para o depois de um valor[br]resultou em um valor de 190. 0:18:07.917,0:18:13.023 Vamos voltar mais um pouquinho aqui[br]de pegar o script que nós deixamos 0:18:13.089,0:18:15.492 a palavra pré pronto e pronto 0:18:15.492,0:18:18.161 e vamos verificar o já geramos a moda 0:18:18.161,0:18:21.831 e agora nós vamos criar,[br]que é a variância, é 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:29.172 e qual o valor do desvio padrão para o[br]depois e de apertar novamente alguns. 0:18:29.239,0:18:30.707 Então 0:18:30.774,0:18:33.643 vou dar um control v se eu só limpar aqui, 0:18:33.643,0:18:37.280 se a gente executar com esse tracinho[br]aqui vai vai ocorrer um erro. 0:18:37.380,0:18:39.682 Então o que nós temos aqui? 0:18:39.682,0:18:41.618 Criamos uma variável chamada variância. 0:18:41.618,0:18:46.823 Depois aqui a instrução 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 enter. 0:18:51.528,0:18:53.630 A gente esperava que dá certo. 0:18:53.630,0:18:57.867 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:04.140 E agora vamos verificar[br]o valor do desvio padrão que foi 0:19:04.207,0:19:05.108 encontrado. 0:19:05.108,0:19:08.745 Desvio padrão[br]depois ou pode ter um errinho aqui? 0:19:08.745,0:19:14.517 Pessoal, cuidado aqui eu visualizei[br]o antes, 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:18.855 Oh, então aqui o print é um erro. 0:19:18.855,0:19:20.824 Não é um erro do script que a gente criou. 0:19:20.824,0:19:24.294 Tais sim, na hora de visualizar o depois. 0:19:24.360,0:19:27.430 Oh, então essa é a variância[br]do que tínhamos feito anteriormente. 0:19:27.430,0:19:29.866 E agora esse erro[br]depois que acabamos de fazer. 0:19:29.866,0:19:30.200 Tá vendo? 0:19:30.200,0:19:31.100 Tomem cuidado, 0:19:31.100,0:19:35.572 senão vocês podem estar a visualizar[br]a informação que você não queria. 0:19:35.672,0:19:36.739 Print. 0:19:36.739,0:19:41.678 Agora vamos verificar o que o valor[br]do desvio padrão do depois. 0:19:41.711,0:19:45.315 Sim, novamente[br]depois ou antes nós já passamos. 0:19:45.381,0:19:46.182 Esse é o valor. 0:19:46.182,0:19:48.751 Então nova aliança do depois. 0:19:48.751,0:19:51.220 É esse o valor do desvio padrão. 0:19:51.220,0:19:52.488 Depois. 0:19:52.488,0:19:55.792 Agora vamos subir aqui[br]e verificar o nosso script 0:19:55.792,0:19:59.028 que nós deixamos pronto aqui. Legal! 0:19:59.128,0:20:01.898 Nós já conseguimos criar, 0:20:01.898,0:20:05.835 vamos lembrar a média mediana, a moda, 0:20:05.902,0:20:11.174 a variância e o desvio padrão[br]para base de dados do antes e do depois. 0:20:11.240,0:20:15.411 Agora podemos dizer que a gente precisa[br]juntar tudo isso 0:20:15.511,0:20:18.815 para visualizar esses valores aqui. 0:20:18.815,0:20:22.285 Na verdade, seria uma impressão[br]de tudo que nós fizemos até agora. 0:20:22.318,0:20:26.089 Só vou apertar alguns em três aqui,[br]mas a última parte 0:20:26.189,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:33.196 Controlo[br]ver o que essa última parte, Rafa, 0:20:33.262,0:20:36.532 imprimindo os resultados aqui[br]vamos trabalhar 0:20:36.532,0:20:40.670 com todas as informações do antes[br]e o depois. 0:20:40.737,0:20:41.337 Vou apertar. 0:20:41.337,0:20:45.708 Então é assim simples de visualizar 0:20:45.775,0:20:49.512 o entender que está na riqueza,[br]entender todas essas informações. 0:20:49.579,0:20:50.646 Então o que nós temos aqui? 0:20:50.646,0:20:54.550 Olha aqui,[br]antes disso, aqui é um texto sempre. 0:20:54.550,0:20:57.720 Eu quero juntar um texto com valores,[br]eu coloco teste, aí 0:20:57.720,0:20:59.055 eu coloco a informação, lembra? 0:20:59.055,0:21:00.723 Divido por vírgula. 0:21:00.723,0:21:04.460 E o nome da variável só aqui,[br]na verdade é uma impressão 0:21:04.460,0:21:07.163 mostrando tudo o que nós fizemos[br]anteriormente. 0:21:07.163,0:21:08.865 Vamos pegar o outro script. 0:21:08.865,0:21:11.601 Poderíamos fazer aqui na mão[br]agora, poderíamos talvez 0:21:11.601,0:21:15.771 demorar só um pouquinho[br]aqui para vocês, pra gente digitar junto 0:21:15.872,0:21:18.374 para digitarmos essas informações. 0:21:18.374,0:21:20.209 Nós apertar mais alguns inteiros. 0:21:20.209,0:21:23.679 Aqui, como sempre, vou apertar muito[br]o que nós temos aqui 0:21:23.679,0:21:27.183 até um momento de uma revisão antes, 0:21:27.250,0:21:30.920 a média antes e esse valor média antes 0:21:31.020,0:21:34.423 e esse valor mediano 0:21:34.490,0:21:36.359 antes mediana antes. 0:21:36.359,0:21:39.328 Então, aqui nós só juntamos uma impressão[br]de tudo o que nós 0:21:39.328,0:21:42.698 projetamos anteriormente e aqui do depois. 0:21:42.765,0:21:46.969 E é agora que fica o que se a gente pegar[br]o nosso TO do nosso script, 0:21:47.036,0:21:48.704 pegamos desde uma introdução. 0:21:48.704,0:21:51.340 O que é uma análise descritiva, 0:21:51.340,0:21:55.544 duas bases de dados[br]com verificamos o antes e o depois, 0:21:55.611,0:22:00.516 calculamos a média mediana,[br]conseguimos nos achar o valor da moda 0:22:00.516,0:22:04.920 também, tanto para os dados do antes[br]como depois 0:22:04.987,0:22:08.290 e enfim, só voltando,[br]descendo um pouquinho aqui, 0:22:08.357,0:22:11.994 agora a gente consegue imprimir[br]e com essas informações 0:22:11.994,0:22:15.998 em mãos nós conseguimos obter os nossos[br]resultados. 0:22:16.065,0:22:19.468 Então aqui é o conjunto 0:22:19.568,0:22:20.669 mostrando o resultado. 0:22:20.669,0:22:22.471 Todas as informações numa impressão 0:22:22.471,0:22:26.175 só, tudo o que calculamos antes,[br]tudo que calculamos o depois. 0:22:26.242,0:22:28.411 E agora que você consegue fazer[br]a interpretação, 0:22:28.411,0:22:33.482 vamos pegar o mais simples[br]aqui a média de tempo de execução 0:22:33.582,0:22:36.919 do antes antes de implementar[br]a melhoria no algoritmo. 0:22:37.019,0:22:37.720 O tempo de execução. 0:22:37.720,0:22:41.891 Supondo que fossem segundos,[br]demorava 218/2. 0:22:41.957,0:22:44.760 Agora caiu para 196 e por aí vai. 0:22:44.760,0:22:50.432 Você consegue comparar o antes[br]e o depois de cada uma dessas informações 0:22:50.499,0:22:53.169 para saber se realmente 0:22:53.169,0:22:56.138 melhorou a performance do sistema 0:22:56.138,0:22:59.508 após a implementação[br]da melhoria do algoritmo? 0:22:59.608,0:23:01.210 Eu tenho certeza que vocês conseguiram 0:23:01.210,0:23:04.980 entender a importância de saber[br]utilizar todas essas instruções, 0:23:05.014,0:23:09.018 a linguagem R e até mesmo saber[br]interpretar esses resultados e.