Olá! Meu nome é Mariana, sou engenheira de Machine Learning (Aprendizado de Máquina), professora e instrutora aqui na Alura, e apaixonada pelo mundo da ciência de dados. Eu estarei com vocês ao longo deste curso de regressão avançada com modelos regressivos.
Mas, afinal, o que vamos aprender neste curso? Se já existe um curso de regressão na plataforma, por que outro curso de regressão? Nós vamos construir um pipeline (fluxo de processamento) completo de regressão aplicado a um problema real de previsão. Para isso, utilizaremos uma categoria diferente de algoritmos, capazes de identificar relações não lineares em nossos dados. Vamos esclarecer o que isso significa ao longo das aulas.
Neste curso, nós vamos:
Como de costume, não aprenderemos os algoritmos de qualquer maneira. Nós aprenderemos os algoritmos para resolver um problema de negócio.
Qual é esse problema? Vamos lá. UrbanMove é uma empresa de mobilidade urbana especializada em bicicletas compartilhadas. Ela enfrenta a dificuldade de equilibrar a distribuição da frota pela cidade. A empresa possui mecanismos para monitorar o uso das bicicletas em tempo real, mas percebeu que a distribuição da frota ocorre de forma muito reativa. Em horários de pico, algumas estações ficam sem bicicletas rapidamente, enquanto, em outros horários, há áreas com bicicletas ociosas. Isso é ruim porque aumenta os custos logísticos e reduz a eficiência operacional da empresa.
Para melhorar esse cenário, surgiu a ideia de utilizar dados históricos da própria empresa para prever, com antecedência, a demanda por bicicletas compartilhadas. A proposta é compreender como diferentes fatores — como horário, temperatura, chuva, sazonalidade e comportamento urbano — impactam a quantidade de aluguéis de bicicletas, possibilitando um planejamento mais estratégico e uma melhor distribuição das frotas. Assim, chegamos ao nosso problema de negócio: como prever, de forma precisa e antecipada, a demanda por bicicletas compartilhadas?
Surge então a pergunta: por que utilizar outros modelos de regressão? Por que não usar o modelo de regressão linear, que já aprendemos aqui? Quando falamos de demanda, há uma série de fatores que a influenciam, como chuva, temperatura, horário, mês do ano, fim de semana ou não, tráfego e comportamento urbano. Há muitas variáveis que impactam essa demanda. O ponto é: essas relações não são, necessariamente, lineares.
Como assim? Vamos pensar no problema de prever o aluguel de um apartamento. Vamos delimitar bem o escopo.
No bairro Jardim existe um condomínio chamado C, e queremos construir um modelo para prever o preço do aluguel nesse condomínio C. Identificamos que a quantidade de quartos tem relação direta com o preço do aluguel: cada quarto aumenta o valor em R$ 250. Assim:
Ou seja, se aumentamos a quantidade de quartos, aumentamos o aluguel em R$ 250; se diminuímos a quantidade de quartos, reduzimos o preço em R$ 250. Quando isso ocorre, chamamos de relação linear. Utilizamos modelos que podem capturar essas relações lineares, como o modelo de regressão linear que já aprendemos na Alura.
Porém, em alguns problemas do mundo real, como a demanda por bicicletas, lidamos com relações complexas, e nem tudo segue uma linha reta. Vejamos um exemplo: em um gráfico, no eixo x temos a temperatura e, no eixo y, a demanda. Em temperaturas mais agradáveis, a demanda tende a subir. Por exemplo, entre 20 °C e 25 °C, temperaturas mais confortáveis, observamos aumento da demanda. Existe uma faixa ideal em que a temperatura se mantém agradável, mas, quando a temperatura cai muito, por exemplo para 5 °C ou 8 °C, a demanda tende a diminuir. Ao mesmo tempo, se a temperatura sobe demais, por exemplo para 40 °C ou 45 °C, a demanda também cai. Portanto, não temos uma linha reta; temos uma curva, isto é, uma relação não linear. Há um ponto ótimo, mas a relação não é linear.
Modelos lineares possuem essa limitação: não conseguem lidar com esse tipo de relação e não conseguem capturar interações complexas, isto é, várias variáveis que se influenciam mutuamente. Por exemplo, no horário de pico ao meio-dia, em um dia sem chuva e com temperatura agradável (28 °C), teremos demanda alta. Mas o horário de pico em um dia chuvoso faz a demanda diminuir. Assim, o horário de pico junto com a temperatura gera interações complexas. Além disso, existem padrões locais, de modo que o comportamento muda conforme o contexto e a região considerada. Há também a sazonalidade por dia da semana: de segunda a sexta teremos certa demanda, e nos fins de semana haverá alteração.
Dessa forma, o modelo linear não consegue capturar essas relações. Precisamos recorrer a outros modelos mais flexíveis que lidem melhor com essas situações. Existe uma categoria de métodos — os modelos baseados em árvores e os ensembles — que tendem a captar esses padrões de forma mais eficaz. Por isso, neste curso conheceremos esses métodos.
Tendo compreendido que precisamos de modelos baseados em árvores para capturar relações mais complexas, vamos nos aprofundar. Como são essas relações não lineares? Por que os modelos baseados em árvores são ideais? Como funcionam? Veremos tudo isso na próxima aula.
Te espero lá!
Olá a todas as pessoas! Como estão? Bem-vindas e bem-vindos ao nosso segundo vídeo da Aula 1, no qual vamos aprofundar as relações não lineares e conhecer a classe de algoritmos baseados em árvores.
Vamos relembrar nosso problema de negócio, porque toda a explicação estará baseada nele: como prever, de forma precisa e antecipada, a demanda de bicicletas compartilhadas.
Pelo vídeo anterior, já sabemos que não é possível captar a relação necessária para a previsão da demanda apenas com modelos como a regressão linear, que só conseguem capturar relações lineares nos dados. A demanda depende de diversos fatores, e pequenas mudanças podem impactá-la, aumentando ou diminuindo seu valor. Por exemplo, chuva: com chuva, há menos pessoas nas ruas e menos bicicletas em uso.
Ao mesmo tempo, em horários de pico, tende a existir um aumento da demanda por bicicletas compartilhadas, porque as pessoas pegam suas bicicletas para voltar para casa depois da escola, depois do trabalho ou para se deslocar até a escola, o trabalho ou a universidade. Em horários de pico, portanto, esperamos aumento da demanda. Contudo, mesmo no pico, se estiver chovendo, pode ser 13h e, ainda assim, haverá menos pessoas nas ruas, resultando em menor demanda. Observamos, então, uma relação mais complexa.
Podemos visualizar isso no gráfico. No eixo x, temos a hora do dia; no eixo y, a demanda. Consideramos um dia sem chuva. Em verde, de 0 até aproximadamente 15h, vemos um comportamento considerado normal da demanda para um dia sem chuva. À medida que se aproxima o horário de pico, há aumento da demanda. Porém, por volta das 15h, começou a chover, o que provocou uma queda brusca na demanda. Pequenas mudanças no clima podem gerar grandes impactos. Temos, portanto, uma relação complexa em que várias variáveis influenciam diretamente a quantidade demandada, de modo que modelos lineares não conseguem capturá-la.
Modelos lineares possuem uma limitação: tentam fazer a previsão ajustando uma linha reta. Quando falamos de temperatura e demanda de bicicletas, por exemplo, o modelo tentará ajustar uma reta. Esse ajuste subestimará a demanda em temperaturas moderadas e, quando as temperaturas forem mais altas, a superestimará. Assim, o modelo não captará o comportamento real dos dados, porque o comportamento não é linear. Não é verdade que, ao aumentar a temperatura, a demanda aumentará necessariamente; ao diminuir a temperatura, a demanda não diminuirá necessariamente. Podemos aumentar demais a temperatura e ver a demanda cair. Por isso, precisamos de outros algoritmos.
Olhando para o gráfico à direita (tendo o modelo linear à esquerda), vemos um modelo capaz de capturar a relação não linear e, assim, identificar o padrão real. Esses modelos tendem a ser mais flexíveis, pois identificam relações complexas. Por exemplo, entre 10 °C e 30 °C, pode haver aumento da demanda; porém, entre 15 °C e 20 °C, ou entre 20 °C e 25 °C, existe uma região ótima de aumento. Se a temperatura subir demais, por exemplo até 40 °C, ocorre diminuição da demanda. De forma semelhante, entre 0 °C e 10 °C também há diminuição por causa do frio. Quando está muito frio, ninguém quer sair de bicicleta; quando está muito quente, também é complicado pedalar. Temperaturas moderadas tendem a favorecer a demanda. Ao escolhermos o algoritmo correto, conseguimos identificar esse padrão.
É nesse ponto que entram os algoritmos de regressão baseados em árvores. Por que são ideais para esse cenário de demanda? Porque algoritmos em árvores aprendem padrões locais. Como funcionam? Dividem o espaço — isto é, nossas variáveis — em regiões menores. Em vez de aprender uma única relação global entre todas as variáveis e o alvo que queremos prever, aprendem regras locais.
Na imagem, temos um exemplo de árvore. A primeira regra: hora > 17? Se a resposta for sim, verificamos outra condição lógica: temperatura > 20? Se a resposta for sim, fazemos outra pergunta: não está chovendo? Se a resposta for não, a demanda é alta; se sim, a demanda é média. Voltando ao nó “temperatura > 20”: se a resposta for não, a demanda é baixa.
Retomando a primeira regra, “hora > 17?”: se a resposta for não, fazemos outra pergunta: está chovendo? Se sim, a demanda é baixa; se não, a demanda é média.
Temos, assim, um conjunto de regras locais. Essas regras dividem nossos dados em regiões menores, permitindo capturar diferentes relações entre a variável de demanda e as demais variáveis — outros fatores como hora, temperatura e chuva. Desse modo, conseguimos representar melhor comportamentos não lineares e melhorar a precisão das previsões de demanda de bicicletas compartilhadas.
Quando falamos de um algoritmo de árvore, cada caminho representa uma regra que descreve um grupo de situações. Isso é muito importante, porque não vamos tratar apenas o comportamento global, mas também comportamentos locais, o que conduz a decisões mais precisas. Em problemas de regressão, quando há relações não lineares, os algoritmos de árvores são uma boa opção por sua capacidade de aprender localmente.
Como a árvore verá os dados? Consideremos um gráfico no qual o eixo x representa a hora do dia e o eixo y a temperatura. A árvore dividirá o espaço de características em regiões e, dentro de cada região, os dados serão mais parecidos. Por exemplo, entre 0 e 6 da manhã, se a temperatura estiver entre -5 e 15, teremos demanda baixa. Já ao redor do meio-dia, se a temperatura estiver entre 25 e 35, teremos demanda média. Teremos, por exemplo, manhã com chuva, manhã sem chuva, tarde sem chuva, tarde com chuva, noite com chuva, noite sem chuva, noite e tarde frias, manhã e tarde frias. Teremos várias regiões. Dependendo de cada região, a demanda será diferente. Essa divisão criará grupos homogêneos.
Quando falamos de árvores, o modelo divide o espaço de características e pode aprender padrões locais. Com isso, captura as relações entre variáveis e melhora a previsão em diferentes cenários, porque uma manhã com chuva é diferente de uma manhã sem chuva. Um meio-dia sem chuva é diferente de um meio-dia com chuva. E um dia sem chuva, mas frio, será diferente de um dia sem chuva, porém quente. As árvores conseguem enxergar esses cenários distintos.
Dentro desse contexto, há alguns conceitos importantes que devemos aprender desde agora, porque ao longo do curso vamos utilizá-los com frequência. Ao trabalhar com árvores, temos a capacidade de lidar com modelos flexíveis. Porém, esses modelos precisam estar equilibrados; não podem ser excessivamente flexíveis. Diante disso, há vários conceitos.
O primeiro é o sobreajuste. O sobreajuste ocorre quando o modelo é tão flexível que memoriza os dados, aprendendo padrões muito específicos do conjunto de treinamento, inclusive o ruído. Assim, no treinamento, o desempenho será excelente, mas, quando introduzirmos os dados de teste — ou seja, dados que o modelo não conhece —, o desempenho será muito ruim. O modelo sofre de sobreajuste.
Em seguida, temos o subajuste, que ocorre quando simplificamos demais. O modelo é muito simples para capturar as relações presentes nos dados e, portanto, terá desempenho ruim tanto no treinamento quanto no teste.
Além disso, há outros dois conceitos que também devemos conhecer. O primeiro é o viés, que descreve um modelo rígido, quando o modelo faz suposições muito fortes sobre os dados. Um viés alto levará ao subajuste, isto é, um modelo que simplifica em excesso. Também temos a variância, que ocorre quando o modelo é muito sensível e muda muito diante de pequenas alterações nos dados. Uma variância alta conduz ao sobreajuste.
Ao construir um modelo baseado em árvores, devemos alcançar um equilíbrio. O modelo não pode ter viés alto — ser muito simples —, sob pena de apresentar subajuste; ao mesmo tempo, não pode ser excessivamente complexo, pois, se for muito complexo, apresentará variância alta. Com variância alta, aprenderá em excesso e acabará memorizando os dados. Por isso, precisamos de equilíbrio: um modelo que generalize melhor, com bom equilíbrio entre viés e variância. Um modelo que generalize bem.
Esses conceitos são muito importantes quando trabalhamos com algoritmos mais flexíveis, como os modelos em árvore. Não precisamos nos preocupar agora, pois falaremos bastante sobre esses conceitos nas próximas aulas. Este panorama serve para fornecer uma visão intuitiva dos dados.
Na primeira situação, temos subajuste, isto é, um modelo excessivamente simples. Observamos que os dados reais são os pontos brancos, e o modelo é representado por uma reta muito simples, que não captura bem os dados. Já na quarta situação, temos um modelo de alta variância. Ali, o modelo — representado pela linha azul — aprendeu até o ruído dos dados. As curvas se ajustam exatamente às extremidades dos pontos, o que significa erro baixo no treinamento, mas erro muito alto com dados novos.
O objetivo é alcançar um bom equilíbrio: um modelo que capture bem o padrão real e que generalize adequadamente. Os modelos baseados em árvores e os métodos ensemble (conjunto), como veremos com mais detalhes, ajudam-nos a atingir esse equilíbrio com maior facilidade. Essa é a grande motivação para utilizar modelos baseados em árvores nesse tipo de problema de regressão.
Com isso em mente, e entendendo por que conheceremos esses modelos baseados em árvores, passaremos agora a conhecer nossos dados. Quais dados utilizaremos para resolver nosso problema? Faremos análise exploratória de dados, isto é, EDA, realizaremos engenharia de características e toda a preparação dos dados para, então, conhecer nossos algoritmos.
Nos encontramos na próxima aula. Até mais!
Olá, pessoal! Como estão? Boas-vindas à nossa Aula 2, na qual vamos estabelecer as bases para a construção dos nossos modelos. Qual é essa base? Trabalhar os nossos dados. Sem dados bem trabalhados, não teremos bons modelos.
Nesta Aula 2, teremos três pontos principais. O primeiro é a Análise Exploratória de Dados, pois precisamos conhecer os nossos dados: qual é o nosso conjunto de dados, quais são as características das colunas e qual é a nossa variável-alvo. Essa etapa é chamada de EDA (Análise Exploratória de Dados).
A segunda etapa é a Engenharia de Atributos, que parte do nosso conjunto de dados e das colunas conhecidas na EDA para gerar novos atributos com o objetivo de explicar melhor o fenômeno associado à nossa variável-alvo, isto é, a variável que desejamos prever.
Depois disso, realizaremos a etapa de preparação de dados, que consiste em identificar as variáveis categóricas que precisam ser codificadas e, em geral, deixar os dados prontos para alimentar os nossos algoritmos e possibilitar a geração de modelos de alto desempenho.
Esta aula terá esse foco e será dividida em vários vídeos. Neste primeiro vídeo, vamos iniciar o nosso projeto.
Vamos relembrar o nosso problema de negócio: identificar, de forma precisa e antecipada, a demanda por bicicletas compartilhadas. Para resolver esse problema, utilizaremos modelos de regressão.
Vamos construir o projeto, inicialmente, no Google Colab, que é a plataforma do Google que permite usar notebooks (cadernos) na nuvem. Este é o notebook do nosso projeto. Na primeira célula, por organização, sempre colocamos as bibliotecas que vamos utilizar. Nesta aula, utilizaremos quatro bibliotecas básicas para manipulação de dados e EDA: pandas, NumPy, Matplotlib e Seaborn. Elas já estão carregadas.
Para fazer isso, utilizamos as importações abaixo:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
Na segunda célula, temos o código para carregar o nosso conjunto de dados. Aqui, estamos carregando o nosso dataset (conjunto de dados) diretamente do computador local, isto é, do seu dispositivo. O nosso conjunto de dados já foi carregado.
No Colab, fazemos o upload do arquivo desta forma:
from google.colab import files
uploaded = files.upload()
for fn in uploaded.keys():
print('User uploaded file "{name}" with length {length} bytes'.format(
name=fn, length=len(uploaded[fn])))
Como fazemos isso? Pelo painel Files (Arquivos) do Google Colab. Chamamos o método de Upload (envio), aparece o botão para escolher arquivo, selecionamos o arquivo desejado — o conjunto de dados também está disponível para você. À esquerda, no Google Colab, há um menu; a penúltima opção é o Files (Arquivos). Com o conjunto de dados completamente carregado, podemos iniciar o projeto.
Qual é o diferencial aqui? Para a EDA e a Engenharia de Atributos, não vamos escrever todo o código passo a passo. Vamos usar o Gemini para agilizar. Por que o Gemini? Porque ele já está integrado ao Colab. Vamos utilizá-lo para facilitar o trabalho e, em seguida, validar as células que ele gerar e também validar as análises.
O primeiro passo é realizar a carga do nosso conjunto de dados. Para facilitar a visualização, vamos usar Ctrl + para aumentar o zoom. Para a carga, utilizamos read_csv de pandas e carregamos os dados no df. Em seguida, chamamos df.info() para obter uma visão geral dos dados. Contudo, como mencionado, não vamos fazer tudo a partir do zero: vamos utilizar o Gemini.
Carregando o CSV no DataFrame:
df = pd.read_csv("hour.csv")
Em seguida, obtendo uma visão geral das colunas, tipos e presença de valores nulos:
df.info()
Como fazemos isso? A partir de um prompt (instrução). Já deixamos esse prompt pré-carregado. A ideia é fornecer ao Gemini o contexto, as instruções e as restrições. Ao estruturarmos contexto, instruções e restrições, conseguimos construir prompts mais assertivos.
No nosso prompt, fornecemos o contexto: atue como pessoa cientista de dados. Queremos que a resposta seja objetiva, técnica e adequada. Todos os prompts desenvolvidos neste curso estarão disponíveis para você e, na verdade, já estão disponíveis. Indicamos que se inicie uma análise no conjunto de dados que será utilizado para o problema de regressão para prever a demanda de bicicletas compartilhadas. Solicitamos que o Gemini analise o DataFrame (quadro de dados) e elabore um relatório inicial da base.
Em seguida, detalhamos as instruções:
Também solicitamos que isso seja gerado após a seção de EDA no notebook (caderno). Indicamos explicitamente onde queremos que o conteúdo seja inserido, pois, caso contrário, ele pode ser gerado no início ou no final. Ao definirmos exatamente onde deve ser exibido, facilitamos bastante a organização.
Copiamos o prompt, entregamos ao Gemini e aguardamos a geração do código. Isso pode levar algum tempo, pois fornecemos três instruções, mas ele gerará tudo corretamente, e então aguardamos o resultado.
As células foram geradas a partir do prompt enviado ao Gemini e agora vamos analisar e validar a solução. A primeira instrução trata da visão geral do conjunto de dados. Após executarmos a célula, o Gemini informa que o conjunto de dados contém informações horárias sobre o sistema de bicicletas compartilhadas dos anos de 2011 e 2012.
O objetivo é prever a demanda total de bicicletas, que neste caso é a variável cnt, com base em características ambientais e sazonais. Trata-se de um problema de regressão.
Já nos foi apresentada a situação: temos 17.379 linhas e 17 colunas. Vamos à inspeção inicial. Vamos executar o info. Sabemos que o info mostra a quantidade de colunas e seus tipos; para confirmar se a contagem está correta, vamos avaliar o que ele indica sobre as variáveis. Temos variáveis numéricas; uma variável temporal, dteday, que está como objeto e precisará ser convertida para datetime para análises temporais; e algumas variáveis categóricas e binárias. Muitas variáveis estão em int64, mas na prática representam categorias ou variáveis binárias. Isso é positivo porque significa que não teremos trabalho de codificação adicional. Não precisaremos transformar variáveis em texto nem converter objetos para inteiros. Não precisaremos codificar categorias agora, pois isso já está contemplado na estrutura do conjunto de dados. A nossa variável objetivo é cnt, que representa o total de aluguéis, uma variável numérica que será prevista.
Ao consultar o head, veremos as primeiras linhas, o que fornece algumas percepções iniciais. São exibidas as 5 primeiras horas do dia 01/01/2011: 0, 1, 2, 3, 4. Observamos, por exemplo, que na 1ª hora o valor foi 16; na 2ª hora, 32; e na 5ª hora houve apenas uma bicicleta alugada. Temos também temp e atemp, hum e windspeed, todos valores normalizados. Variáveis como season, hr e emf aparecem com códigos numéricos, confirmando sua natureza categórica ou binária.
Para visualizar as primeiras linhas no notebook, executamos:
display(df.head())
Verificamos ainda que cnt é a soma de casual e registered. Isso é relevante, pois cnt está diretamente relacionado a essas duas variáveis, o que indica correlação muito alta. É possível que venhamos a excluir casual e registered do processo de predição para evitar vazamento de informação. Não vamos retirar apenas cnt da lista de preditoras; também precisamos considerar casual e registered, pois todas elas estão presentes no conjunto de dados.
Por fim, executamos o describe, que apresenta estatísticas descritivas. Faremos um ajuste usando o parâmetro include, e vamos aplicá-lo separadamente para reduzir a quantidade de variáveis listadas. O include permite indicar quais variáveis farão parte das estatísticas descritivas; portanto, incluímos apenas os tipos float. Assim, focamos em temp, atemp, hum e windspeed.
Primeiro, as estatísticas descritivas padrão:
display(df.describe())
Em seguida, focamos apenas nas variáveis contínuas (float):
display(df.describe(include=['float64']))
Antes de analisar as estatísticas descritivas, vamos consultar a documentação das variáveis. Nela, constam as colunas, seus significados, tipos e a possível influência na demanda. Temos:
hum: umidade normalizada.temp: temperatura normalizada em Celsius.atemp: sensação térmica.windspeed: velocidade do vento normalizada.holiday: indica se é feriado.weekday: dia da semana.workingday: indica se é dia útil.weathersit: situação climática.season: estação do ano.dteday: data de ocorrência.Para a situação climática (weathersit), há o significado de cada código, como: céu claro, neblina, chuva leve, chuva forte e neve. Essas definições são importantes para apoiar o nosso processo de análise exploratória. Também há uma coluna com a possível influência de cada variável na demanda, como variações sazonais e eventos específicos ao longo do tempo. A demanda tende a ser maior em estações mais quentes e menor no inverno. Observamos ainda tendência anual, variações mensais (por exemplo, meses de férias podem aumentar ou reduzir a demanda), além de picos nas horas de maior movimento e reduções em horários de menor movimento. Em feriados, a demanda pode variar, assim como conforme o dia da semana. Essas possíveis influências nos ajudarão a construir hipóteses — perguntas ou afirmações que levantamos sobre os dados e que validaremos empiricamente. As hipóteses servem para aprofundarmos nosso conhecimento sobre os dados e suas características.
Com a documentação compreendida, voltamos às estatísticas descritivas. Para atemp, a média é 0,47; para temp, 0,49; para hum, 0,62; e para windspeed, 0,19. O desvio padrão é 0,12. O valor máximo de windspeed é 0,85; de hum, 1; e o mínimo é 0. Assim, tanto a sensação térmica (atemp) quanto a umidade (hum) variam de 0 a 1. As estatísticas descritivas facilitam o entendimento das distribuições. O mesmo raciocínio pode ser aplicado às variáveis inteiras, lembrando que muitas delas são, na verdade, categóricas. Por isso, priorizamos a análise das variáveis contínuas (float) neste momento, para observar algumas características do conjunto de dados.
Realizamos todo esse diagnóstico inicial sem escrever nenhuma linha de código: apenas construímos um bom prompt em prompt (comando de instrução) e o entregamos ao Gemini.
O próximo passo é formular hipóteses a partir desses dados — aproximadamente quatro ou cinco hipóteses — e construir gráficos que nos ajudem a respondê-las. Exemplos: como a temperatura influencia a demanda? Como a estação do ano influencia a demanda? Testaremos essas hipóteses por meio de visualizações. Mais uma vez, não faremos isso do zero: entregaremos as hipóteses ao Gemini e o Gemini construirá os gráficos correspondentes. Isso facilita o dia a dia na área de ciência de dados.
Neste vídeo, conhecemos os dados e conduzimos a inspeção inicial. Agora, passaremos para a segunda parte da nossa Aula 2, dedicada à construção e à verificação — ou não — de nossas hipóteses.
Nos vemos no próximo vídeo.
O curso Regressão: avançando em modelos regressivos possui 201 minutos de vídeos, em um total de 46 atividades. Gostou? Conheça nossos outros cursos de Machine Learning & Deep Learning em Dados, ou leia nossos artigos de Dados.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
O Plano Plus evoluiu: agora com Luri para impulsionar sua carreira com os melhores cursos e acesso à maior comunidade tech.
2 anos de Alura
Matricule-se no plano PLUS 24 e garanta:
Jornada de estudos progressiva que te guia desde os fundamentos até a atuação prática. Você acompanha sua evolução, entende os próximos passos e se aprofunda nos conteúdos com quem é referência no mercado.
Back-end, Dados, Front-end, DevOps, Mobile, Gestão & Negócios, UX & Design, Cibersegurança, Cloud, Inteligência Artificial
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
Acesso à inteligência artificial da Alura.
No Discord, você participa de eventos exclusivos, pode tirar dúvidas em estudos colaborativos e ainda conta com mentorias em grupo com especialistas de diversas áreas.
Catálogo de tecnologia para quem é da área de Marketing
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
20% de desconto na Pós Tech
Luri Vision chegou no Plano Pro: a IA da Alura que enxerga suas dúvidas, acelera seu aprendizado e conta também com o Alura Língua que prepara você para competir no mercado internacional.
2 anos de Alura
Todos os benefícios do PLUS 24 e mais vantagens exclusivas:
Acesso ao catálogo da Casa do Código e leitura dentro da plataforma
Chat, busca, exercícios abertos, revisão de aula, geração de legenda para certificado.
Modo entrevista - Pratique situações reais e evolua com feedback personalizado
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Para quem quer atingir seus objetivos mais rápido: Luri Vision ilimitado, vagas de emprego exclusivas e mentorias para acelerar cada etapa da jornada.
2 anos de Alura
Todos os benefícios do PRO 24 e mais vantagens exclusivas:
Catálogo de tecnologia para quem é da área de Marketing
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais de forma ilimitada.
Conecte-se ao mercado com mentoria individual personalizada, vagas exclusivas e networking estratégico que impulsionam sua carreira tech para o próximo nível.