0:00:00: muito boa noite como vocês estão nesta maravilhosa noite em que a gente o cara

0:00:14: que faz a live só coloca uma blusa por cima do pijama e vem aqui fazer a live

0:00:20: de data science me diga por favor se tá tudo certo aí com o som é está dando

0:00:28: o jeito se o vídeo tá certinho aí como sempre aqui embaixo o curso de data

0:00:34: science você tá procurando um curso de data science deu uma olhada lá no curso

0:00:39: data science.com onde eu te ensino a ir do da ideia até o deploy boa noite João

0:00:46: Vitor já que não começou ainda poderia ajudar na pesquisa do meu tcc como que

0:00:51: nós podemos te ajudar na pesquisa do seu tcc João Vitor diga aí para nós é

0:00:56: bom deixa eu ver já quem está por aqui vou botar aqui o banner a cadê a tela

0:01:03: legal como você sabe a gente começa os 20 e 05 para dar tempo de todo mundo

0:01:08: chegar é me diga uma coisa tem alguém novo alguém que nunca assistiu live aqui

0:01:16: hoje com a gente diga aí coloque aí no chat é e é isso aí deixa eu ver aqui

0:01:23: quem já está por aqui João Vitor Moisés é Felipe Rogério Carini Jonathan

0:01:33: Mateus Braga Felipe João Vitor de novo Carlos legal sua imagem então ok

0:01:43: William Ricardo boa noite Rodrigo Cláudio João Vitor Fabiano Rogério Mateus

0:01:54: e esse negócio corre aqui eu perco todos os comentários William boa noite Lucas

0:02:00: caramba esse negócio tá correndo para caramba hoje é legal deixa eu ver aqui

0:02:08: já temos perguntas do William Mário me quebra uma árvore aí por favor preciso

0:02:12: que mistura string inteiro em um mesmo def me sugeriram usar o feature e o

0:02:17: nion e colo transformar tem alguma dica olha qual o transforma é bom para fazer

0:02:25: isso sim bota aí o colo colo transforma é não tem problema nenhum tem também a

0:02:32: função h stack hs t a ck do não pai do sai pai que você pode usar para fazer

0:02:40: o que eu normalmente uso mas certamente é mais fácil fazer com feature e união

0:02:45: com colo transforma primeira live do Mateus massa vamos todos dar boas

0:02:50: vindas muito obrigado Mateus aí por estar aqui na live aqui é um espaço

0:02:54: onde a gente vem para aprender eu para aprender com vocês vocês para aprender

0:02:58: comigo e todo mundo aprende junto boa noite Wellington é Tiago comprei o curso

0:03:04: estou gostando bem prático muito obrigado Tiago muito obrigado mesmo

0:03:07: muito contente que você esteja gostando e quero ver teu projeto em nada de só

0:03:12: assistir aula não quero ver projeto saindo também é isso aí boa noite

0:03:18: Sydney deixa eu ver uma outra pergunta maria da rolar live para as métricas

0:03:23: todas essas aí sua correta aplicação eu pretendo fazer sim talvez seja a

0:03:29: próxima né que essa segunda lá sobre feature selection vai ser a última live

0:03:33: pelo menos por enquanto sobre feature selection provavelmente a próxima vai

0:03:37: ser sobre métricas né talvez uma sobre métricas de classificação outras sobre

0:03:43: métricas de regressão mas como como todas as láis provavelmente vou colocar

0:03:49: mais conteúdo do que dá tempo de fazer mas vai ter sim vai ter essa live sim

0:03:55: é Felipe Mário vale a pena começar a pegar seu curso mesmo com background

0:04:01: mínimo dando suficiente matemática meu curso em termos de matemática se você

0:04:07: adicionar dividir é multiplicar e aliás esqueci novamente de colocar aqui no

0:04:15: silêncio né vamos colocar no silêncio aqui é você consegue fazer porque é um

0:04:21: curso de código o que você precisa saber é mexer com não pai mexer com

0:04:25: pandas e mexer com um básico do site e saber o que tem um split de validação

0:04:30: das coisas mais básicas tá é mas em termos de matemática assim se você

0:04:37: souber aritmética né básica um pouquinho de equação souber programar

0:04:41: em python eu acredito que não tenha não tenha dificuldade de qualquer maneira

0:04:45: tenho sete dias lá sete dias de avaliação você compra o curso se você

0:04:49: não gostar só mandar um e-mail Mário não tô pronto devolve meu dinheiro eu

0:04:55: vou fazer sem problema nenhum é vamos lá então ricardo só primeira vez também

0:05:00: muito legal muito bem vindo aqui é estamos quase na horas 20 e 05 né é boa

0:05:08: noite poderia falar sobre feature target não estou conseguindo entender o conceito

0:05:13: basicamente feature é o x é o que você vai colocar imagine que seja uma caixa o

0:05:19: teu modelo de machine learning o x é o que você coloca dentro da caixa e o y é

0:05:24: o que você quer que ele preveja o que você quer que saia da caixa né então por

0:05:29: exemplo x pode ser a altura e idade e o y pode ser você prever se a pessoa é

0:05:40: dei um exemplo horrível eu vou pensar em outro exemplo é o x pode ser a

0:05:48: temperatura de ontem é pode ser a umidade do ar e o ipson pode ser a

0:05:52: temperatura de amanhã por exemplo tá então x é o que você as informações

0:05:57: que você tem para colocar no modelo hoje para que ele te dê uma previsão que no

0:06:02: caso é o teu alvo é o teu ipson que é aquilo que você não sabe tá um pouco

0:06:06: mais complexo do que isso inclusive no manual de data size na parte do capítulo

0:06:10: 3 de modelagem eu vou mais em detalhes sobre isso também legal pessoal vamos

0:06:15: começar então depois eu vejo vocês recolocam aí as perguntas por favor que

0:06:21: eu respondo tá é e vamos começar aqui o tema da live deixa eu tirar tudo aqui da

0:06:28: frente então vamos lá que nós vamos fazer hoje aqui é eu vou usar o mesmo

0:06:33: data set da semana passada porque o importante a gente aprender os métodos e

0:06:37: na semana passada se postava por aqui a gente usou um filtro simples a gente usa

0:06:42: uma técnica que basicamente via as correlações entre as nossas features

0:06:47: com o nosso alvo e selecionava as variáveis que fossem mais significativas

0:06:54: tivesse uma correlação mais significativa com o nosso alvo tá aí

0:06:59: depois treinava o modelo então só para gente recapitular que uma semana é muito

0:07:03: tempo é aqui a gente está usando um data set que é tem várias variáveis de uma

0:07:10: obra e a gente quer prever quanto que vai valer cada unidade quanto vai custar

0:07:16: o final da obra quanto vai ter custado para construir e quanto vai ser o preço

0:07:20: de venda de cada unidade imagina lá você trabalha numa construtora que espero eu

0:07:26: não seja uma da Lava Jato né se não provavelmente daqui a pouco você tá

0:07:29: desempregado mas enfim você trabalha lá numa construtora e a pessoa quer saber

0:07:33: tá do jeito que essa obra tá indo quanto que vai custar no fim qual o

0:07:38: orçamento que a gente tem que ter para essa obra para terminar e por quanto a

0:07:42: gente vai esperar vender dado aí o mercado taxa de juros economia todos

0:07:48: esses negócios e aí você faz a previsão com o modelo de machine learning tá não

0:07:53: vou entrar muito no detalhe mais uma vez a gente tá aqui para ver a questão de

0:07:57: feature selection então a gente lê os arquivos do excel é tira aquelas

0:08:03: variáveis a variável V9 a V10 aqui são as variáveis que a gente quer prever que

0:08:08: são o custo final e o preço final de venda da unidade do apartamento qualquer

0:08:14: coisa desse tipo é só que nesse caso a gente só vai prever o V9 que é o valor

0:08:19: de venda tá a gente não vai prever o V10 novamente só para simplificar tá

0:08:26: então tá dividir aqui aquele split simples simples 50% para cada lado é mais

0:08:32: uma vez esse split deveria ser split por tempo mas para simplificar estou

0:08:38: fazendo esse split simples para a gente poder focar na parte de features tá então

0:08:43: vamos a primeira coisa que eu quero saber é o que a gente vai fazer hoje a gente

0:08:48: vai usar um modelo de machine learning como filtro das features tá então em

0:08:53: vez da gente usar a função de correlação a gente vai treinar um modelo

0:08:57: e baseado em alguma característica desse modelo a gente vai selecionar as

0:09:02: features mais importantes para poder usar talvez num outro modelo você não

0:09:06: vai necessariamente usar o mesmo modelo que você usou para selecionar as

0:09:10: features para você treinar no final tá então a primeira coisa que eu vou fazer

0:09:15: é importar algumas algumas bibliotecas aqui e eu coloquei esse comentário aqui

0:09:20: aliás eu preciso dar mais um aqui acho que é bom né dar mais um aqui desse

0:09:27: tamanho fica melhor é sim rodrigo essa é uma boa pergunta eu vou deixar o start

0:09:32: de junir que na última eu falei que talvez a gente não deve talvez não a gente

0:09:36: não deve deixar ele deve transformar porque são variáveis não estacionares

0:09:42: então por exemplo se eu tiver até o ano 2010 quando eu tentar prever 2011 meu

0:09:47: modelo não vai saber do que eu tô falando né se eu só treinei até 2010

0:09:51: então a gente seria remover ou transformar mas nesse caso eu deixei porque eu vou

0:09:55: conseguir explicar um conceito que pode ser usado com qualquer outra variável

0:09:59: tá então a gente vai ver de novo que vai entrar esse tipo de variável no

0:10:04: modelo mas é uma boa pergunta então é aqui eu coloquei da última vez nós

0:10:11: descobrimos com aquele método que usando uma random forest a gente

0:10:15: selecionava as 30 features mais importantes e a gente tinha um erro médio

0:10:21: absoluto de 104.53 basicamente tá então a primeira coisa que eu quero saber é

0:10:27: quem acha que usando um modelo de machine learning em vez de uma correlação

0:10:31: simples a gente vai bater esse erro ou a gente não vai conseguir bater seu coloca

0:10:37: aí no comentário enquanto eu vou explicando aqui e criando o código então

0:10:42: basicamente o método que eu vou te ensinar hoje bate esse erro ou não bate

0:10:46: esse erro e para te falar a verdade eu não sei tá porque eu não estava usando a

0:10:53: mesma random seed aqui para separar não estava usando os mesmos dados de treino

0:10:56: de correlação então eu não sei realmente se vai bater nesse split aqui

0:11:01: mas diga aí o que você acha tá a primeira coisa para fazer essa essa

0:11:07: seleção é a e para quem quiser acessar tá aqui no deixa eu colocar aqui um

0:11:13: letreirinho rápido sobre com endereço da onde está esse notebook para você

0:11:21: começar então bit.ly barra barra mario live 28 é e também tá aqui em cima né

0:11:28: no título para você poder acessar até colocar aqui no

0:11:34: o no chat né para você poder acessar é o jodatã já tá bem no esquema da live

0:11:43: né não tem como saber só faltando escrever tem que testar né ele fez o curso

0:11:48: ele aprendeu em todas as vezes que sempre que eu falo tem que testar né

0:11:53: é mas vamos lá então ver isso aqui deixa eu remover esse banner daqui e daqui a

0:11:58: pouco eu volto para os comentários então from escaler e feature selection

0:12:05: dessa vez nós vamos importar a bíblia a função não módulo módulo não o objeto

0:12:13: select from model e select from model é basicamente a única função que a gente

0:12:20: vai precisar tirando lógico o nosso modelo né vou importar das métricas

0:12:25: então para o escalar né o métrico importe é absoluta era legal e aí eu

0:12:35: vou importar alguns modelos você tiver um modelo que você quiser sugerir que

0:12:39: não vale muito para rodar você fala mas eu vou importar alguns modelos lineares

0:12:45: para a gente tentar fazer a seleção com eles então vou importar regressão

0:12:49: linear simples vou importar regressão linear com regularização l2 tá para quem

0:12:56: não sabe ele coloca uma punição quadrada né nos peso ele não deixa o peso

0:13:01: crescer muito só que ele pune assim ele calcula o quadrado do peso para calcular

0:13:08: a punição e eu vou importar o laço né que na verdade ele faz uma punição com

0:13:14: valor absoluto né tem as curvinhas tal é uma parte importante mas se eu for

0:13:20: explicar que eu preciso uma live inteira então lá também para importar nossa

0:13:25: querida sempre presente random forest então random forest regressor é vamos lá

0:13:33: E aí e que a gente vai fazer aqui então é a primeira coisa que eu vou fazer é

0:13:40: criar o selector então aliás selector model então eu vou colocar aqui vamos

0:13:46: começar com uma regressão linear simples né para aqui nós temos as

0:13:51: variáveis cada uma numa escala então a gente precisaria normalizar a gente

0:13:55: precisaria subtrair a média e dividir pelo desvio padrão mas o site já faz

0:14:00: isso para a gente se a gente colocar aqui o argumento normalize igual true tá

0:14:06: aí já vai fazer isso para não ter que puxar mais um objeto que seria o scalar

0:14:11: para a gente fazer e aí é muito simples eu usar esse modelo eu chamo o nosso

0:14:17: objeto select from model eu passo o modelo aqui no primeiro argumento

0:14:24: depois eu posso passar duas coisas eu posso passar um ponto de corte para ele

0:14:29: fazer as features que estão acima de um ponto de corte então no caso da

0:14:32: regressão linear ele vai falar todas as features que tem um coeficiente

0:14:37: provavelmente coeficiente absoluta eu não quero falar exatamente isso porque eu

0:14:41: preciso verificar na documentação mas tem um coeficiente maior do que é a

0:14:47: magnitude né do coeficiente seja maior do que um determinado ponto eu

0:14:51: particularmente é gosto mais selecionar por número de features tá então eu quero

0:14:56: colocar sei lá 10 features mais importantes mesmo que os coeficientes

0:15:00: não sejam tão grandes então eu vou usar um argumento aqui chamado max features

0:15:06: vou colocar aqui o número sei lá 10 tira aí da minha cabeça é e tem um

0:15:15: truquezinho para que ele desconsidere o ponto de corte não adianta você só

0:15:20: especificar o número de features você quer você tem que colocar o threshold

0:15:24: threshold igual a menos infinito tá então você tem que falar para ele o

0:15:31: seguinte qualquer coeficiente ou importância ou seja lá o que for que

0:15:35: ele esteja olhando dentro do modelo precisa estar acima de menos infinito para

0:15:41: você considerar no modelo tá se você não colocar threshold aqui você pode

0:15:46: colocar aqui max features igual a um milhão que ele se não passar do

0:15:50: threshold ele não vai colocar não vai selecionar tá eu sei porque eu passei um

0:15:56: tempo olhando falar ué porque que eu peço 10 features ele só manda duas

0:16:01: toda hora e eu fui ler a documentação que é uma coisa que eu recomendo que

0:16:04: todo mundo faça ler a documentação e tinha lá que eu precisava colocar o

0:16:09: threshold como menos np.info que quer dizer menos infinito tá é beleza então

0:16:18: o nosso seletor e aí a gente novamente tem que passar esse seletor né a gente

0:16:25: tem que treinar esse modelo a gente tem que selecionar treino o modelo pega os

0:16:31: coeficientes seleciona as maiores variáveis tá as variáveis com os maiores

0:16:36: coeficientes tá deixa eu ver aqui que eu perdi a minha janela pronto daqui então

0:16:42: deixa aqui x trem 2 igual selector ponto fit transforma é x trem e o trem porque

0:16:55: ele vai precisar saber o ipso né quando a gente está selecionando variáveis com

0:17:00: esses métodos que usam o alvo a gente passar o ipso e só para recapitular o

0:17:06: fit nesse caso ele vai treinar regressão linear e ele vai criar lá

0:17:12: internamente uma tabela com os coeficientes para ele saber qual é de

0:17:17: acordo com o threshold quantos quantas features ele tem que pegar tá é e o

0:17:22: transform ele já vai fazer essa transformação para a gente aliás vou

0:17:26: fazer uma coisa diferente aqui vou fazer um fit e o transform separadamente só

0:17:30: para a gente ter uma coisa diferente talvez ficar mais claro para quem está

0:17:34: começando então primeiro eu faço o fit aqui ele vai treinar o modelo tudo mais

0:17:39: coeficientes e aqui selector ponto transform x trem e aí a gente não precisa

0:17:45: passar o ipso trem eu me lembro bem né só falta ele dá erro é aí eu vou fazer a

0:17:53: mesma coisa com x val selector ponto transform x val tá queria que x trem 2

0:18:00: qual é a diferença desse desses dados vou fazer o print aqui só para quem já

0:18:07: tem um pouco mais experiência só tem um pouquinho de paciência

0:18:11: a gente já vai a parte mais avançada mas eu vou fazer um print aqui que é o

0:18:17: seguinte x trem ponto shape e x trem 2 ponto shape só para gente ver o x trem

0:18:24: ponto shape é 105 107 fit e aí o x trem 2 que depois a gente fez a

0:18:30: transformação vai ter 10 features tá que são as 10 mais mais que ele tem aqui e

0:18:37: como você já sabe da outra lá e se a gente usar selector ponto get support ele

0:18:43: nos dá essa máscara que a gente pode usar com a função com o método colons

0:18:51: aqui do nosso data set para obter quais são as colunas que ele selecionou tá

0:18:56: então nesse caso ele está selecionando start here start quarter completion

0:18:59: e etc e tal nesse momento não importa muito para a gente é o nome da fita porque

0:19:06: a gente vai pegar isso aqui é bom tá e aí que chega a parte interessante não é

0:19:12: porque eu tô selecionando como a regressão linear que eu preciso é

0:19:17: treinar uma regressão linear no final dito isso não é assim ou as features as

0:19:25: melhores features dentro de uma regressão linear não vão ser

0:19:28: necessariamente as melhores features para uma rainforest tá assim como as

0:19:32: melhores features para uma rainforest as melhores features para qualquer modelo

0:19:35: está mudando então não é porque essas são as melhores nesse modelo que elas

0:19:41: vão ser melhor as melhores para qualquer modelo tá é para você saber quais são

0:19:46: as features melhores para um modelo específico é só testando com aquele

0:19:51: modelo específico mesmo tá e aqui eu vou colocar a nossa random forest só porque

0:19:56: a gente já está acostumado e você sabe que é o modelo do dia preguiçoso dia que

0:20:02: é punar muita coisa tal você cria uma random forest bota um monte de árvores e

0:20:08: você já vai ter um modelo muito bom é deixa eu ver se é só isso que eu preciso

0:20:14: colocar até preciso colocar também o end jobs igual menos um para ele rodar em

0:20:19: paralelo e coisa básica fit é e predict então vamos fazer o fit no xtrem2

0:20:26: e o som trem som não mudou nesse caso é e e igual mdl.predict e aí xval 2 né

0:20:38: que ele vai ter só as 10 colunas deixa eu copiar que a parte dos erros eu tinha

0:20:44: colocado o erro a mais o rm e c mas eu vou tirar então tira esse aqui este esse

0:20:52: aqui talvez depois eu coloque mais só tinha colocado fazer um teste né e se cá

0:20:58: eu vou mudar aqui o número de features então vamos colocar que cai igual a 10

0:21:03: porque como você sabe eu vou fazer um loop depois para gente descobrir qual é

0:21:07: o número exato exato não não qual é o número é um número estável de features

0:21:14: que a gente consegue é ter no modelo e ele melhorar tá qual é o melhor número

0:21:21: que a gente tem que selecionar e eu vou aí por roda isso aqui aí eu vou aí para

0:21:24: ver as perguntas tá tão com cai igual a 10 nós temos um erro de 666 é aquele

0:21:33: número perigoso né aquele número lá enfim é eu quis rodar isso aqui com a

0:21:40: regressão linear justamente para te mostrar uma coisa é agora que a gente já

0:21:44: tem um código eu vou colocá-lo dentro de um 4k range 2 até o número total de

0:21:54: features então x train shape 1 é o número total de coluna 107 de duas em

0:21:59: duas então quer dizer ele vai ter essas duas colunas quatro colunas seis colunas

0:22:03: sempre selecionando as duas melhores quatro melhores seis melhores tudo mais

0:22:08: exatamente igual a gente fez da última vez vou jogar aqui para frente que a

0:22:14: nossa lista cá versus score olha a gente vai armazenar qual foi o score num

0:22:22: determinado cá tá num determinado número de features então que apende

0:22:27: um score legal e ele vai fazer o print aqui vou rodar e vou aí responder

0:22:33: as perguntas é deixa eu ver aqui porque eu pedi para sugerir modelos eu esqueci

0:22:40: de ver quais são os modelos sugeridos então vamos lá é se não bater o erro

0:22:46: não faz sentido usar machine learning tem gente que acha que o machine learning

0:22:50: vai bater é vai depender do modelo jose angelo acha que se colocar um laço é

0:22:55: não vai bater mas o random forest vai bater eu tô vendo aqui eu não fiz

0:23:01: nada errado nesse código não fiz não é legal rodar até achar semente é tem é

0:23:11: deixa esse método só para modelos que estimam parâmetros e sim porque não

0:23:15: usou mlp regressor sbr eu não vou colocar pergunta aqui na tela só para

0:23:21: deixar rodando ali para todo mundo ver mas o mlp regressor eu não sei se ele

0:23:28: vai fazer o método que a gente precisa de coeficiente e tudo mais que o mlp

0:23:33: regressor é uma rede neural para regressão né eu acho que pelo saque

0:23:37: trâner não dá para gente selecionar features com ele tá e o sbr que seria um

0:23:42: o sbm para regressão é que é um outro modelo em tese vai ser melhor né do que

0:23:48: esses é eu não coloquei porque geralmente ele demora para rodar mas é

0:23:52: que a gente pode testar é legal é isaac por favor depois refaz a pergunta de novo

0:24:01: 30 s split que eu respondo no final é não rogéria não vou abordar pca e não

0:24:08: negative matrix é eu falei um pouco sobre isso na primeira live do que eu

0:24:12: geralmente não costumo usar isso para fazer feature selection tá então é eu

0:24:16: estou abordando é paulo que massa tal mario para classificação onde você

0:24:22: transforma as variáveis categóricas em binárias com get transfer seleção de

0:24:26: features após essa transformação ravi essa ou ravi novamente é se eu tiver

0:24:33: errando o nome se por favor diga aí é normalmente eu faço exatamente esse

0:24:39: método que você tá vendo para selecionar features quando eu quero

0:24:42: fazer variáveis binárias variáveis damis variáveis com on hot encode tá é

0:24:49: eu fiz isso numa competição que eu ganhei deu certo então provavelmente o método

0:24:53: é bom e eu vi nos papers do facebook que é o que eles usam para fazer seleção

0:24:59: de variáveis quando eles testaram sei lá 10 mil variáveis eles precisam colocar

0:25:03: mil variáveis só no modelo eles usam exatamente essa ideia só que com um

0:25:08: modelo mais avançado com será um grade e bus que alguma coisa assim para

0:25:12: fazer o número de features tá então sim eu usaria este método aqui para tentar

0:25:18: reduzir o valor é o número de colunas no caso do on hot encode tá é legal

0:25:27: e que eu fiz de errado aqui

0:25:31: tá num data set classificação compensa fazer com o modelo baseline usar logístico

0:25:37: sim com certeza em um case real geralmente quantos testes e mestras faz

0:25:43: para chegar no melhor cenário conforme a experiência chega esse número de

0:25:46: testes diminuir eu diria o seguinte eu sempre tento fazer o máximo de testes

0:25:52: que eu consigo a diferença que você ranqueia diferente as suas ideias tá

0:25:58: você coloca ideias que você sabe que tende a funcionar melhor para testar

0:26:02: primeiro tá então o que muda não é necessariamente o número de testes que

0:26:06: você vai fazer logicamente por essa lógica você acaba podendo fazer menos

0:26:11: teste mas assim se eu tiver 100 testes de uma pessoa menos experiente tivesse

0:26:16: 100 testes para fazer é 100 10 que puder testar provavelmente o meu ganho vai ser

0:26:23: em termos de saber ordenar melhor quais ideias testar primeiro tá isso pode

0:26:27: acabar por em razões trazendo uma solução melhor tá

0:26:31: é legal deixa eu ver aqui o seguinte é braga ati

0:26:38: é a atenção é que tem esses dois formatos que a gente pode fazer nesse

0:26:43: string format aqui com nós é vamos voltar aqui para o score que acontece

0:26:52: vocês veem que o score tá horrível 600 e pouco né só que no final caiu para 110

0:26:57: porque isso acontece é uma coisa muito comum quando a gente tem poucos dados

0:27:02: aqui a gente tem 300 e poucas linhas e a gente usa uma regressão linear sem

0:27:07: regularização né é porque ela joga os coeficientes lá para longe para não

0:27:16: falar um palavrão é então elas ela deixa coeficiente muito grande né o que

0:27:21: acontece se eu simplesmente mudar selector model aqui a rid que seria a

0:27:28: regressão linear é só que com o coeficiente de regularização então

0:27:33: aquele que é chamado alfa é o alfa é que por padrão é um ponto zero mas eu

0:27:39: vou colocar aqui só para a gente lembrar que ele existe você vai ver como isso já

0:27:44: vai reduzir então aqui a gente tinha por exemplo o mínimo que ele achou de de

0:27:50: fazer features aqui foi com 102 features então praticamente não eliminou nada

0:27:55: né 110 é nem bateu a nossa baseline com a correlação simples tá é vamos ver

0:28:01: aqui então com o read se isso aqui melhora eu não vou deixar rodar muito

0:28:07: também só para a gente poder ver rapidamente mas você vê que melhorou um

0:28:11: pouquinho tá bom tá bom ainda com esse coeficiente tá com os números muito

0:28:17: bons aqui ó 12 features com 352 né a última gente 30 features com 105 de erro

0:28:24: mas olha que legal com 18 features ele achou um erro de 105.41 né deixa eu ver

0:28:32: quanto que era antes 104.52 então não não bateu ainda mas você vê que já

0:28:39: estabilizou um pouco melhor né ele já tá dando provavelmente os coeficientes

0:28:44: melhor mais sentido se a gente olhasse os coeficientes daquela regressão linear

0:28:48: que eu tava fazendo antes é você a ver que eles estão são coeficientes na casa

0:28:54: dos trilhões você vê que é 1.10 a menos 12 ou os coeficientes que ele cria tá

0:29:00: então por isso que é importante não só para generalizar o modelo do mais mas é

0:29:05: importante ter regularização uma coisa que a gente poderia fazer aqui se

0:29:09: a gente realmente usar é o read seria aumentar esse coeficiente então parei

0:29:16: aqui é o loop se eu colocar aqui e não sai que tchern aliás é o contrário quanto

0:29:22: maior o teu alfa menor a tua regularização tá então deixa eu diminuir

0:29:27: quer dizer se eu diminuir o alfa ele faz um inverso do alfa então vai aplicar 1

0:29:32: sobre 0.1 de coeficiente de regularização ele vai tá aumentando a

0:29:37: qualidade sobre os pesos ele vai tá tentando deixar os pesos crescendo menos

0:29:41: tá é bom ver aqui o primeiro é horrível do mesmo jeito 652 492

0:29:49: vamos ver se com 18 né que ele tinha selecionado chegado a 105

0:29:55: deixa eu ver se não esqueci nenhum comentário na tela não esqueci muito bom

0:30:00: ele tá evoluindo e veja só temos um aqui que é sem 14 features chegou a 100

0:30:07: então quer dizer mas por enquanto estamos batendo o score e mais uma vez

0:30:14: eu não não selecionaria esse cai igual a 14 aqui que deu 100 porque eu

0:30:19: selecionaria provavelmente 16 18 talvez até o 20 aqui porque como eu te falei

0:30:25: uma vez eu não quero necessariamente o menor score mas eu quero uma região

0:30:31: estável tá é eu daqui a pouco hora que a gente terminar essa parte eu vou fazer um

0:30:39: gráfico para a gente ver qual é a região qual é o número o cá e tem uma região

0:30:45: que esteja estável porque eu não gosto do cai igual a 14 porque duas features que

0:30:50: ele reduziu 355 para 100 então quer dizer ele fez um uma queda muito brusca eu não

0:30:56: quero um modelo tão estável que tirando uma feature ele possa completamente perder

0:31:03: ali a performance dele tá então por isso que eu não selecionaria exatamente o

0:31:08: número aqui que foi que deu menos features então nesse momento a gente tem

0:31:12: aqui um resultado cai igual a 14 é aí ele vai aumentando não tá diminuindo mais

0:31:18: vamos dar outro stop aqui se eu tiver indo muito rápido você me fala aí no

0:31:23: chat outra coisa que vale a pena testar o laço geralmente o laço ele já é

0:31:29: considerado um modelo que faz uma seleção de features porque na live que

0:31:33: a gente vai sobre regularização vou te explicar que ele tende a jogar os

0:31:37: coeficientes para zero tá tão coeficiente que não é importante em vez

0:31:41: dele ter lá o coeficiente 0.0002 ele vai jogar esse coeficiente para zero muito

0:31:47: mais forte do que uma regularização da rede uma regularização quadrada tá por

0:31:54: isso ele já seria mais adequado vamos dizer para para fazer feature selection

0:32:00: mas vamos ver né na teoria na prática teoria é outra como disse então vamos ver

0:32:05: se aquele bate mesmo então começando alfa por padrão é um vamos ver se ele

0:32:10: bate é esse número que a gente tinha de 100 com 14 né colocar aqui ó 14

0:32:17: o mai era mais ou menos 100.50 seu e olha só já tá batendo com seis features

0:32:27: seis features ele bateu um erro de 96 então nesse caso o laço vai ser sempre

0:32:35: o melhor não vai mas porque eu tô fazendo só que passo a passo para você

0:32:39: ver que é teste não adianta eu chegar aqui falar tal coisa vai ser melhor do

0:32:44: que não vai tá tem que testar mesmo e você tá vendo exatamente como eu faço em

0:32:50: qualquer projeto vou testando uma coisa comenta testando outro comenta

0:32:55: normalmente eu anoto também os resultados né exatamente igual eu fiz

0:32:59: aqui coloca um comentário mas por enquanto então o cai gostei novamente eu

0:33:04: não gosto assim em produção de colocar um modelo que tenha caído tão

0:33:08: exatamente assim dos 600 para 96 então provavelmente em produção eu iria ali

0:33:14: para esse oito né pegar umas features a mais mas aqui eu vou colocar cá igual a

0:33:20: 6 a igual a 6 mais igual 96 e você já deve estar se perguntando quais são essas

0:33:29: features mágicas que possuem todo o valor preditivo desse data set eu também

0:33:35: daqui a pouco a gente vai ver uma coisa eu quero testar antes de mudar de modelo

0:33:41: aqui é o seguinte se eu reduzir isso aqui para 0.1 melhor ou pior eu ia

0:33:47: perguntar mas até eu perguntar eu não aguento esperar vamos colocar aqui

0:33:52: direto não se preocupe com esses avisos de que não tá dando para convergir

0:33:58: normalmente eles não são não são nem nada que você precisa se preocupar e

0:34:03: a gente tá tendo aqui cai igual a 10 cai igual a 1299 então parece que mais

0:34:08: regularização não tá resolvendo é não tá dando uma solução melhor para a gente

0:34:14: tá né ele não vai não vai reduzir não normalmente é uma região só que ele acaba

0:34:19: achando que tem um mínimo e se eu aumentar o alfa ou seja reduzir a

0:34:25: regularização vamos ver o que acontece eu vejo não tá indo muito rápido é

0:34:35: o Lucas Mário não seria quanto maior o alfa maior a regularização então eu vou

0:34:43: até abrir a regularização a documentação aqui porque a não ser que eles

0:34:47: mudaram tá é normalmente era o contrário eles usavam o inverso do alfa

0:34:54: regularização deixa eles mudaram cadê alfa constante papapá equivale entre

0:35:01: ordinaria e tá aqui é direto então vamos lá por isso que eu não queria dar

0:35:07: certeza sobre isso antes regularizações trent alfa corresponds to one over to

0:35:17: a larga velho específico stronger regularizante tão muito importante

0:35:25: e agora fiquei curioso de ver a regressão logística a regressão

0:35:32: logística aqui eu tenho certeza não tirei da minha cabeça tá então vamos lá

0:35:39: na regressão logística ou seja classificação ele é o inverso tá ele é

0:35:44: o inverso da da regularização então aqui no no read e no laço que a gente tá

0:35:54: usando ele é direto então realmente como o lucas comentou aí os lucas

0:35:59: comentaram é

0:36:03: ele quanto maior o alfa nesse caso no site que lerni maior vai ser regular a

0:36:09: mais é mais punição ele vai dar para os pesos tá isso é meio confuso porque eu

0:36:16: não sei porque eles fazem alguns sendo o inverso outro sendo é direto mas parece

0:36:22: que nesses modelos de regressão é é direto ou a regularização tá deixa só

0:36:28: conferir de novo aqui no laço para não te ensinar coisa errada então constante

0:36:33: explica o termo ele tá exatamente exatamente isso então então quer dizer

0:36:40: que aqui quando eu reduzi o alfa então eu reduzi a regularização não aumentei

0:36:46: tá me desculpem eu tinha confundido com a regressão logística e aqui no caso do

0:36:51: laço estou aumentando a regularização agora mas parece que ele achou uma uma

0:36:55: ótima local ali já que aqui caiu para 94 né mais uma vez caiu de uma vez assim

0:37:03: eu gosto mas aqui a gente tá só vendo qual que é o melhor dos melhores e então

0:37:08: vamos lá vou colocar aqui 94.78 tá legal então só mais uma vez para ter certeza

0:37:18: lá para a regressão no site learn o alfa é diretamente proporcional ao

0:37:25: coeficiente da regularização então se aumentou é mais regularização se

0:37:30: aumentou ou menos para regressão logística ou seja para classificação é

0:37:34: o inverso então quanto mais você colocar de ser no caso lá uma menor vai ser a

0:37:40: tua regularização tá legal então vou manter esse laço aqui vou fazer o gráfico

0:37:46: que eu falei só para te mostrar como ele forma um cotovelo ali é na hora de

0:37:53: selecionar o número ideal de variáveis tá e aquele formou um cotovelo que

0:37:59: normalmente não dá para ver o resto né porque ele vai do 800 é para baixo mas

0:38:05: basicamente isso aqui é o que você deve esperar ver é na maioria dos casos deixa

0:38:09: até mudar aqui começar no 4 que fica mais fácil da gente ver como é que é o

0:38:16: formato então normalmente esse gráfico vai ser parecido com esse no sentido ele

0:38:21: vai começar lá no alto vai dar aquela queda que a gente tá vendo e aí ele vai

0:38:27: começar a achar uma uma mínima ali e vai começar a subir de novo tá e

0:38:32: geralmente você quer ver uma região que esteja estável nesse caso por exemplo

0:38:37: o primeiro score que a gente tá vendo aqui é mais ou menos 95 eu sei que não

0:38:42: dá para ver eu tentei mudar da última vez não consegui mudar aqui eu sei que

0:38:46: aqui no nas configurações que muda para o fundo claro mas eu ainda não é durante

0:38:52: o dia difícil achar essas coisas então ele ele começa aqui com 4 mas ó porque

0:39:00: eu não gosto dessa região das quatro features porque a região que tá ali

0:39:06: depois é muito mais estável essa regiãozinho aqui que eu tô passando o mouse ali

0:39:10: perto de 100 tá muito mais estável não é não vale de repente né se vê que ele

0:39:18: não é no gráfico por isso num modelo de produção eu prefiro usar esses essas

0:39:25: regiões mais estáveis do que confiar muito em um ponto só da minha seleção

0:39:30: tá legal só para completar eu vou testar mais um modelo aqui que a reino

0:39:37: forest eu já passo para um outro conceito que a gente pode usar aqui então

0:39:42: a gente usa uma reino forest para selecionar e para a reino forest né

0:39:48: a reino forest se você lembra ela tem as features importances né ela calcula

0:39:54: quais features são as mais importantes para o modelo baseado em quantas vezes ela

0:40:01: usou em quantas árvores ela usou qual foi o ganho que ela obteve por fazer um

0:40:05: split naquela naquela feature né é e aqui eu vou colocar random state 1 só

0:40:11: diferente da outra reino forest e eu vou colocar o seguinte também aqui deixa

0:40:18: me ver o end jobs end jobs igual menos um tá então quer dizer está usando uma

0:40:26: reino forest para selecionar e outra para prever e aqui você vê que eu tô fazendo a

0:40:32: seleção sempre no xtreme tá sempre deve ser no xtreme nesse caso a gente tá

0:40:37: usando aquele aquele leve overfitting de tá usando um data set de validação só

0:40:44: em tese só que deveria tá dentro de outra validação para ser extremamente

0:40:47: robusto mas na prática geralmente só que não vai matar o teu modelo tá na

0:40:53: prática geralmente o overfitting é muito pequeno é que você faz usando esse

0:40:59: método mais direto vamos ver então usando uma reino forest se a gente

0:41:04: pegar um ma e menor e a primeira coisa a gente vê que assim pelo menos por

0:41:09: enquanto é mais estável né então ele pegou aqui 732 não tá melhor do que

0:41:14: a gente tem com laço mas ele tá mais estável não tá com aqueles números

0:41:19: absurdos de 700 e tudo mais tá deixa eu aproveitar e responder algumas perguntas

0:41:24: aí é legal é interessante ver a diferença beleza

0:41:33: se alguém tiver uma pergunta pode colocar no chat que eu vejo e respondo

0:41:38: é e deixa eu ver aqui outra coisa que acontece só pra gente ver um negocinho

0:41:48: legal e aqui pelo visto a reino forest para seleção de fitos não vai bater

0:41:53: então é um dos casos é engraçado porque isso não é comum de você vê

0:41:58: ter um modelo que seleciona features e outro que treina normalmente o modelo

0:42:03: que você tá treinando vai ser o melhor para selecionar as features mas nesse

0:42:08: caso não tá acontecendo isso mas uma coisa que eu quero te mostrar o

0:42:12: seguinte é vamos pegar que o cai igual a 8 da reino forest então a reino forest

0:42:17: nesse caso cai igual a 8 foi o nosso menor erro aqui eu quero te mostrar uma

0:42:25: forma como muda o é como as features que ele seleciona mudam de acordo com

0:42:32: com o modelo então eu vou colocar aqui 8 vou fazer um break nesse loop só para

0:42:38: gente poder ver exatamente quais são as features vou fazer aqui um print das

0:42:44: features que ele achar como mais importante então esse selector o get

0:42:49: suporte né para gerar aquela máscara para a gente vou colocar aqui fora é

0:42:54: eu tô fazendo essa parte mais rápida porque na última live eu já te expliquei

0:43:00: como é que funciona essa parte do get suporte da máscara e tudo mais

0:43:04: então x-trein ponto colunas vamos usar a máscara para ver então tá quais são

0:43:11: as 8 features selecionados pela reino forest vamos ver aqui

0:43:15: então são essas aqui vou colar aqui meu método muito muito avançado de

0:43:25: registrar os meus experimentos e colar se a gente tinha eu não tô confiando

0:43:31: nesse laço aqui com cai igual a 4 viu vou pegar esse cai igual a 6 pegar o laço

0:43:36: com alfa igual a um cai igual a 6 eu tinha funcionado antes estava mais

0:43:44: fácil não vamos lá e olha só as features que foram selecionadas tá então

0:43:52: vou até colocar aqui você vê o seguinte avião os dois av7 nos dois av8

0:44:00: nos dois só que aí muda o av14 14.1 tal aí você fala tá mario qual que

0:44:08: é por enquanto o melhor tá sendo o laço né cai igual a 6 mas eu vou fazer um

0:44:15: truquezinho aqui para ver se a gente consegue melhorar um pouquinho já que a

0:44:19: gente tem essa informação que eu vou fazer eu vou continuar selecionando as

0:44:23: features usando laço só que eu vou adicionar essas outras features ao

0:44:31: modelo manualmente tá então deixa eu pegar aqui

0:44:36: o código e aqui o código vai mudar um pouquinho que vai acontecer o seguinte

0:44:41: eu vou até separar para ficar mais claro e primeiro eu vou criar uma matriz x

0:44:49: trem 2 que vai ser ela vai ter o seguinte tamanho é

0:44:56: ela vai ser uma matriz de zeros e ela vai ter o seguinte tamanho x3 shape 0

0:45:06: vai ter um número mesmo número de linhas do x trem só que ela vai ter

0:45:11: uma coluna a mais do que está sendo selecionado então se ele está

0:45:15: selecionando seis colunas eu vou colocar sete colunas é assim que você cria uma

0:45:19: matriz de zeros no teu com usando não pai e aí aqui eu vou colocar o seguinte o

0:45:26: transform ele vai retornar para gente uma matriz que tem o mesmo número de

0:45:30: linhas do x trem nesse caso só que com seis colunas então vou colocar para ele

0:45:35: preencha as seis primeiras colunas dessa matriz de zeros com é com essa matriz

0:45:44: que ele vai retornar então mais uma vez essa função vai retornar uma matriz para

0:45:48: gente uma matriz não vai uma array do não pai com n colunas é n linhas e seis

0:45:55: colunas então estou falando para ele como você tem sete colunas você pega

0:45:59: todas menos a última e você preenche estou mandando ele preencher essa matriz

0:46:04: aqui em cima com essa matriz que ele está gerando agora tá é uma forma que

0:46:12: eu tenho de fazer esse tipo de coisa certamente tem outras formas poderia

0:46:16: criar duas matriz de juntar mas eu acho mais fácil fazer assim o x val 2 aqui

0:46:23: vai ser a mesma coisa só que com o x val x val.x e aqui já uma coisa assim

0:46:30: um pouco além de realmente do que eu pretendia ensinar aqui que é do do

0:46:36: select from model mas eu acho que é interessante para você ver como é que

0:46:41: funciona tá você poder selecionar features que não sejam apenas as que

0:46:46: você usou no seleitor então vamos lá x val 2 é beleza e aí eu preciso

0:46:54: realmente adicionar essa outra feature que foi que não foi selecionado por

0:47:01: esse método mas seria selecionada pelo outro método então deixa selecionar

0:47:05: aqui essas são as seis features que ele já vai ter deixa eu colocar aqui vamos

0:47:11: ver v5 vamos ver se essa v5 melhora o nosso modelo tá é se tiver dúvidas

0:47:18: coloca aí que eu já vou responder que essa parte pode ficar um pouco confusa

0:47:22: vai ser x trem v5 é ponto velhos né para a gente pegar só não para ir do

0:47:31: pandas e é só que mudar para x val

0:47:37: a x val também e vamos ver se roda direitinho então não mudei nada em termos

0:47:44: do seleitor mas nós vamos ter aqui uma coluna a mais que vai ser a v5 certo

0:47:50: ao ver se roda a sete colunas agora e piorou eu era 96 foi para 99.87 era 96

0:48:01: mesmo né só conferir aqui beleza então adicionar v5 não melhorou o nosso modelo

0:48:10: vamos então se adicionando a v11 que é a outra vai melhorar o nosso modelo então

0:48:17: você fala mal você faz isso manualmente certamente tem forma de automatizar mas

0:48:21: eu normalmente faço isso na mão para ir entendendo melhor como é que funciona o

0:48:26: problema tá é vamos tentar a v14 e 14

0:48:36: 9934 não melhorou a v14.1 provavelmente é muito correlacionado com a v14 e

0:48:45: então vai melhorar para elas estarem juntinhas assim não melhorou e por último

0:48:52: a v11.2 e acho que assim o mais importante é você

0:48:57: entender o processo que eu fiz aqui a ideia de você pegar as fitas de outro

0:49:02: seleitor e tentar adicionar para ver se elas melhoram junto com as que você já

0:49:07: tem e não melhorou então é lamento mas a gente vai ter que ficar só com essas

0:49:13: mesmas do laço original eu vou deixar isso aqui do mesmo jeito só para você

0:49:22: só para quando você for estudar esse notebook você ter acesso a essa

0:49:26: informação e já vou aí responder as perguntas então só para conferir é

0:49:30: exatamente 96.07 no teste que eu tinha feito ele tinha melhorado quando eu

0:49:37: fiz a feature start e então vamos tentar só adicionar essa está aqui só para eu

0:49:44: tirar isso da cabeça e ver se ele melhora aqui também ou se foi alguma

0:49:49: aleatoriedade que tinha outro split que eu tava usando quando eu tava criando

0:49:55: esse notebook antes da live vamos lá 95 então ele melhorou realmente o problema

0:50:03: é que a lista de features que a gente tem que foi selecionado pela random

0:50:07: fórtis não tá muito boa tá mas a ideia que eu queria te mostrar é justamente

0:50:13: esta é e aqui ignora o que tá aqui embaixo porque ele tá fazendo o print da

0:50:19: máscara né que a gente usou nesse caso a gente teria que ver as colunas do xtrain2

0:50:25: a gente tá usando 7 colunas você vê que ele foi de 96 para 95 então quer dizer

0:50:30: dá para você misturar vários métodos né nesse caso eu primeiro selecionei seis

0:50:36: features com laço e depois eu poderia testar uma feature de cada vez fazer o

0:50:41: famoso for search tá que vai demorar mais tudo mais mas você vê que dá para

0:50:47: melhorar ainda esse modelo tá deixa eu ver se tem perguntas porque essa parte

0:50:51: pode ser um pouco confusa é deixa aqui pergunta Alberto Mário

0:50:58: normalmente você usa separação simples em treino e teste e agora vou colocar

0:51:02: aqui porque não tem nada rodando é ou faz validação cruzada para cada

0:51:05: quantidade de variáveis normalmente seleciona validação que é mais adequada

0:51:10: para para o que a gente está tentando resolver então se for uma time series eu

0:51:15: vou fazer uma validação entre passado e futuro tá treino no passado validação

0:51:19: no futuro é se eu tiver detectando se puder ser uma validação aleatória e eu

0:51:26: detectando diferenças muito grandes de score como aqui por exemplo tá 96 95 eu

0:51:33: faço split simples se eu quiser detectar diferenças menores então se eu tivesse

0:51:38: aqui olhando as diferenças depois do do ponto se eu tivesse se eu quisesse uma

0:51:43: estimativa mais robusta aí eu usaria validação cruzada validação cruzada é

0:51:48: para você ter uma estimativa mais robusta uma estimativa mais confiável

0:51:52: do que você está fazendo e normalmente para detectar diferenças menores entre

0:51:57: entre alterações que você faz o modelo no teu processo de modelagem tá é beleza

0:52:05: como o modelo escolhido para feature selection mede a relevância de cada

0:52:09: variável no caso da reno forest ele é um processo bem complicadinho tem lá na

0:52:14: documentação do site e que ele vai medir em quantas árvores é essa variável foi

0:52:20: preparada para fazer um split é enquanto as

0:52:25: quantos qual foi o ganho quando fez o split nessa nessa variável tem várias

0:52:31: coisas no caso dos modelos lineares normalmente é o tamanho do coeficiente

0:52:35: tá mas cada modelo vai mudar isso é ensemble de features exatamente marcos

0:52:42: dá para fazer isso sim tá é ravi mario acha que acho o método rf ele é melhor

0:52:49: eu não gosto que ele demora tá normalmente ele demora muito é refi ele

0:52:53: vai criar vários modelos com vários é feature set diferentes é mas eu não

0:53:00: gosto que ele demora agora uma coisa que eu quero te mostrar que foi uma

0:53:05: loucura que eu tentei no final aqui no notebook e que é um método que eu gosto

0:53:10: de fazer eu gosto muito de simulação gosto muito de método monte carlo essas

0:53:15: coisas então eu pensei vou testar um negócio louco vou fazer uma busca da

0:53:21: hora por variáveis tá e aí até coloque aqui como loucura e se desse tempo eu

0:53:26: faria então como a gente tá aí né não é nem 9 horas eu vou fazer aqui

0:53:31: basicamente eu vou copiar tudo que a gente tem aqui em cima é antes de fazer

0:53:37: isso antes de fazer isso eu vou mudar o modelo aqui para o meu querido amado

0:53:42: xg boost tá você não conhece é um dos modelos

0:53:45: os melhores modelos que existem é para gente modelar dados tabulares e ganha

0:53:53: competição que é uma beleza esse modelo então por isso que eu gosto muito dele

0:53:57: para que você importe xgb regressor tá é que eu só vou mudar vou até copiar do

0:54:07: outro notebook como daqui mdl igual xgb regressor é aqui vou tirar esses

0:54:16: atributos que é argumento só para não confundir mais mas basicamente eu coloquei

0:54:22: aqui o objetivo que é o erro quadrado ele não ele até otimiza o erro absoluto que

0:54:28: é a métrica que a gente tá tentando otimizar mas eu não consegui fazer rodar

0:54:32: o conflito de diversão então por isso que eu tô colocando o erro quadrado tá

0:54:39: deixa mudar aqui para dois de novo não pode que essa até eu preciso fazer a

0:54:45: mudança aqui que eu tava bagunçando as minhas matrizes

0:54:52: o xtreme fazer diferente né o daqui pro pro normalzão mesmo vou ficar inventando

0:55:04: nesse caso aqui você vê que ele roda muito mais rápido como ele tá gerando

0:55:09: rápido aqui os números e vamos ver ele pegou ele tem uma região aqui que tá com

0:55:15: 80 e pouco de erro então você vê que por padrão sem tunar nada ó eu tirei

0:55:20: os atributos que eu tava tunando no meu outro notebook ele já melhorou tá então

0:55:27: geralmente o grade de busti o xg busti da gbm essas coisas todas eles acabam

0:55:33: melhorando mais uma vez ele tem aquele probleminha né que cai muito rápido o

0:55:38: score que eu não gosto muito mas é aqui cai igual a 8 cai igual a 6 tá indo tá

0:55:46: indo muito bem essa região tá então só coloquei isso porque na próxima no

0:55:50: loop que eu vou te mostrar eu quero usar o xg busti é vamos lá então tá cai

0:55:57: igual a 6 deixa eu copiar esse loop que a gente tem aqui em cima agora vou fazer

0:56:03: uma busca aleatória por fit isso aqui não é um método

0:56:07: recomendado não é um método assim popular tal mas é um método que eu acho

0:56:13: interessante então resolvi testar o que acontece aqui é que eu vou precisar

0:56:19: de em vez de ter o k aqui eu vou selecionar um carro específico então cai

0:56:24: igual a 5 por exemplo eu quero que eles solucione cinco filhos colocar seis

0:56:28: porque a gente sabe que seis é um número bom é segundo laço tá e aqui eu

0:56:34: vou fazer o seguinte eu vou colocar para ir em que eu vou rodar só 100 eu rodei

0:56:43: 20 mil no outro notebook eu recomendo que você tente rodar mais para você ver

0:56:47: como funciona mas aqui eu vou rodar só 100 iterações e aí eu tenho um truque

0:56:54: como é que eu faço para eu não perder por exemplo qual vai ser a lista de

0:56:58: features que ele vai selecionar aleatoriamente eu coloco uma renda um

0:57:01: cd tá eu coloco aqui na minha cidade a mim é um número é que no caso vai ser

0:57:07: né o número da cidade vai ser cada loop ele vai mudar a cidade para ele

0:57:13: selecionar colunas diferentes e aí eu vou usar aqui para pegar as colunas

0:57:18: selecionadas eu vou usar a função random.choice é que acontece essa

0:57:25: função ela pega uma lista então eu vou pegar aqui x3.columns e a lista de

0:57:30: colunas original eu vou colocar aqui que eu quero que ele selecione cá que no

0:57:36: nosso caso são seis né até poderia colocar seis aqui para facilitar e eu

0:57:40: quero que ele seja sem o replacement ou seja eu não quero que ele selecione a

0:57:45: mesma coluna mais de uma vez tá então quero seis colunas diferentes e aí em

0:57:50: vez de usar o selector aqui eu vou pegar e vou fazer o seguinte eu x trem 2 vai

0:57:57: ser x trem é que eu vou mandar ele selecionar essas colunas então assim

0:58:05: que não é tempo passar essa lista de colunas aqui eu vou até dar um print no

0:58:09: loop só para você ver que ele está escolhendo aqui

0:58:16: e aqui vai ser x val

0:58:20: e aí

0:58:23: é deixa eu tirar todas essas coisas daqui vou usar o xboost que vai que é

0:58:29: bust legal tirar aqui a máscara tirar esse cá versus escor vou dar o break aqui

0:58:34: só para te mostrar num primeiro momento a função é uma que a gente tem o nosso

0:58:39: lá

0:58:42: é igual a seis lá de cima deixa eu ver aqui tá igual a 6 mi 85.9

0:58:56: 85.9 igual né a beleza então deixa eu te mostrar aqui num primeiro momento e eu

0:59:07: não coloquei coisa errada feature names must be unique é que eu coloquei

0:59:12: replace true tem que ser replace false provavelmente alguém notou isso e avisou

0:59:16: aí no chat mas eu não estou com acesso ao chat neste momento é mas agora estou

0:59:22: exatamente Alberto replace igual false é isso aí vamos lá então você vê que a

0:59:30: lista selector de que ele retorna aqui na função random choice é simplesmente

0:59:35: a lista com os nomes das colunas tá mais uma vez aqui não é método

0:59:39: você vê muito lugar é mais coisa minha mesmo que eu tô não tô dizendo que foi

0:59:44: eu que inventei tá porque certamente não fui a primeira pessoa dessa ideia mas

0:59:48: vamos ver aqui como da cid para cid porque que eu gosto de por assim porque

0:59:55: aí ao invés de armazenar todas as fi de tudo mais que eu tô testando que eu

1:00:01: poderia jogar tudo para um arquivo aqui para registrar a hora que eu ver qual é

1:00:05: assim de boa eu posso voltar aqui e rodar o loop novamente ou tirar isso aqui

1:00:10: do loop colocar assim de aqui e rodar tudo de novo tá torna reprodutível o

1:00:16: que a gente tá fazendo vou rodar primeiro sem sem nenhuma limitação só

1:00:20: pra gente ver e olha só ele começa a dar um monte de número muito louco tá então

1:00:26: que eu vou fazer para a gente ter uma ideia de que que tá sendo melhor eu vou

1:00:30: colocar aqui e score menor do que 86 vai só para a gente dar uma uma facilitada

1:00:41: para o modelo é eu quero que ele imprima se não nem prime tá e vou colocar como

1:00:46: foi rápido colocar mil aqui só para a gente ver se vai ficar legal então vamos

1:00:50: lá ele vai rodar rodar aqui tá pro nosso de 54 achou 78 então ele achou um

1:00:59: produto de seis features que dá ma e 78 muito legal é ele vai baixar vários tá

1:01:06: porque que só que é interessante porque ele tá essa só existem é 107 16 né 107

1:01:16: 16 não existe ué o que não tá funcionando só aqui

1:01:22: tá calculado então quer dizer existem um bilhão 807 milhões 245 mil 622

1:01:30: possíveis combinações de seis features da 107 originais tá é isso aqui

1:01:37: combinações sem repetir não é permutação é combinação né se eu tiver errado alguém

1:01:41: me corrige mas eu lembro que só quer combinação então ele vai simplesmente

1:01:45: fazer amostras dessas dessas combinações tá ele vai tá fazendo amostras aleatórias

1:01:53: vai tá buscando ali mil dessas combinações e o que acontece como ele

1:01:57: tá explorando aleatoriamente a chance de achar uma combinação numa região boa

1:02:01: é grande né tanto que ele achou aqui uma que tem o caigo a seis a gente poderia

1:02:09: tá fazendo o seguinte tem um outro loop ou uma outra fazer um outro negócio aqui

1:02:15: que ele selecionaria o próprio cá vendo um ponto em 20 acho que é e aí eu

1:02:25: coloco para ele selecionar de duas até sei lá 20 tá e coloca o saiz e um e aí

1:02:36: ele vai selecionar o cá também então eu coloco assim eu coloco o cá e aí a

1:02:43: gente tem uma exploração praticamente de todos os espaços a todas as

1:02:48: combinações de features e dois a 20 é um negócio gigantesco provavelmente que nem

1:02:53: se a gente tivesse todos os computadores do universo a gente conseguiria computar

1:02:57: né aqueles tipos de explosão combinatória é vamos ver só que funciona

1:03:03: em mil não sei se vai funcionar mas vamos lá deixa eu dar uma olhada aqui

1:03:07: nas perguntas enquanto isso olha só ele achou um 79 com cá igual a 8 eita mas o

1:03:15: cá tá sendo

1:03:18: e ele tá retornando uma lista o cá então é pegar o elemento zero aqui

1:03:25: beleza ou aliás eu vou deixar isso aqui rodar por um bom tempo enquanto eu

1:03:31: faço perguntas só para a gente ver que tipo de coisa maluca ele acha é vamos lá

1:03:37: é para um set de dados com rgb extraído de imagem que essa abordagem também

1:03:43: funcionaria provavelmente não para imagem é melhor você fazer uns filtros

1:03:48: e selecionar os filtros tá ou usar redes neurais convocinais pré-treinados

1:03:54: no próprio é no próprio data set tá mas eu selecionaria filtros calculados

1:04:01: sobre os pixels não selecionaria os pixels na documentação do site

1:04:05: trâner ele tem um exemplo que usa a importância dos pixels mas para uma

1:04:10: questão de interpretar a imagem é quais pontos da imagem são mais

1:04:14: importantes do que necessariamente para selecionar tá então eu acho

1:04:18: geralmente em termos de imagem você precisa ir para redes neurais e aí você

1:04:23: pode selecionar é tipo de rede neurais pode usar seleção mas num nível onde

1:04:29: assim abstraindo um pouco mais dos pixels tá é não é que vai rodar até

1:04:37: achar uma cidade boa mais ou menos não é bem isso que eu estou fazendo

1:04:42: certa forma é mais ou menos essa ideia né

1:04:48: é deixa eu ver aqui mario em um problema de desbalanceamento a divisão

1:04:53: treino teste ideal seria 7030 5050 eu geralmente gosto dos 5050 mas aí eu

1:05:00: faria o seguinte uma uma validação cruzada tá Rafael é faria várias pode

1:05:08: ser uma validação cruzada repetida dá uma olhada na live de validações que eu

1:05:11: explico bem todos os tipos que tem ou todos os tipos mais importantes é eu

1:05:16: fazer uma validação repetida de 5050 ou qualquer outro tipo de validação

1:05:22: cruzada mas repetidamente e aí faria média de tudo calcula e o desvio padrão

1:05:27: tá é lá eu explico também como que eu seleciono porque eu sempre gosto de

1:05:31: selecionar 5050 é ver lá que está bem legal lá é legal deixa eu ver aqui

1:05:39: Rodrigo maria que você está fazendo uma espécie de random certs seria que já

1:05:43: você já uma otimização beiseana para selecionar os features eu fui pesquisar

1:05:48: se alguém já tinha tentado para eu poder falar se funcionou não mas eu não

1:05:52: vi alguém que já tentou tá provavelmente dá para fazer eu ainda não

1:05:57: testei mas é uma coisa que se você testar por favor comenta aqui embaixo

1:06:01: depois e me diz o que aconteceu mas eu eu testaria sim eu acho que é promissor tá

1:06:07: é achou 75 deixa eu ver aqui 75 olha aqui ó com 9 features de 2020 129

1:06:20: achou achou vários 75 né aí o que acontece eu não vou fazer aqui já são

1:06:26: mais 9 horas tô com fome né e você também já deve estar cansado de me ouvir

1:06:30: mas uma outra coisa que a gente pode fazer é treinar vários modelos com

1:06:36: conjuntos de features diferentes e fazer um an samba entre os modelos então é o

1:06:42: que acontece e deixa eu criar que eu vou fazer vai vamos lá é rapidinho eu vou

1:06:48: fazer então aqui ele está achando esses esses negócios aqui tudo mais babá

1:06:54: deixa eu pegar aqui te mostrar como é que eu farei um an samba ou com vários

1:06:58: modelos com features set diferentes a ver que eu não tenho muita paciência para

1:07:02: as coisas rodarem é vamos lá então eu vou criar uma lista fs

1:07:09: e aí eu vou salvar nessa lista é as previsões então a gente tem aqui o p né

1:07:15: eu vou salvar as a reis de previsão aqui o fs.pem de p então deixa ele rodar aqui

1:07:22: o sem rodar 300 vai só pra gente tem bastante coisa aqui para brincar ele não

1:07:28: vai ficar né na de 75 que era de 2.500 e pouco é

1:07:34: mas ele vai guardar todo mundo lá as 300 que ele testou e aí eu vou fazer uma

1:07:41: coisa muito louca vou até copiar aqui direto para não ter que digitar tudo

1:07:46: control md vocês me ensinaram né beleza vou importar o combinations aqui eu vou

1:07:52: pegar essa lista fs nesse caso ela tem 300 elementos tá então vai ser uma

1:07:58: resminha aqui vou pegar essa lista fs vou falar para ele selecione todas as

1:08:03: combinações de duas de dois modelos que você tem então ele tem todo mundo lá é

1:08:09: e ele vai selecionar de dois em dois duas em duas as previsões claro que tem

1:08:13: que fazer isso registrando mais né para saber quais foram selecionados mas eu só

1:08:19: quero te mostrar como é que faz aí eu vou fazer simplesmente a média dessas

1:08:24: previsões e quero ver se ele acha alguma média que vai ter o score menor do que

1:08:29: 79.29 mais uma vez aqui tá o rms que eu não vou querer usar

1:08:36: é que eu não vou mandar imprimir qual foi a combinação tudo mais só para a

1:08:42: gente ver aqui rapidamente vamos lá vamos ver se ele rodando ele vai testar

1:08:46: todas as combinações então uma 300 300 choose vai testar e 44 mil

1:08:56: combinações e não achou nenhuma que a gente faz nesse caso a gente testa as

1:09:02: combinações de três vamos lá a bc é você um pouquinho mais inteligente colocar

1:09:11: mais b mais c dividido por três né para não ter que ficar mudando o coeficiente

1:09:15: agora e acho que é isso aqui legal e vamos ver se com três ele acha

1:09:24: e aqui ele tá testando o chustri 40 não 4 milhões 455 mil combinações mais só

1:09:33: vai fazer overfitting provavelmente mas como as ambas essas médias tá elas

1:09:38: estabilizam o modelo eu não me preocupo muito com isso e mais uma vez a gente

1:09:43: vai ver isso dentro da validação só tô fazendo mesmo para te mostrar que que é

1:09:47: uma ideia legal quando você tá tentando melhorar o modelo né

1:09:52: provavelmente ele não vai achar um score menor do que esse quando eu rodei com

1:09:59: 20 mil combinações ele tinha achado tá deixa eu até mudar aqui só rapidinho a

1:10:07: gente já termina vou colocar mil aqui vou mandar ele guardar somente as que

1:10:12: ele vai ter menor do que 16 tá bom ele vai demorar muito para testar 4 milhões

1:10:19: só que certamente seria melhor se eu tivesse se você paralelizar e tudo mais

1:10:24: né mas vão testar com mil mil coisas ele vai ter um dois nesse caso eu botei

1:10:31: aqui para dentro o apende então ele só vai tá selecionando mesmo os modelos que

1:10:36: tiverem score abaixo de 86 para tentar dar uma limpada nas combinações que a

1:10:41: gente vai testar normalmente você quer modelos que sejam bons por si só mas que

1:10:46: não sejam correlacionados entre si que as previsões não sejam correlacionadas

1:10:50: entre si não sejam tão correlacionadas vou tentar que a combinação de dois em

1:10:55: dois e aquele achou aquele achou olha só mil combinações ele achou e a de três

1:11:02: ele também achou aqui também que teria que ser menor que 78 né mas vamos lá

1:11:08: aqui ele achou uma combinação que dá 77 e aqui ele achou uma outra combinação

1:11:13: que dá 77 se não achar seria tentar com 4 etc e tal uma vez um cara fez isso aqui

1:11:19: para achar o melhor ansambo é a melhor média de dos modelos ele gerou um monte

1:11:26: de modelos em várias combinações features é fez exatamente esse processo

1:11:32: para achar as combinações ganha uma competição com uma combinação gerada

1:11:37: com esse processo em outro caso o pessoal gerou vários modelos já tava no fim da

1:11:42: competição que eles fizeram usar esse mesmo método de gerar um monte de modelos

1:11:47: sobre conjuntos de features diferentes fizeram 500 modelos de tanto é exe

1:11:54: boost rede neural acho que usaram SVM também algum modelo linear geraram tudo

1:12:00: juntaram tudo botar no ansambo também ajudou acho que eles subirem para terceiro

1:12:04: ou quinto para terceiro alguma coisa assim então quer dizer funciona esse tipo de

1:12:09: loucura tá isso que daria para por em produção sossegado 2 3 modelinhos não é

1:12:15: 2 3 modelinhos com 8 variáveis com 14 variáveis essas coisas certamente você

1:12:21: consegue colocar em produção não tem mais essa história de ansambor não dá

1:12:26: para por em produção é muito complicado etc e tal beleza já falei demais você já

1:12:32: tem paciência demais para me aguentar até essa hora é deixe seu like eu preciso

1:12:37: lembrar de pedir para deixar o like tá é deixa eu ver se tem alguma pergunta aqui

1:12:42: e jose carlos mas no seu dia a dia prefere ter um bom set up contratar via

1:12:47: nuvem nuvem tá tenho usado bastante colab e tenho usado quando é alguma

1:12:53: coisa mais pesadona eu porque eu sei usar a ws eu uso a ws mas enfim eu acho

1:12:59: que é uma data que tem é mas a nuvem é melhor não vale a pena ficar investindo

1:13:04: em computador porque fica fica assim ultrapassado muito rápido né apesar que

1:13:10: dá para rodar bastante coisa no meu computador local é a faz das setes

1:13:15: pequenos vale a pena remover variáveis baseando-se no p-valor não é ajustado

1:13:20: o modelo é eu prefiro nesse esquema de validação tá vendo qual variável que

1:13:26: é o não a validação que nem sempre a variável baseada no p-valor vai ser a

1:13:31: mesma que vai te dar a melhor generalização então eu acabo preferindo

1:13:36: sempre ver no ciclo de validação qual é a melhor combinação de variáveis mas é

1:13:41: possível sim o é ajustado eu geralmente não gosto de usar tem um artigo até posso

1:13:47: colocar aqui depois o link né é o arn square de sbed ou alguma coisa assim

1:13:55: acho que é esse aqui o artigo que uma vez eu li e aí eu nunca mais gostei de

1:14:01: usar o r quadrado claro que só uma discussão é

1:14:06: né tem motivos para usar para não usar mas

1:14:12: é

1:14:15: tem esse

1:14:18: tem essa essas notas aqui bastante interessantes que tem um argumento para

1:14:27: você não usar o r quadrado né depois dá uma olhada nisso aqui não estou

1:14:33: falando que é o certo tá mas eu acho que é interessante a gente dar uma olhada

1:14:38: nesse tipo de de artigo legal deixa eu ver aqui quando eu pequenos

1:14:45: e com poucas variáveis é geralmente a feature selection vai funcionar melhor em

1:14:51: data set com poucas linhas tá com poucas variáveis eu normalmente gosto de

1:14:56: colocar o máximo possível de features é desde que elas ajudam o modelo mas para

1:15:02: facilitar em produção às vezes é interessante você reduzir o número de

1:15:05: features tá então às vezes você não quer monitorar é calcular 600 variáveis em

1:15:11: produção tá por isso que geralmente eu reduzo eu reduzo mais por uma questão de

1:15:17: facilidade para manter esse modelo do que necessariamente para melhorar a

1:15:22: performance dele tá é como você usar o cd não entendi bem nesse caso eu estou

1:15:29: usando cd é o que acontece se eu rodar sem o cd ele vai gerar um monte de de

1:15:36: combinações aleatórias do mesmo jeito tá vai selecionar várias combinações

1:15:41: aleatórias de features nesse caso eu tô usando cd para eu conseguir reproduzir

1:15:46: então se eu colocar sempre o mesmo cd aqui se é que sempre foram ele sempre vai

1:15:51: dar vai sortear as mesmas colunas aleatórias tá que vai ser aleatório mas

1:15:55: não é aleatório né tem toda uma coisa que o computador não gera realmente

1:15:59: números aleatórios né mas essa é uma forma de você garantir que sempre vai ser

1:16:04: a mesma sequência de números aleatórios é então eu gosto de usar isso porque aí

1:16:08: por exemplo quando deu aquele número 75 aqui ele deu escolher a cd 2500 qualquer

1:16:14: coisa se você pegar rodar esse notebook colocando aqui assim 2547 sei lá vamos

1:16:20: dizer que era essa ele vai rodar exatamente a mesma combinação tudo que

1:16:25: aleatório vai estar determinístico entendeu por isso que eu gosto de usar a

1:16:29: cd nesses casos tá e como a gente vai fazer um loop a gente quer várias vezes

1:16:35: várias combinações é é muito fácil você colocar o próprio número do loop

1:16:42: da contagem do loop como cd legal é maria esse método de combinação

1:16:50: exatamente o mesmo para modelos de classificação tudo que eu ensinei nessa

1:16:54: live na outra live é a mesma coisa para o modelo de classificação só vão mudar

1:16:58: as funções que você vai usar tá e vejei o quadrado é o absoluto você vai usar é

1:17:03: o 1 você vai usar o 6 vai usar outras outras métricas tá é deixa eu aqui tinha

1:17:10: uma pergunta gigantesca aqui que eu falei pro isaac que eu ia responder olha só

1:17:15: aprendi que tem test split stratified servem para separação de base de dados

1:17:19: entre in test pelo que aprendi stratified vai lida melhor os dados que ele percorre

1:17:24: toda base uma parte para treinar outra para test até usar toda a base tal total

1:17:28: por exemplo sempre que ver alguns vídeos sobre data size os professores usam somente

1:17:33: split tá eu acho que eu acabei esclarecendo sem querer essa dúvida numa

1:17:38: outra pergunta mas eu recomendo que você dê uma olhada na live sobre validação

1:17:43: como eu falei é na hora de ser mais robusto se usar validação cruzada aqui

1:17:48: eu geralmente uso o trem test split porque a gente normalmente tá aprendendo

1:17:53: alguma coisa é separada da validação então eu gosto de simplificar o máximo do

1:17:59: uso dos conceitos né por isso que eu uso split aleatório por isso que eu não

1:18:04: ligo muito para essas coisas quando eu tô aqui ensinando mas sim geralmente a

1:18:10: validação não necessariamente é stratificada mais uma vez a live de

1:18:13: validação certamente vai esclarecer bem sobre isso é legal tem algum artigo que

1:18:20: recomenda para ensemble dá uma olhada no kego principalmente na competição da

1:18:24: auto tá o auto group foi uma competição que o ensemble ganhou assim foi uma das

1:18:34: das que marcou mais pelo ensemble tá dá uma olhada na competição da auto que é

1:18:39: acho que é o melhor lugar para você aprender sobre ensemble tem uns artigos

1:18:43: mas eu não lembro agora tá tem uma uma live sobre stack em ansambos que eu fiz

1:18:48: aqui no canal também que deve ser bem legal de ver

1:18:50: 177 30 fit você faria esse feature selection se for facilitar para colocar

1:18:56: em produção ou se for melhorar o modelo eu faria

1:19:00: o código disponível no git felipe o código está disponível neste link aqui

1:19:05: tá no colab tá aí é maior agora só tô usando colab nas lives é legal pessoal

1:19:13: muito obrigado mais uma vez deixe seu like aí no facebook no youtube aonde

1:19:17: você é dia a deixar lá novamente curso data science.com você tá procurando um

1:19:26: curso veja lá da ideia o deploy curso super completo nesse sentido de te

1:19:32: ensinar a pegar um projeto como é que funciona realmente para ir do projeto da

1:19:36: ideia até o deploy é em produção como é que a gente faz quando vai colocar em

1:19:41: produção na empresa hoje mesmo ouvi um tópico é um post no linkedin falando que

1:19:46: é eu encontrar a cientista dados é difícil mas encontrar cientista dados que

1:19:51: sabe colocar coisa em produção é mais difícil ainda então por isso realmente

1:19:55: que eu fiz esse curso focado mais nesse processo tá é que mais dia 31 de maio

1:20:01: domingo é aniversário do canal primeira vez que eu coloquei um vídeo sobre data

1:20:05: science no canal dia 31 de maio talvez eu faça alguma coisinha no instagram

1:20:10: alguma comemoração é então se você não segue siga lá mario filho ml né

1:20:15: aqui ó a rouba mario filho ml mario filho não estão mais conseguindo

1:20:21: escrever meu cérebro já está torrado depois da live então é isso aí muito

1:20:28: obrigado novamente e até a próxima live até a próxima quarta-feira

1:20:34: abraço