Buscar

Livro-Texto 2 - Ciência de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

85
CIÊNCIA DE DADOS
Unidade II
5 PREPARAÇÃO E PRÉ‑PROCESSAMENTO DE DADOS
A preparação e o pré-processamento de dados são etapas cruciais no processo de ciência de dados 
e mineração de dados. Essas etapas visam transformar e organizar os dados brutos em um formato 
adequado para análise e modelagem.
Constam a seguir algumas das principais tarefas envolvidas na preparação e pré-processamento 
de dados:
Limpeza de dados
Envolve a identificação e o tratamento de dados ausentes, inconsistentes ou incorretos. Os dados 
ausentes podem ser preenchidos por meio de técnicas como imputação, em que os valores faltantes são 
estimados com base em outros dados. Já os dados inconsistentes ou incorretos podem ser corrigidos ou 
removidos, dependendo do contexto.
Por exemplo: vamos imaginar que você tenha um conjunto de dados com os seguintes campos para 
cada cliente.
Nome Idade E-mail Número de telefone Endereço
Durante a limpeza de dados, é possível encontrar várias questões que precisam ser abordadas:
• Valores ausentes: alguns campos podem estar vazios. Por exemplo, certos clientes podem não 
ter fornecido o número de telefone ou o endereço.
• Outliers: valores que são muito diferentes da maioria dos outros. Por exemplo, uma idade de 
150 anos pode ser um outlier e precisa ser examinada.
• Formato incorreto: e-mails e números de telefone podem ter formatos incorretos ou inválidos.
• Duplicatas: pode haver registros duplicados no conjunto de dados.
• Erros de digitação: nomes mal escritos, endereços incorretos e outras formas de erros de digitação 
podem ocorrer.
86
Unidade II
Normalização e padronização
Os dados podem estar em diferentes escalas e unidades de medida, o que talvez afete a 
análise.  A  normalização e a padronização são técnicas para transformar os dados em uma escala 
comum. A primeira ajusta os dados para um intervalo específico, como entre 0 e 1, enquanto a segunda 
transforma os dados para ter média zero e desvio padrão um.
Codificação de variáveis categóricas
Variáveis categóricas, como cores, categorias ou estados civis, precisam ser codificadas de forma 
numérica para que os algoritmos de aprendizado de máquina possam processá-las adequadamente. Isso 
pode ser feito por meio da técnica de codificação one-hot, em que cada categoria se torna uma nova 
coluna binária.
Redução de dimensionalidade
Em conjuntos de dados com muitas características ou variáveis, a redução de dimensionalidade pode 
ser aplicada para diminuir a complexidade do modelo e melhorar a eficiência computacional. Técnicas 
como análise de componentes principais (PCA) ou seleção de características podem ser utilizadas para 
identificar os aspectos mais relevantes ou combinar propriedades correlacionadas.
Tratamento de outliers
Como vimos, outliers são valores atípicos que se desviam significativamente do padrão geral dos 
dados. Eles podem afetar negativamente a análise e os modelos. Os outliers podem ser detectados e 
tratados, seja removendo-os, substituindo-os por valores próximos ou atribuindo um valor especial a 
eles, dependendo da situação.
Divisão de dados
É comum dividir o conjunto de dados em conjuntos de treinamento, validação e teste. O conjunto 
de treinamento é usado para treinar o modelo, o conjunto de validação é utilizado para ajustar os 
hiperparâmetros do modelo e o conjunto de teste é empregado para avaliar o desempenho final do 
modelo. Essa divisão é importante a fim de evitar o sobreajuste do modelo aos dados de treinamento.
Essas são apenas algumas das tarefas comuns na preparação e pré-processamento de dados. 
O objetivo é obter um conjunto de dados limpo, consistente e bem-estruturado, pronto para ser utilizado 
em análises estatísticas, algoritmos de aprendizado de máquina e outras técnicas de mineração de dados. 
Uma boa preparação e pré-processamento de dados consegue impactar diretamente a qualidade e a 
eficácia dos resultados obtidos.
Em alguns casos, os conjuntos de dados podem ser muito grandes e, portanto, trabalhar com o 
conjunto completo torna-se inviável ou demorado. Nessas hipóteses, é comum realizar amostragem dos 
dados, selecionando uma parte representativa do conjunto completo. Existem diferentes técnicas de 
87
CIÊNCIA DE DADOS
amostragem, como amostragem aleatória simples, estratificada ou por conglomerados, dependendo da 
natureza dos dados e do objetivo da análise.
Em problemas de classificação, é possível que as classes não estejam balanceadas, ou seja, exista 
uma grande diferença no número de amostras entre as classes. Isso pode levar a um viés no modelo de 
aprendizado de máquina. Nesses casos, devemos aplicar técnicas de balanceamento de classes, como 
oversampling (aumento da quantidade de amostras da classe minoritária) ou undersampling (redução 
da quantidade de amostras da classe majoritária), para criar um conjunto de dados equilibrado.
Além do balanceamento de classes, é importante lidar com dados desbalanceados em outras variáveis, 
como atributos categóricos. Por exemplo, se um atributo categórico tem uma categoria dominante 
que ocorre com frequência muito maior do que as outras, isso pode introduzir um viés no modelo. 
Consequentemente, é possível agrupar as categorias menos frequentes em uma única ou aplicar técnicas 
de amostragem estratificada para garantir uma representação adequada de todas as categorias.
Em problemas com dados temporais, como séries temporais, precisamos considerar a dependência 
temporal dos dados. É comum aplicar técnicas como suavização, diferenciação ou decomposição para 
identificar tendências, padrões sazonais ou componentes de erro nos dados. Além disso, é importante 
garantir que a ordem temporal seja preservada ao dividir o conjunto de dados em treinamento, 
validação e teste.
Dados duplicados podem afetar negativamente a análise e os modelos. Portanto, devemos identificar 
e lidar com essas duplicações. Isso pode ser feito por meio da remoção de linhas duplicadas ou por 
técnicas mais avançadas, como detecção de duplicatas baseada em algoritmos de hashing.
Quando os dados estão desbalanceados em termos de distribuição, como, por exemplo, em dados 
que seguem uma distribuição exponencial ou log-normal, é possível aplicar técnicas de normalização 
para torná-los mais adequados a modelos de aprendizado de máquina. Isso pode incluir transformações 
logarítmicas ou exponenciais a fim de ajustar a distribuição dos dados.
A preparação e o pré-processamento de dados são etapas cruciais para garantir a qualidade e a 
utilidade dos dados em análises posteriores. Essas etapas ajudam a tornar os dados mais adequados 
para a aplicação de algoritmos de aprendizado de máquina, melhorando a eficácia e a confiabilidade 
dos modelos resultantes. Ao realizá-las, é importante também manter um registro claro e documentado 
de todas as transformações aplicadas. Isso ajuda a rastrear e reproduzir as etapas de pré-processamento, 
garantindo a consistência dos resultados.
Além disso, é fundamental considerar a aplicação de técnicas de pré-processamento específicas para 
lidar com problemas e características dos dados em questão. Por exemplo, dados textuais podem exigir 
etapas de pré-processamento adicionais, como remoção de stopwords, stemming ou lematização, para 
extrair informações relevantes.
88
Unidade II
 Observação
Remoção de stopwords: as “stopwords” são palavras muito comuns 
em um idioma e em geral não contribuem significativamente para o 
significado de uma frase. Elas incluem artigos, preposições, pronomes e 
outras palavras de ligação. A remoção de stopwords envolve eliminar essas 
palavras de um texto para reduzir a dimensionalidade e focar nos termos 
mais importantes para análise.
Exemplo:
Frase original: “o cachorro pulou sobre a cerca.”
Frase após a remoção de stopwords: “cachorro pulou cerca.”
Stemming: o stemming é um processo de redução de palavras ao 
seu “stem” (raiz), removendo os sufixos e prefixos para encontrar a forma 
básica da palavra. Isso pode ajudar a tratar diferentesformas de uma 
mesma palavra como iguais, reduzindo a sua variabilidade e simplificando 
o processamento.
Exemplo:
Palavra original: “correndo”
Stem: “corr”
Lematização: a lematização também envolve a redução das palavras 
às suas formas básicas, mas de uma maneira mais precisa do que o 
stemming. Ela considera a morfologia da palavra e a transforma em seu 
“lemma” (forma base), que é um dicionário ou forma padrão do termo. 
Isso é mais preciso do que o stemming, mas também pode ser mais 
complexo computacionalmente.
Exemplo:
Palavra original: “correndo”
Lemma: “correr”
Vale ressaltar que a preparação e o pré-processamento de dados não são etapas únicas e imutáveis. 
Dependendo dos resultados obtidos na análise ou nos modelos de aprendizado de máquina, pode ser 
necessário iterar e ajustar as etapas de pré-processamento para melhorar a qualidade dos dados ou 
refinar os resultados.
89
CIÊNCIA DE DADOS
A preparação e o pré-processamento de dados são etapas essenciais na jornada de análise de dados e 
modelagem de aprendizado de máquina. Elas envolvem desde a limpeza e a transformação dos dados 
até a seleção e o ajuste das variáveis relevantes para a análise. Um pré-processamento adequado pode 
contribuir significativamente para a qualidade dos resultados e garantir que os modelos de aprendizado 
de máquina sejam treinados em dados confiáveis e representativos.
5.1 Principais fontes de dados
Existem várias fontes de dados disponíveis para os profissionais de ciência de dados e análise de 
dados. Constam a seguir algumas das principais delas utilizadas:
• Bases de dados internas: muitas organizações possuem bases de dados internas que contêm 
informações sobre seus processos, operações, clientes, transações, entre outros. Elas são fonte 
valiosa de dados estruturados que podem ser explorados para obter insights e impulsionar a 
tomada de decisões.
• Bases de dados públicas: há uma grande variedade de bases de dados públicas disponíveis, 
fornecidas por instituições governamentais, organizações de pesquisa, instituições acadêmicas e 
outras fontes. Elas podem conter informações demográficas, econômicas, ambientais, científicas 
e muito mais, sendo úteis para diversas análises e estudos.
• Redes sociais e plataformas online: as redes sociais e outras plataformas online são fontes 
ricas de dados não estruturados, como postagens, comentários, fotos e vídeos. Esses dados podem 
ser coletados e analisados para entender o comportamento do usuário, opiniões, tendências de 
mercado e até mesmo a fim de identificar padrões e insights relevantes.
• Sensores e dispositivos conectados: com o avanço da Internet das Coisas (IoT), cada vez mais 
dispositivos estão conectados à internet, gerando uma quantidade massiva de dados em tempo 
real. Sensores em veículos, aparelhos domésticos, wearables e outros dispositivos coletam dados 
sobre localização, temperatura, atividades, saúde e muito mais. Eles podem ser utilizados para 
análises em tempo real, previsões e otimização de processos.
• Dados de pesquisas e estudos: dados provenientes de pesquisas e estudos acadêmicos também 
podem ser uma fonte valiosa de informações. Eles abrangem áreas como saúde, ciências sociais, 
economia, psicologia, entre outras. Muitas vezes, esses dados estão disponíveis publicamente ou 
podem ser adquiridos por meio de colaborações ou acordos com instituições de pesquisa.
• Dados externos de terceiros: existem várias empresas que coletam e fornecem dados para fins 
comerciais. Esses dados podem incluir informações de mercado, dados demográficos, dados de 
vendas, dados de comportamento do consumidor, entre outros. O acesso a eles pode ser pago ou 
gratuito, dependendo da fonte e das informações desejadas.
• Web scraping: o web scraping envolve a extração de dados de sites e páginas da web por 
meio de técnicas automatizadas. Trata-se de uma forma de obter dados não estruturados ou 
90
Unidade II
semiestruturados de fontes diversas, como notícias, blogs, fóruns, e-commerce, entre outros. 
No entanto, é importante seguir as diretrizes éticas e legais ao realizá-lo.
Essas são apenas algumas das principais fontes de dados utilizadas na ciência de dados e análise de 
dados. É importante lembrar que a escolha das fontes de dados depende do contexto, do objetivo da 
análise e dos dados necessários para responder às perguntas ou resolver os problemas específicos em 
mãos. Além disso, é fundamental garantir a qualidade e a confiabilidade dos dados obtidos, realizando 
verificações e validações a fim de garantir sua integridade. Isso inclui a verificação da procedência 
dos dados, a detecção e correção de erros ou inconsistências e a aplicação de técnicas de limpeza e 
normalização, conforme necessário.
Ademais, ao utilizar fontes de dados externas ou dados coletados de terceiros, devemos considerar 
questões de privacidade e conformidade legal. Certifique-se de ter permissão para acessar e utilizar 
esses dados de acordo com as leis e regulamentações aplicáveis, como a Lei Geral de Proteção de Dados 
Pessoais (LGPD) no Brasil.
Ao trabalhar com diferentes fontes de dados, pode ser necessário realizar processos de integração e 
fusão de dados para combinar informações provenientes de várias fontes em um único conjunto coeso 
e abrangente. Essa etapa envolve mapear e relacionar as variáveis correspondentes entre as fontes de 
dados, garantindo a consistência e a interoperabilidade dos dados combinados.
A escolha das fontes de dados adequadas desempenha um papel importante no sucesso de um 
projeto de ciência de dados. Ao utilizar uma variedade de fontes de dados relevantes, conseguimos 
obter uma visão mais abrangente e precisa do problema em questão. No entanto, devemos garantir 
a qualidade, a integridade e a conformidade dos dados, além de seguir as práticas éticas e legais ao 
coletar, processar e utilizar essas informações.
5.2 Coleta, limpeza e organização das informações
A coleta, limpeza e organização das informações são etapas essenciais no processo de análise de 
dados. Elas visam obter dados confiáveis, livres de ruídos e prontos para serem utilizados na análise. 
Vamos explorar cada uma delas:
Coleta de dados
O primeiro passo é definir o problema a ser resolvido, mas fazê-lo nem sempre é tão simples quanto 
parece, por uma variedade de razões, que incluem a complexidade dos dados, as expectativas dos 
stakeholders e a clareza dos objetivos. Após definido o problema, com base nele, são selecionados os 
dados a serem utilizados na análise.
A coleta de dados envolve a obtenção das informações necessárias para a análise. Isso pode ser feito 
por meio de diferentes fontes de dados, como bases de dados internas, fontes públicas, redes sociais, 
dispositivos conectados, entre outros. Dependendo da fonte, os dados podem ser obtidos por meio de 
consultas a bancos de dados, APIs, web scraping ou até mesmo coleta manual. É importante definir 
91
CIÊNCIA DE DADOS
quais variáveis e informações são relevantes para a análise e garantir que os dados coletados sejam 
representativos e abrangentes o suficiente a fim de responder às perguntas da pesquisa.
Antes de iniciar a coleta de dados, é fundamental definir claramente o objetivo do projeto. 
Compreender o que você deseja alcançar ajuda a determinar quais dados são necessários, quais fontes 
devem ser exploradas e como os dados precisam ser coletados e organizados. Identificar as fontes de 
onde os dados podem ser obtidos é uma etapa muito importante.
Crie um plano detalhado de como os dados serão coletados. Isso inclui decidir quais campos ou 
variáveis são relevantes, como os dados serão estruturados, qual a frequência da coleta e como eles serão 
armazenados. É importante garantir que os dados coletados sejam precisos, completos e representativos 
do seu objetivo. A qualidade dos dados é essencial.
Ao coletar dados, necessitamos respeitar a privacidade das pessoas e seguir diretrizes éticas. 
Certifique-se de estar em conformidade com as regulamentaçõesde proteção de dados, especialmente se 
eles envolverem informações pessoais. Os dados coletados devem ser armazenados de forma organizada 
e segura. Use sistemas de gerenciamento de banco de dados ou estruturas de armazenamento adequadas 
para garantir que os dados sejam acessíveis e protegidos.
Mantenha um registro detalhado de todo o processo de coleta, incluindo fontes, datas, métodos, 
transformações aplicadas, e quaisquer problemas encontrados. Isso ajuda a preservar um histórico 
confiável dos dados. Em muitos casos, os dados precisam ser atualizados regularmente para permanecerem 
relevantes. Certifique-se de ter um plano para manter seus dados atualizados e refletindo as mudanças 
ao longo do tempo.
Após coletar e preparar os dados, eles estão prontos para análise, modelagem ou outras atividades 
específicas de seu projeto. A qualidade dos resultados dependerá da qualidade dos dados coletados e da 
forma como foram processados.
A coleta de dados é um processo iterativo que envolve planejamento, execução, revisão e ajustes 
conforme necessário. A qualidade dos dados coletados e a precisão das informações que eles representam 
são fundamentais para tomar decisões informadas e obter insights significativos.
Limpeza de dados
A limpeza de dados é uma etapa crítica para garantir a qualidade dos dados. Nessa etapa, são 
identificados e tratados problemas como dados ausentes, erros de digitação, valores inconsistentes 
ou outliers. Também é comum lidar com dados duplicados ou inconsistentes, que precisam ser 
removidos ou corrigidos. A limpeza de dados pode envolver a aplicação de técnicas estatísticas, como 
imputação de dados faltantes, remoção de outliers, padronização de valores, entre outros. É importante 
realizar uma análise exploratória dos dados para identificar possíveis problemas e aplicar as estratégias 
corretas de limpeza.
92
Unidade II
Explicaremos melhor os três tipos principais de problemas que frequentemente são tratados na 
limpeza de dados: valores ausentes, valores ruidosos (outliers) e valores inconsistentes.
Valores ausentes
Valores ausentes ocorrem quando um campo ou variável não possui um valor válido. Lidar com 
valores ausentes é importante para evitar distorções e imprecisões em análises.
Exemplo: suponha que você esteja trabalhando com um conjunto de dados de avaliações de 
produtos, e alguns registros não possuam uma classificação atribuída. Nesse caso, será possível optar 
por preencher esses valores ausentes com a média das classificações existentes ou remover as entradas 
sem classificação, dependendo do contexto.
Decida se os valores ausentes podem ser preenchidos com valores calculados (média, mediana) ou se 
a linha inteira deve ser removida. A escolha depende do impacto nos resultados e do contexto.
Valores ruidosos (outliers)
Outliers são valores que se desviam significativamente do padrão dos demais dados e podem 
distorcer análises e modelos. Tratar outliers envolve decidir se eles são erros reais ou representam 
informações valiosas.
Exemplo: considere um conjunto de dados de renda familiar, em que a maioria das famílias possui 
rendas na faixa de $ 3.000 a $ 10.000, mas há um registro com renda de $ 1.000.000. Nesse caso, 
precisaremos avaliar se esse valor é um erro de entrada ou representa uma situação legítima, como uma 
família de alto rendimento.
Avalie a legitimidade dos outliers e considere se eles são erros de entrada ou representam situações 
reais. Em alguns casos, você pode decidir mantê-los para não perder informações valiosas.
Valores inconsistentes
Valores inconsistentes ocorrem quando os dados não seguem as regras ou padrões esperados. Isso 
pode ser causado por erros de entrada, problemas na coleta de dados ou outras fontes.
Exemplo: se você está trabalhando com um conjunto de dados de idade de pessoas e encontra 
registros de pessoas com idades negativas, isso é uma inconsistência. Eles precisam ser revisados e 
corrigidos, já que a idade não pode ser negativa.
Identifique os padrões de inconsistência e aplique transformações para corrigir os valores ou remova 
as entradas com inconsistências graves.
93
CIÊNCIA DE DADOS
A limpeza de dados requer uma combinação de conhecimento de domínio, senso crítico e técnicas 
analíticas. Ela pode ser uma etapa iterativa, na qual você avalia os resultados após cada etapa de limpeza 
a fim de garantir que os dados estejam prontos para análises subsequentes.
Organização dos dados
A organização dos dados refere-se à estruturação e formatação dos dados para facilitar a análise. Isso 
inclui a definição de variáveis e seus tipos, a criação de tabelas ou matrizes estruturadas, a organização 
de dados em formatos específicos, como CSV, JSON ou bancos de dados relacionais. Também pode 
envolver a criação de variáveis derivadas ou transformações nos dados para melhor representar a 
informação desejada. A organização adequada dos dados facilita a aplicação de técnicas de análise e 
modelagem posteriormente.
Precisamos ressaltar que coleta, limpeza e organização de dados não são tarefas únicas, mas 
sim um processo contínuo. À medida que novos dados são coletados ou novas necessidades surgem 
na análise, pode ser necessário iterar e repetir essas etapas. Além disso, é fundamental documentar 
todas as transformações e decisões tomadas durante esse processo para garantir a rastreabilidade e a 
replicabilidade da análise.
A coleta, limpeza e organização das informações são etapas muito importantes para garantir a 
qualidade e a confiabilidade dos dados utilizados na análise. Essas etapas permitem que os dados sejam 
preparados de forma adequada, livres de ruídos e prontos para a análise exploratória e modelagem de dados.
5.3 Métodos de raspagem
A raspagem de dados, também conhecida como web scraping, é uma técnica utilizada para extrair 
informações de páginas da web de forma automatizada. Essa abordagem permite coletar dados de 
diferentes fontes online de maneira eficiente e rápida, sem a necessidade de intervenção manual.
Existem diversos métodos de raspagem de dados, cada um com suas particularidades e aplicações 
específicas. Alguns dos mais comuns incluem:
Análise de HTML
Este método envolve a análise do código HTML da página web para identificar os elementos desejados 
e extrair as informações relevantes. É possível utilizar bibliotecas e ferramentas específicas para realizar 
essa análise, como BeautifulSoup em Python.
Web scraping baseado em API
Alguns sites e plataformas fornecem APIs (application programming interfaces) que permitem 
acessar e obter dados de maneira estruturada. Por meio delas, é possível enviar requisições e receber 
respostas em um formato específico, como JSON, facilitando a extração de dados de forma mais direta 
e organizada.
94
Unidade II
Uso de bibliotecas específicas
Existem várias bibliotecas e frameworks disponíveis em diferentes linguagens de programação que 
facilitam a raspagem de dados. Exemplos populares incluem Scrapy em Python e Selenium, que permite 
automatizar a interação com páginas web, preenchendo formulários, clicando em botões e navegando 
por diversas seções do site.
Raspagem de dados de mídias sociais
Para extrair dados de plataformas de mídia social, como Twitter, Facebook ou Instagram, podem 
ser utilizadas APIs específicas fornecidas pelas próprias plataformas ou bibliotecas que simplificam a 
interação com essas APIs. Além disso, algumas bibliotecas de raspagem de dados podem ser usadas para 
coletar informações publicamente disponíveis nessas plataformas.
É importante ressaltar que, ao realizar a raspagem de dados, precisamos seguir as diretrizes éticas 
e legais. Alguns sites podem ter políticas específicas que proíbem a raspagem de dados sem permissão, 
portanto, devemos verificar os termos de serviço e as políticas de privacidade dos sites antes de efetuar 
qualquer raspagem de dados.
Ademais, é importante considerar a estrutura e o layout do site-alvo, uma vez que esses elementos 
podem mudar ao longo dotempo, exigindo ajustes na lógica de raspagem. Também recomenda-se 
monitorar a taxa de solicitações para evitar sobrecarregar os servidores do site e respeitar os 
limites impostos.
Os métodos de raspagem de dados são ferramentas poderosas para extrair informações de páginas 
web e outras fontes online. Ao utilizar esses métodos de forma ética e respeitando as políticas dos sites, 
é possível obter dados valiosos para análise e tomada de decisões.
5.4 Tabulação
Tabulação, também conhecida como tabulação cruzada ou tabulação de dados, é uma técnica 
estatística usada para resumir e analisar dados em forma de tabelas. Essa técnica é utilizada em pesquisas 
de opinião, estudos de mercado, análise de dados quantitativos e em várias outras áreas.
Ela permite visualizar e compreender os relacionamentos entre diferentes variáveis em um conjunto 
de dados. Seu objetivo principal é apresentar as frequências e proporções de cada combinação de valores 
das variáveis, permitindo identificar padrões, tendências e associações.
O processo de tabulação envolve os seguintes passos:
1. Identificação das variáveis: determine quais variáveis são relevantes para a análise e quais 
categorias ou valores elas podem assumir. Por exemplo, em uma pesquisa de opinião, as variáveis podem 
ser idade, gênero, nível educacional e preferências. É importante defini-las de forma clara e precisa para 
garantir uma tabulação adequada.
95
CIÊNCIA DE DADOS
2. Organização dos dados: organize os dados em uma tabela, na qual cada linha representa uma 
observação (indivíduo ou caso) e cada coluna uma variável. Os valores correspondentes às variáveis são 
registrados nas células da tabela.
3. Contagem de frequências: conte o número de ocorrências para cada combinação de valores 
das variáveis. Isso pode ser feito manualmente ou utilizando software estatístico ou ferramentas de 
análise de dados.
4. Cálculo de proporções: calcule as proporções ou percentagens em relação ao total ou a um 
subconjunto específico. Isso permite comparar as frequências relativas das diferentes combinações de 
valores e obter insights sobre a distribuição dos dados.
5. Apresentação dos resultados: os resultados da tabulação podem ser apresentados em tabelas 
ou gráficos, dependendo da natureza dos dados e da finalidade da análise. Tabelas de frequência, tabelas 
de contingência e gráficos de barras ou de pizza são comumente utilizados para visualizar os resultados 
da tabulação.
A tabulação permite analisar dados de forma rápida e eficiente, identificando associações entre 
variáveis e destacando padrões relevantes. Trata-se de uma técnica fundamental para a exploração 
inicial de um conjunto de dados e pode servir como base para análises mais avançadas, como testes de 
hipóteses, modelagem estatística e tomada de decisões.
No entanto, devemos destacar que a tabulação é uma técnica descritiva e não inferencial. Ela fornece 
informações sobre as relações observadas nos dados, mas não permite estabelecer relações causais ou 
fazer inferências sobre a população em geral. A tabulação é uma técnica estatística utilizada para resumir 
e analisar dados em forma de tabelas. Ela permite identificar padrões e associações entre variáveis, 
facilitando a compreensão dos dados e fornecendo insights valiosos para a análise e interpretação 
dos resultados.
5.5 Seleção de atributos
A seleção de atributos, também conhecida como seleção de variáveis, é uma etapa importante no 
processo de análise de dados e modelagem preditiva. Ela envolve a escolha dos atributos mais relevantes 
e informativos em um conjunto de dados para construir modelos mais eficientes e precisos.
Tal seleção é realizada com o objetivo de reduzir a dimensionalidade dos dados, ou seja, diminuir o 
número de atributos a serem considerados no modelo, sem comprometer a qualidade da análise. Existem 
diversas técnicas e abordagens para efetuar essa seleção, sendo que a escolha da técnica mais adequada 
depende do tipo de dados, do objetivo do modelo e das características do problema em questão.
Ao selecionar os atributos mais relevantes, o modelo tende a ser mais preciso, uma vez que se 
concentra nas informações mais importantes e descarta ruídos ou dados irrelevantes. Ao reduzir o 
número de atributos, o modelo se torna mais simples de interpretação, facilitando a compreensão dos 
96
Unidade II
fatores que influenciam nas previsões ou classificações. Com menos atributos, o tempo de treinamento 
do modelo é reduzido, o que é especialmente útil em conjuntos de dados grandes e complexos.
Existem diferentes técnicas de seleção de atributos, que podem ser divididas em três categorias 
principais:
• Métodos baseados em filtros: utilizam métricas estatísticas ou heurísticas para avaliar a relação 
entre cada atributo e a variável-alvo, sem levar em consideração o modelo de aprendizado. 
Exemplos comuns incluem a análise de correlação, testes de independência, ganho de informação 
e índice de relevância.
• Métodos baseados em wrappers: um modelo de aprendizado é utilizado para avaliar a 
importância dos atributos. Ele é treinado repetidamente, removendo ou adicionando atributos de 
forma iterativa e avaliando a performance do modelo em cada iteração. Exemplos incluem busca 
exaustiva, busca para frente e busca para trás.
• Métodos incorporados: incorporam a seleção de atributos diretamente no processo de treinamento 
do modelo. Alguns algoritmos de aprendizado, como, por exemplo, árvores de decisão, possuem 
mecanismos internos para selecionar automaticamente os atributos mais relevantes durante o 
processo de construção do modelo.
A seleção de atributos não é uma etapa trivial e requer análise cuidadosa dos dados e do problema 
em questão. Precisamos considerar fatores como relevância, redundância, correlação entre atributos, 
impacto na performance do modelo e interpretabilidade. Além disso, é recomendado utilizar técnicas 
de validação cruzada para avaliar o desempenho do modelo com diferentes conjuntos de atributos. 
Essa seleção visa escolher os atributos mais relevantes e informativos a fim de construir modelos mais 
precisos, eficientes e interpretativos.
5.6 Engenharia de características
A engenharia de características, também conhecida como seleção ou criação de atributos, é um 
processo essencial na análise de dados e modelagem preditiva. Envolve a transformação dos dados 
brutos em um conjunto de características relevantes e informativas, que possam ser utilizadas pelos 
algoritmos de aprendizado de máquina para construir modelos mais precisos e eficientes.
A importância da engenharia de características reside no fato de que nem sempre os dados brutos 
estão em um formato adequado para a construção de modelos. Muitas vezes, os dados originais contêm 
informações irrelevantes, ruídos ou podem estar incompletos. Através da engenharia de características, é 
possível extrair e criar informações que sejam mais relevantes para o problema em questão, melhorando 
a performance dos modelos.
A primeira abordagem é a seleção de características, que consiste em selecionar um subconjunto 
relevante de características do conjunto de dados original. A seleção pode ser feita com base em critérios 
estatísticos, como a análise de correlação, testes de independência ou ganho de informação. Também é 
97
CIÊNCIA DE DADOS
possível utilizar algoritmos de aprendizado de máquina para avaliar a importância das características. 
A seleção de características reduz a dimensionalidade do conjunto de dados, eliminando características 
irrelevantes ou redundantes, o que pode resultar em modelos mais simples e eficientes.
A segunda abordagem é a criação de características que envolve a origem de novas características com 
base nas características existentes no conjunto de dados. Essa abordagem busca capturar informações 
adicionais e relevantes que possam estar ocultas nos dados originais. Alguns exemplos de técnicas de 
criação de características incluem a combinação linear de características, aextração de características 
a partir de textos ou imagens e a criação de variáveis categóricas a partir de variáveis contínuas. 
A criação de características pode ser feita com base no conhecimento do domínio do problema, em 
técnicas de processamento de linguagem natural, em algoritmos de extração de características ou 
em métodos de aprendizado não supervisionado.
Devemos ressaltar que a engenharia de características é um processo iterativo e criativo. Requer um 
bom entendimento do domínio do problema, além de uma análise aprofundada dos dados. Também é 
recomendado avaliar o desempenho dos modelos com diferentes conjuntos de características, utilizando 
técnicas de validação cruzada, para selecionar as melhores características e evitar overfitting.
A engenharia de características envolve a seleção e criação de características relevantes e informativas 
a partir dos dados brutos, com o objetivo de melhorar a performance dos modelos de aprendizado 
de máquina. A escolha adequada das características pode levar a modelos mais precisos, eficientes 
e interpretáveis.
5.7 Normalização dos dados
A normalização dos dados é um processo importante na preparação e pré-processamento de dados 
antes de aplicar algoritmos de aprendizado de máquina. Consiste em ajustar a escala dos dados para que 
eles estejam em um intervalo específico ou sigam uma distribuição padrão, tornando-os comparáveis e 
facilitando a análise.
Existem diferentes técnicas de normalização que podem ser aplicadas, dependendo das características 
dos dados e dos requisitos do problema. Algumas das técnicas mais comuns são:
Normalização Min-Max
Nesta técnica, os valores dos dados são ajustados para um intervalo específico, geralmente entre 0 e 1. 
A fórmula utilizada é dada por:
x_norm = (x- min(x) / (max(x) - min(x)
Onde:
• x é o valor original;
98
Unidade II
• x norm_ é o valor normalizado;
• min(x) é o menor valor dos dados;
• max(x) é o maior valor dos dados.
A normalização Min-Max é útil quando os dados possuem limites bem definidos e não são sensíveis 
a outliers. Ela preserva a distribuição dos dados, mantendo as relações proporcionais entre eles.
Exemplo:
Suponha que você tenha as seguintes notas dos alunos em uma escala de 0 a 100:
• Aluno A: 75
• Aluno B: 90
• Aluno C: 60
• Aluno D: 85
Vamos normalizar essas notas usando a fórmula Min-Max:
1 – Encontre min( )x e max( )x das notas:
min( )
max( )
x
x
=
=
60
90
2 – Aplique a fórmula de normalização Min-Max para cada aluno:
Para o aluno A:
xnormA �
�
�
�
( )
( )
.
75 60
90 60
0 5
Para o aluno B:
xnormB �
�
�
�
( )
( )
.
90 60
90 60
1 0
Para o aluno C:
xnormC �
�
�
�
( )
( )
.
60 60
90 60
0 0
99
CIÊNCIA DE DADOS
Para o aluno D:
xnormD �
�
�
�
( )
( )
.
85 60
90 60
0 8
Agora as notas dos alunos foram normalizadas na faixa de 0 a 1:
• Aluno A: 0.5
• Aluno B: 1.0
• Aluno C: 0.0
• Aluno D: 0.8
A normalização Min-Max é útil quando você deseja trazer diferentes variáveis para a mesma escala, 
especialmente quando se trabalha com algoritmos sensíveis à escala dos dados, como redes neurais e 
algoritmos de otimização.
Normalização Z-score
Também conhecida como padronização, esta técnica ajusta os dados de forma que tenham uma 
média zero e um desvio padrão de um. A fórmula utilizada é dada por:
x_norm = (x- mean(x)) /std(x)
Onde:
• x é o valor original;
• x_norm é o valor normalizado;
• mean(x) é a média dos dados;
• std(x) é o desvio padrão dos dados.
A normalização Z-score é útil quando se deseja comparar os dados com base na sua posição relativa 
em relação à média e ao desvio padrão. Ela é sensível a outliers, uma vez que considera a média e o 
desvio padrão dos dados.
Exemplo:
Vamos utilizar as mesmas notas dos alunos:
100
Unidade II
• Aluno A: 75
• Aluno B: 90
• Aluno C: 60
• Aluno D: 85
Primeiramente, calcule a mean(x) e std(x) o das notas:
mean(x)=
75 90 60 85
4
77 5
� � �
� .
std(x)=
( ( ))x mean x
n
ii
n ��� 21
std(x)= (
( , ) ( . ) ( . ) ( . )
)
75 77 5 90 77 5 60 77 5 85 77 5
4
5 152 2 2 2� � � � � � �
�
� 66 25 306 25 56 25
4
. . .� �
std x( ) .=11 4
Na sequência, aplique a fórmula de normalização Z-score para cada aluno:
Para o aluno A:
xnorm A_
.
.
.�
�
� �
75 77 5
11 4
0 2
Para o aluno B:
xnorm B_
.
.
.�
�
�
90 77 5
11 4
1 1
Para o aluno C:
xnorm C_
.
.
.�
�
� �
60 77 5
11 4
1 5
Para o aluno D:
xnorm D_
.
.
.�
�
�
85 77 5
11 4
0 6
101
CIÊNCIA DE DADOS
Por fim, as notas dos alunos foram normalizadas usando o Z-score:
• Aluno A: -0.2
• Aluno B: 1.1
• Aluno C: -1.5
• Aluno D: 0.6
A normalização Z-score é útil quando você deseja comparar e analisar dados que podem ter diferentes 
médias e desvios padrão. Ela transforma os dados para terem uma distribuição normal com média zero e 
desvio padrão um. Quanto mais próximo de 0 for o desvio padrão, mais homogêneo são os dados.
Normalização por escala logarítmica
Em alguns casos, os dados podem apresentar distribuição assimétrica ou amplitude muito grande. 
Nesses casos, a normalização por escala logarítmica pode ser aplicada para reduzir a variação e tornar 
os dados mais comparáveis.
A fórmula utilizada é dada por:
x norm x_ log( )=
Onde:
• x é o valor original;
• x norm_ é o valor normalizado.
A normalização por escala logarítmica é útil quando se deseja reduzir a influência de valores extremos 
e ampliar a capacidade de distinguir diferenças nos valores menores.
Exemplo:
Vamos considerar as mesmas notas dos alunos:
• Aluno A: 75
• Aluno B: 90
• Aluno C: 60
• Aluno D: 85
102
Unidade II
Primeiramente, aplique a normalização por escala logarítmica a cada nota:
• Para o aluno A: log( ) .75 4 317≈
• Para o aluno B: log( ) .90 4 499≈
• Para o aluno C: log( ) .60 4 094≈
• Para o aluno D: log( ) .85 4 442≈
Na sequência, as notas dos alunos foram normalizadas usando a escala logarítmica:
• Aluno A: 4.317
• Aluno B: 4.499
• Aluno C: 4.094
• Aluno D: 4.442
A normalização por escala logarítmica é útil quando os dados possuem ampla variação e a escala 
logarítmica pode torná-los mais comparáveis. Essa técnica é frequentemente usada quando os dados 
originalmente variam em ordens de magnitude diferentes.
Vale lembrar que a normalização por escala logarítmica pode distorcer as diferenças relativas entre 
valores e é mais adequada quando os dados têm distribuição assimétrica ou as diferenças relativas são 
menos importantes do que as diferenças absolutas.
Precisamos ressaltar que a escolha da técnica de normalização depende do tipo de dados, da 
distribuição dos dados e dos requisitos específicos do problema. Além disso, a normalização deve ser 
aplicada separadamente em conjuntos de treinamento e teste, para evitar vazamento de informações.
A normalização dos dados permite que os algoritmos de aprendizado de máquina tratem os dados 
de forma adequada, evitando que variáveis com escalas diferentes dominem a análise. Ela facilita a 
comparação, interpretação e visualização dos dados, além de melhorar a performance e a convergência 
dos modelos de machine learning.
5.8 Dados ausentes
Dados ausentes são um desafio comum na análise de dados, e ocorrem quando não há valores 
disponíveis para uma ou mais variáveis em determinadas observações. A presença de dados ausentes 
pode comprometer a qualidade da análise e dos modelos de aprendizado de máquina, pois a falta de 
informações leva a conclusões imprecisas ou enviesadas.
103
CIÊNCIA DE DADOS
Existem diferentes razões pelas quais os dados podem estar ausentes, devido a erros de coleta, 
problemas técnicos, recusa dos respondentes em fornecer certas informações ou simplesmente por não 
terem sido registrados. Independentemente da causa, é importante lidar de forma adequada com os 
dados ausentes para evitar viés nos resultados.
Há várias abordagens para lidar com dados ausentes, algumas delas são as seguintes:
• Exclusão de casos ou variáveis: uma abordagem simples é excluir os casos ou variáveis com 
dados ausentes. Sea proporção de dados ausentes for pequena em relação ao tamanho total 
do conjunto de dados, essa abordagem pode ser viável. No entanto, a exclusão de dados pode 
levar a perda de informações importantes, além de potencialmente introduzir viés nos resultados, 
especialmente se os dados ausentes não estiverem aleatoriamente distribuídos.
• Preenchimento com valor fixo: outra abordagem é preencher os valores ausentes com um 
valor fixo, como a média, mediana ou moda dos dados existentes. Essa abordagem é simples 
de implementar, mas pode distorcer as propriedades estatísticas dos dados, especialmente se os 
dados ausentes forem significativos.
• Preenchimento com valor estimado: uma abordagem mais sofisticada é estimar os valores 
ausentes com base em técnicas de imputação. Isso envolve a utilização de algoritmos e modelos 
estatísticos para prever os valores ausentes com base nos dados disponíveis. Alguns métodos 
populares de imputação incluem imputação por regressão, imputação por médias condicionais e 
imputação por múltiplas imputações. Essas técnicas levam em consideração as relações entre as 
variáveis e fornecem estimativas mais precisas dos valores ausentes.
• Modelagem especializada: em alguns casos, é possível construir modelos especializados para 
lidar com dados ausentes. Por exemplo, podem ser aplicados modelos de aprendizado de máquina 
que levam em consideração explicitamente a presença de dados ausentes. Esses modelos podem 
ser treinados para lidar com a ausência de dados e fornecer previsões mais precisas.
Ao lidar com dados ausentes, precisamos avaliar cuidadosamente a abordagem mais adequada, 
considerando a natureza dos dados, a proporção de dados ausentes e o impacto potencial nas análises 
subsequentes. Além disso, é fundamental documentar e relatar o tratamento dos dados ausentes para 
garantir a transparência e a reprodutibilidade das análises.
A presença de dados ausentes é uma realidade comum na análise de dados. Lidar com esses dados 
de maneira apropriada é fundamental para evitar viés e garantir resultados confiáveis. Diversas técnicas 
estão disponíveis para tratar dados ausentes, e a escolha da abordagem depende das características dos 
dados e das necessidades específicas do problema.
104
Unidade II
6 MODELOS PREDITIVOS
Modelos preditivos são algoritmos ou sistemas que utilizam dados históricos para fazer previsões 
ou estimativas sobre eventos futuros. Eles são utilizados em diversas áreas, como ciência de dados, 
aprendizado de máquina, estatística e inteligência artificial, com o objetivo de obter insights e tomar 
decisões informadas.
A ideia por trás dos modelos preditivos é identificar padrões e relações nos dados disponíveis e usá-los 
para prever o resultado de um evento futuro. Esses modelos podem ser aplicados a uma ampla variedade 
de problemas, como previsão de vendas, detecção de fraudes, previsão de demanda, diagnóstico médico, 
recomendação de produtos e muito mais.
Existem vários tipos de modelos preditivos, cada um com suas próprias características e técnicas de 
construção. Alguns dos mais comuns incluem:
• Regressão: é usada para prever um valor contínuo com base em variáveis independentes. 
Há diferentes tipos de regressão, como regressão linear, regressão logística, regressão polinomial, 
entre outros.
• Árvores de decisão: são modelos que dividem os dados com base em perguntas ou condições 
em uma estrutura hierárquica de decisões. Cada ramo representa uma decisão apoiada nas 
características dos dados.
• Redes neurais: são modelos inspirados no funcionamento do cérebro humano, compostos de 
camadas de neurônios interconectados. Eles são capazes de aprender padrões complexos nos 
dados e realizar previsões com base nessas aprendizagens.
• Máquinas de vetores de suporte (SVM): são modelos que mapeiam os dados em um espaço 
dimensional superior e separam as classes de forma otimizada. Elas são regularmente usadas em 
problemas de classificação, mas também podem ser aplicadas a problemas de regressão.
• Naive Bayes: é um modelo baseado no teorema de Bayes, que utiliza a probabilidade condicional 
para fazer previsões. Ele assume que as características são independentes entre si, o que simplifica 
o processo de modelagem.
• Random forest: é uma técnica que combina várias árvores de decisão para tomar decisões coletivas. 
Ela cria múltiplas árvores e faz previsões com base na média das previsões de todas as árvores.
Esses são apenas alguns exemplos de modelos preditivos. A escolha do modelo adequado depende 
do tipo de problema, dos dados disponíveis e dos objetivos específicos da previsão. Cada modelo tem 
suas vantagens e limitações, e a seleção correta é fundamental para obter previsões precisas e confiáveis.
105
CIÊNCIA DE DADOS
Uma parte importante do desenvolvimento de modelos preditivos é o treinamento e a validação do 
modelo. Isso envolve a utilização de dados históricos conhecidos para ajustar os seus parâmetros e, em 
seguida, testá-lo em dados desconhecidos para avaliar sua capacidade de fazer previsões precisas.
No entanto, é importante ter em mente que os modelos preditivos não são uma solução mágica 
e apresentam desafios próprios, como, por exemplo, a necessidade de identificar quais variáveis  ou 
recursos são relevantes para a tarefa de previsão. Nem todos os dados disponíveis podem ser úteis 
ou  informativos, e a seleção cuidadosa dos recursos certos é fundamental para a obtenção de um 
modelo preciso e eficiente.
Os dados nem sempre estão prontos para serem usados diretamente nos modelos preditivos. 
É necessário realizar tarefas de limpeza, como tratamento de dados ausentes, remoção de outliers e 
normalização dos dados. Além disso, a transformação e o pré-processamento dos dados podem ser 
necessários para melhorar a qualidade das previsões. Pode ocorrer o overfitting quando o modelo se 
ajusta em excesso aos dados de treinamento, capturando ruídos e detalhes irrelevantes, o que prejudica 
a capacidade de generalização para novos dados. Por outro lado, o underfitting ocorre quando o modelo 
não é capaz de capturar adequadamente os padrões nos dados. Encontrar o equilíbrio certo entre esses 
extremos é essencial para a obtenção de um modelo preditivo robusto e preciso.
A avaliação e a validação do modelo são etapas indispensáveis para determinar sua eficácia  e 
desempenho. Isso envolve a separação dos dados em conjuntos de treinamento, validação e teste, e a 
utilização de métricas apropriadas para medir a precisão, o recall, a precisão, entre outros aspectos 
relevantes. À medida que os modelos se tornam mais complexos, a interpretação dos resultados 
pode se tornar desafiadora. Compreender como o modelo toma suas decisões e quais características 
são mais importantes para a previsão pode ser fundamental para obter insights úteis e confiar nas 
previsões geradas.
A construção de modelos preditivos envolve um conjunto de etapas que vão desde a seleção de 
recursos e preparação dos dados até a avaliação e interpretação dos resultados. Trata-se de um processo 
iterativo que requer habilidades técnicas, compreensão do domínio e experiência para obter previsões 
precisas e relevantes. Quando usado corretamente, o aprendizado de máquina e os modelos preditivos 
têm o potencial de trazer insights valiosos e melhorar a tomada de decisões em uma ampla variedade 
de setores e aplicativos.
6.1 Regressão linear simples
A regressão linear simples é uma técnica estatística que busca estabelecer relação linear entre duas 
variáveis: uma variável dependente (alvo de previsão) e uma variável independente (variável de entrada). 
Seu objetivo é encontrar a melhor linha reta que representa essa relação e pode ser usada para prever 
valores da variável dependente com base nos valores da variável independente.
A equação da regressão linear simples é uma representação matemática da relação linear entre uma 
variável independente (x) e outra dependente (y). A forma geral da equação da regressão linear simples é:
yx� �� �0 1
106
Unidade II
Nesta equação:
• y é a variável dependente (a que queremos prever);
• x é a variável independente (a que usamos para fazer a previsão);
• β0 é o coeficiente linear (intercepto), que representa o valor de y quando x é igual a 0;
• β1 é o coeficiente angular (inclinação), que representa a mudança em y para uma unidade de 
mudança em x.
Em termos simples, a equação descreve uma reta que melhor se ajusta aos dados, tentando minimizar 
a soma dos quadrados dos resíduos (diferenças entre os valores reais de y e os valores previstos pela 
equação).
Quando você treina um modelo de regressão linear, o objetivo é encontrar os valores de β0 e β1 que 
minimizam o erro total entre os valores observados e aqueles previstos pela equação da regressão. Uma 
vez que o modelo está treinado, será possível usar essa equação para fazer previsões com base em novos 
valores de x.
Para estimar os valores de β0 e β1, são utilizados os dados disponíveis de x e y. O método mais 
comumente utilizado para estimar esses coeficientes é o método dos mínimos quadrados, que busca 
minimizar a soma dos quadrados dos erros entre os valores previstos pela equação da regressão e os 
valores reais observados.
Após obter os coeficientes, o modelo de regressão linear simples pode ser usado para fazer previsões. 
Dado um novo valor de x, pode-se calcular o valor correspondente de y usando a equação da regressão.
Além da previsão, a regressão linear simples permite avaliar a força e a direção da relação entre as 
variáveis. O coeficiente de correlação (r) é uma medida comum usada para avaliar a correlação linear 
entre as variáveis. O valor de r varia de -1 a 1, onde -1 indica uma relação negativa perfeita, 1 indica 
uma relação positiva perfeita e 0 indica ausência de relação linear.
No entanto, é importante considerar algumas suposições ao aplicar a regressão linear simples, como 
a linearidade da relação entre as variáveis, a independência dos erros, a homoscedasticidade (variância 
constante dos erros) e a normalidade dos erros. Violar essas suposições pode levar a resultados imprecisos 
ou inválidos.
A regressão linear simples é uma técnica básica, porém poderosa, que pode ser aplicada em uma 
variedade de problemas. É utilizada em áreas como estatística, economia, ciências sociais e engenharia 
para fazer previsões, entender relações entre variáveis e tomar decisões informadas com base nos 
resultados da análise.
107
CIÊNCIA DE DADOS
A regressão linear simples oferece várias vantagens. Algumas delas incluem:
• Interpretabilidade: a natureza simples da regressão linear torna os resultados facilmente 
interpretáveis. Os coeficientes β0 e β1 fornecem informações sobre o intercepto e a inclinação da 
linha de regressão, respectivamente. Isso permite entender a direção e a magnitude da relação 
entre as variáveis.
• Facilidade de implementação: a regressão linear simples é uma técnica estudada e implementada 
em várias plataformas e linguagens de programação. Há muitas bibliotecas e pacotes disponíveis 
que facilitam a implementação da regressão linear em projetos de análise de dados.
• Eficiência computacional: a regressão linear simples é um método computacionalmente 
eficiente, especialmente quando comparado a modelos mais complexos. A análise de um conjunto 
de dados relativamente grande pode ser realizada em um tempo razoável.
• Baixa dimensionalidade: a regressão linear simples é adequada para problemas de baixa 
dimensionalidade, ou seja, quando há apenas uma variável independente. É particularmente útil 
quando se deseja entender o efeito de uma variável específica no resultado.
• Base para modelos mais complexos: a regressão linear simples serve como uma base importante 
para modelos de regressão mais avançados, como a regressão linear múltipla e os modelos de 
aprendizado de máquina. Ela permite compreender e estabelecer as bases da análise de regressão 
antes de explorar métodos mais complexos.
Exemplo: suponha que temos um conjunto de dados que relaciona a quantidade de horas de estudo 
(variável independente) com as notas obtidas em um exame (variável dependente). Queremos criar 
um modelo de regressão linear simples para prever a nota em um exame com base no número de 
horas de estudo.
Neste exemplo, LinearRegression é um modelo de regressão linear da biblioteca scikit-learn. Ele é 
treinado com os dados de horas de estudo e notas do exame, e depois é usado para fazer previsões 
com base em novos valores de horas de estudo. A reta de regressão é plotada com os dados reais para 
visualizar a relação entre as variáveis.
1. import numpy as np
2. from sklearn.linear_model import LinearRegression
3. import matplotlib.pyplot as plt
4. # Dados de exemplo
5. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10])
6. notas_do_exame = np.array([65, 75, 80, 82, 90, 95])
7. # Reshape para o formato necessário
8. horas_de_estudo = horas_de_estudo.reshape(-1, 1)
108
Unidade II
9. # Criar o modelo de regressão linear
10. modelo = LinearRegression()
11. # Treinar o modelo com os dados de treinamento
12. modelo.fit(horas_de_estudo, notas_do_exame)
13. # Fazer previsões para novos valores
14. horas_novas = np.array([[5], [9]])
15. notas_previstas = modelo.predict(horas_novas)
16. # Coeficiente angular (inclinação da reta)
17. coef_angular = modelo.coef_[0]
18. # Coeficiente linear (intercepto da reta)
19. coef_linear = modelo.intercept_
20. # Imprimir os coeficientes
21. print(“Coeficiente Angular:”, coef_angular)
22. print(“Coeficiente Linear:”, coef_linear)
23. # Plotar os dados e a reta de regressão
24. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’)
25. plt.plot(horas_novas, notas_previstas, color=’red’, label=’Reta de regressão’)
26. plt.xlabel(‘Horas de Estudo’)
27. plt.ylabel(‘Notas do Exame’)
28. plt.legend()
29. plt.show()
Saída:
Coeficiente angular: 3.693877551020409
Coeficiente linear: 58.38775510204081
109
CIÊNCIA DE DADOS
No
ta
s d
o 
ex
am
e
2 3 4 5 6 7 8 9 10
Horas de estudo
95
90
85
80
75
70
65
Dados reais
Reta de regressão
Figura 18 
No entanto, a regressão linear simples também possui algumas limitações:
• Pressuposições: assume uma relação linear entre as variáveis e a independência dos erros. 
Se essas pressuposições não forem atendidas, os resultados podem ser inválidos ou imprecisos.
• Sensibilidade a outliers: pode afetar significativamente os resultados da regressão linear através 
da presença de outliers. Os outliers influenciam a estimativa dos coeficientes e distorcem a linha 
de regressão.
• Limitação da complexidade do modelo: é limitada em sua capacidade de capturar relações 
não lineares entre as variáveis. Se a relação entre as variáveis não for linear, o modelo de regressão 
linear simples pode fornecer resultados inadequados.
• Dependência da qualidade dos dados: deve haver qualidade dos dados de entrada para a 
obtenção de resultados confiáveis. Dados ausentes, erros de medição ou outras inconsistências 
podem afetar a precisão das previsões.
A regressão linear simples é uma técnica estatística utilizada para modelar a relação linear entre 
duas variáveis. Ela oferece simplicidade, interpretabilidade e eficiência computacional. No entanto, 
precisa estar ciente das suas limitações e das suposições subjacentes. Em muitos casos, a regressão 
linear simples serve como uma ferramenta inicial para análise de dados antes de explorar modelos mais 
complexos e avançados.
110
Unidade II
6.2 Ajuste com mínimos quadrados
O ajuste com mínimos quadrados é uma técnica estatística utilizada para encontrar os parâmetros 
de um modelo matemático que melhor se ajusta a um conjunto de dados observados. Essa abordagem 
busca minimizar a soma dos quadrados dos resíduos, que são as diferenças entre os valores observados 
e aqueles previstos pelo modelo.
O método dos mínimos quadrados é utilizado em várias áreas, como estatística, econometria e ciência 
de dados, sendo especialmente comum em problemas de regressão, quandoo objetivo é encontrar uma 
função que relacione uma variável dependente com uma ou mais variáveis independentes.
O processo de ajuste com mínimos quadrados envolve os seguintes passos:
1. Especificação do modelo: escolher o modelo matemático que representa a relação entre as 
variáveis. Por exemplo, em um problema de regressão linear, o modelo pode ser uma função linear da 
forma y = β0 + β1*x, onde y é a variável dependente, x é a variável independente e β0 e β1 são os 
coeficientes a serem estimados.
2. Cálculo dos resíduos: com o modelo especificado, calculam-se os valores previstos para a variável 
dependente com base nos valores das variáveis independentes. Em seguida, computam-se os resíduos 
subtraindo os valores observados por aqueles previstos. Os resíduos representam as diferenças entre os 
dados observados e as previsões do modelo.
3. Estimação dos parâmetros: o próximo passo é estimar os parâmetros do modelo que minimizam 
a soma dos quadrados dos resíduos. Isso é feito por meio de técnicas de otimização, como o método dos 
mínimos quadrados. O objetivo é encontrar os valores dos coeficientes do modelo que tornem a soma 
dos quadrados dos resíduos o menor possível.
4. Avaliação do ajuste: após estimar os parâmetros, devemos avaliar a qualidade do ajuste. Isso pode 
ser feito por meio de diversas métricas, como o coeficiente de determinação (R²), que mede a proporção 
da variabilidade dos dados explicada pelo modelo. Também é possível realizar testes estatísticos para 
avaliar a significância dos coeficientes e a adequação do modelo aos dados.
5. Interpretação dos resultados: por fim, interpreta-se os coeficientes estimados do modelo. Eles 
representam a relação entre as variáveis e podem ser utilizados para fazer previsões ou inferências 
sobre o comportamento do sistema estudado. Por exemplo, em um modelo de regressão linear simples, 
o coeficiente β1 representa o efeito médio da variável independente sobre a variável dependente. Um 
valor positivo indica uma relação positiva, enquanto um valor negativo indica uma relação negativa.
Exemplo: faremos o ajuste de uma regressão linear simples utilizando o método dos mínimos 
quadrados em Python. Suporemos que temos os seguintes dados de horas de estudo e notas do exame:
111
CIÊNCIA DE DADOS
1. import numpy as np
2. import matplotlib.pyplot as plt
3. # Dados de exemplo
4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10])
5. notas_do_exame = np.array([65, 75, 80, 82, 90, 95])
6. # Calculando as médias das variáveis
7. media_x = np.mean(horas_de_estudo)
8. media_y = np.mean(notas_do_exame)
9. # Calculando os desvios em relação às médias
10. desvio_x = horas_de_estudo - media_x
11. desvio_y = notas_do_exame - media_y
12. # Calculando o coeficiente angular (beta_1)
13. beta_1 = np.sum(desvio_x * desvio_y) / np.sum(desvio_x ** 2)
14. # Calculando o coeficiente linear (beta_0)
15. beta_0 = media_y - beta_1 * media_x
16. # Criando a reta de regressão
17. reta_regressao = beta_0 + beta_1 * horas_de_estudo
18. # Imprimindo os coeficientes
19. print(“Coeficiente Angular (beta_1):”, beta_1)
20. print(“Coeficiente Linear (beta_0):”, beta_0)
21. # Plotando os dados e a reta de regressão
22. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’)
23. plt.plot(horas_de_estudo, reta_regressao, color=’red’, label=’Reta de regressão’)
24. plt.xlabel(‘Horas de Estudo’)
25. plt.ylabel(‘Notas do Exame’)
26. plt.legend()
27. plt.show()
Saída:
Coeficiente angular (beta_1): 3.693877551020408
Coeficiente linear (beta_0): 58.38775510204082
112
Unidade II
No
ta
s d
o 
ex
am
e
2 3 4 5 6 7 8 9 10
Horas de estudo
95
90
85
80
75
70
65
Dados reais
Reta de regressão
Figura 19 
Neste exemplo, estamos calculando manualmente os coeficientes da regressão linear (coeficiente 
angular β1 e coeficiente linear β0) usando o método dos mínimos quadrados. Depois, criamos a reta 
de regressão utilizando esses coeficientes e plotamos os dados com a reta de regressão para visualizar 
como o ajuste foi feito.
 Lembrete
Em aplicações reais, normalmente usaríamos bibliotecas como NumPy 
e SciPy para realizar esses cálculos de maneira mais eficiente.
O ajuste com mínimos quadrados é uma abordagem poderosa, pois fornece uma maneira sistemática 
de encontrar os parâmetros que melhor descrevem os dados observados. No entanto, é importante estar 
ciente de algumas considerações:
• Suposições: o método dos mínimos quadrados assume que os erros de medição são independentes e 
têm distribuição normal com média zero e variância constante. É importante verificar se essas 
suposições são atendidas antes de aplicar o procedimento.
• Outliers: valores discrepantes ou extremos podem ter um impacto significativo no ajuste com 
mínimos quadrados, pois eles têm um peso maior na soma dos quadrados dos resíduos. É importante 
identificar e lidar com esses outliers de forma adequada para evitar que eles distorçam o ajuste.
113
CIÊNCIA DE DADOS
• Overfitting: o ajuste com mínimos quadrados pode levar ao overfitting (sobreajuste) quando 
o modelo se torna muito complexo e se ajusta demais aos dados de treinamento. Isso pode 
resultar em um modelo que não generaliza bem para novos dados. É importante ter cuidado ao 
escolher a complexidade do modelo e considerar técnicas como validação cruzada para avaliar 
seu desempenho em dados não observados.
O ajuste com mínimos quadrados é uma técnica fundamental na modelagem estatística e na análise 
de dados. Ele permite encontrar os parâmetros que melhor descrevem a relação entre as variáveis em 
um modelo matemático. No entanto, devemos compreender suas suposições e considerar as limitações 
associadas a outliers e overfitting. Com uma abordagem cuidadosa, o ajuste com mínimos quadrados 
fornece resultados úteis e insights sobre o comportamento dos dados.
6.3 Gradiente descendente
O gradiente descendente é um algoritmo de otimização utilizado em aprendizado de máquina e em 
outras áreas relacionadas, como otimização de função e aprendizado de parâmetros. Ele é utilizado para 
encontrar o mínimo de uma função de perda, ou seja, minimizar a diferença entre os valores previstos 
e os valores reais.
O algoritmo do gradiente descendente é baseado no cálculo do gradiente da função de perda em 
relação aos parâmetros do modelo. O gradiente indica a direção e a magnitude do maior aumento da 
função de perda. Portanto, ao caminhar na direção oposta ao gradiente, é possível aproximar-se do 
mínimo global ou local da função.
O processo do gradiente descendente pode ser resumido nas seguintes etapas:
1. Inicialização dos parâmetros: os parâmetros do modelo são inicializados com valores aleatórios 
ou predefinidos.
 2. Cálculo do gradiente: o gradiente da função de perda em relação aos parâmetros é calculado. 
Isso envolve calcular as derivadas parciais da função de perda em relação a cada parâmetro.
3. Atualização dos parâmetros: os parâmetros do modelo são atualizados usando a seguinte fórmula: 
novo_parâmetro = parâmetro_atual - taxa_aprendizado * gradiente, onde a taxa de aprendizado é um 
hiperparâmetro que controla o tamanho do passo dado em cada iteração.
4. Repetição: os passos 2 e 3 são repetidos até que uma condição de parada seja atendida. Isso 
pode ser um número fixo de iterações, uma tolerância para a melhoria da função de perda ou outros 
critérios definidos.
Existem diferentes variantes do gradiente descendente, como o gradiente descendente estocástico (SGD) 
e o gradiente descendente em lote (batch gradient descent). O SGD atualiza os parâmetros a cada 
exemplo de treinamento, enquanto o batch gradient descent usa todo o conjunto de treinamento para 
114
Unidade II
calcular o gradiente e atualizar os parâmetros. O SGD é mais rápido, mas pode ser mais ruidoso, enquanto 
o batch gradient descent é mais preciso, mas pode ser mais lento em grandes conjuntos de dados.
O gradiente descendente é utilizado em algoritmos de aprendizado de máquina, como regressão 
linear, regressão logística e redesneurais. Ele permite ajustar os parâmetros do modelo de forma iterativa, 
buscando minimizar a função de perda e melhorar o desempenho do modelo na tarefa desejada.
Exemplo: utilizaremos um exemplo simples de como implementar o gradiente descendente para 
ajustar uma regressão linear em Python:
1. import numpy as np
2. import matplotlib.pyplot as plt
3. # Dados de exemplo
4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10])
5. notas_do_exame = np.array([65, 75, 80, 82, 90, 95])
6. # Inicialização dos parâmetros
7. alpha = 0.01 # Taxa de aprendizado
8. num_iteracoes = 1000 # Número de iterações
9. # Inicialização dos coeficientes
10 beta_0 = 0.0
11. beta_1 = 0.0
12. # Gradiente Descendente
13. for _ in range(num_iteracoes):
14. predicoes = beta_0 + beta_1 * horas_de_estudo
15. erro = predicoes - notas_do_exame
16. # Atualização dos coeficientes usando o Gradiente Descendente
17. beta_0 -= alpha * (1.0 / len(horas_de_estudo)) * np.sum(erro)
18. beta_1 -= alpha * (1.0 / len(horas_de_estudo)) * np.sum(erro * horas_de_estudo)
19. # Coeficientes ajustados
20. print(“Coeficiente Linear (beta_0):”, beta_0)
21. print(“Coeficiente Angular (beta_1):”, beta_1)
22. # Criação da reta de regressão
23. reta_regressao = beta_0 + beta_1 * horas_de_estudo
115
CIÊNCIA DE DADOS
24. # Plotando os dados e a reta de regressão
25. plt.scatter(horas_de_estudo, notas_do_exame, label=’Dados reais’)
26. plt.plot(horas_de_estudo, reta_regressao, color=’red’, label=’Reta de regressão’)
27. plt.xlabel(‘Horas de Estudo’)
28. plt.ylabel(‘Notas do Exame’)
29. plt.legend()
30. plt.show()
Saída:
Coeficiente linear (beta_0): 45.597677085080264
Coeficiente angular (beta_1): 5.458972545781039
No
ta
s d
o 
ex
am
e
2 3 4 5 6 7 8 9 10
Horas de estudo
100
90
80
70
60
Dados reais
Reta de regressão
Figura 20 
Neste exemplo, estamos usando o gradiente descendente para ajustar os coeficientes da regressão 
linear. O algoritmo itera várias vezes, atualizando os coeficientes com base nas derivadas parciais da 
função de erro em relação a esses coeficientes. A taxa de aprendizado (α) determina o tamanho dos 
passos que o algoritmo dá em direção ao mínimo da função de erro.
116
Unidade II
 Lembrete
Em problemas reais, é mais comum utilizar bibliotecas como NumPy 
e scikit-learn para fazer ajustes de regressão linear e otimização, uma vez 
que elas já implementam esses algoritmos de maneira eficiente.
No entanto, é importante ajustar a taxa de aprendizado adequadamente, pois um valor muito 
pequeno pode levar a um treinamento lento ou a um mínimo local subótimo, e um valor muito grande 
pode causar oscilações ou não convergir para o mínimo global. Além disso, o gradiente descendente pode 
sofrer com problemas de gradientes esparsos, que ocorrem quando a função de perda tem áreas planas 
ou regiões onde o gradiente é próximo de zero.
O gradiente descendente é um algoritmo fundamental para otimização de modelos em aprendizado 
de máquina. Ele utiliza o cálculo do gradiente da função de perda para atualizar iterativamente os 
parâmetros do modelo, buscando minimizar a função de perda e melhorar o desempenho do modelo 
na tarefa de aprendizado. Com o gradiente descendente, conseguimos ajustar os parâmetros de forma 
iterativa, permitindo que o modelo se adapte aos dados de treinamento e generalize para novos exemplos.
Nem sempre o gradiente descendente converge para o mínimo global da função de perda. Em alguns 
casos, ele pode convergir para um mínimo local ou ficar preso em um platô. Existem técnicas, como o 
uso de diferentes variantes do gradiente descendente ou a inicialização dos parâmetros com valores 
diferentes, que podem ajudar a melhorar a convergência.
Em problemas com muitas características (alta dimensionalidade), o gradiente descendente pode 
enfrentar dificuldades devido ao chamado “espaço emagrecido” (vanishing gradient) ou “espaço 
inchado” (exploding gradient). Nestes casos, é comum aplicar técnicas como regularização ou redução 
de dimensionalidade para mitigar esses problemas.
Como dito, a escolha inicial dos parâmetros pode afetar o desempenho do gradiente descendente. 
Uma inicialização inadequada leva a um treinamento ineficiente ou a uma convergência para mínimos 
subótimos. Precisamos explorar diferentes técnicas de inicialização e encontrar a mais adequada para o 
modelo específico.
Trata-se de uma técnica poderosa que permite a otimização iterativa dos parâmetros de um modelo 
de aprendizado de máquina. Com suas variantes e considerações, é uma ferramenta essencial para treinar 
modelos em uma ampla gama de problemas. Ao entender as nuances do gradiente descendente e ajustar 
adequadamente seus hiperparâmetros, obtemos modelos bem ajustados e com bom desempenho.
117
CIÊNCIA DE DADOS
6.4 Regressão linear múltipla
A regressão linear múltipla é uma técnica de aprendizado de máquina que visa modelar a relação 
entre uma variável dependente contínua e várias variáveis independentes. Trata-se de uma extensão da 
regressão linear simples, na qual apenas uma variável independente é considerada.
Aqui, o objetivo é encontrar uma equação que represente a relação linear entre as variáveis 
independentes e a variável dependente. Ela é chamada de modelo de regressão, sendo expressa da 
seguinte forma:
Y X X n Xn� � � � � �� � � �0 1 1 2 2 ...
Onde:
• Y é a variável dependente (variável a ser prevista);
• X1, X2,..., Xn são as variáveis independentes;
• β0, β1, β2,..., βn são os coeficientes que representam os pesos atribuídos a cada variável independente.
O processo de ajuste de um modelo de regressão linear múltipla envolve encontrar os valores ideais 
para os coeficientes β0, β1, β2,..., βn, de modo a minimizar a diferença entre os valores previstos pelo 
modelo e os valores reais da variável dependente.
A seleção adequada das variáveis independentes é um aspecto crítico na regressão linear múltipla. 
Devemos escolher as variáveis que possuem uma forte correlação com a variável dependente e que 
sejam relevantes para o problema em questão. A inclusão de variáveis irrelevantes ou altamente 
correlacionadas pode levar a problemas de multicolinearidade e ao superajuste do modelo.
Existem diferentes técnicas e métodos para estimar os coeficientes do modelo de regressão linear 
múltipla, sendo os mais comuns:
• Mínimos quadrados ordinários (OLS): é o método mais utilizado, que minimiza a soma dos 
quadrados das diferenças entre os valores previstos e os valores reais. Ele encontra os coeficientes 
que minimizam essa soma, produzindo o melhor ajuste linear aos dados.
• Regularização (como Lasso e Ridge): são técnicas que adicionam um termo de penalização 
aos coeficientes do modelo para evitar o superajuste e reduzir a influência de variáveis menos 
relevantes. O Lasso realiza uma seleção automática de variáveis, enquanto o Ridge reduz os 
coeficientes, mas não os zera.
• Métodos de seleção de variáveis: existem abordagens para selecionar automaticamente as 
variáveis mais relevantes para o modelo, como Stepwise, Forward, Backward, entre outros. Esses 
métodos consideram diferentes combinações de variáveis para encontrar o melhor conjunto 
de preditores.
118
Unidade II
Exemplo: suponha que temos um conjunto de dados que relaciona a quantidade de horas de estudo, 
a quantidade de horas de sono e a quantidade de exercícios feitos (três variáveis independentes) com 
as notas obtidas em um exame (variável dependente). Queremos criar um modelo de regressão linear 
múltipla para prever a nota do exame com base nessas variáveis independentes.
1. import numpy as np
2. from sklearn.linear_model import LinearRegression
3. # Dados de exemplo
4. horas_de_estudo = np.array([2, 4, 6, 7, 8, 10])
5. horas_de_sono = np.array([7, 6, 8, 7, 9, 6])
6. exercicios_feitos = np.array([0, 1, 2, 3, 2, 1])
7. notas_do_exame = np.array([65, 75, 80, 82, 90, 95])
8. # Preparando os dados em uma matriz de características (X) e um vetor de rótulos (y)
9. X = np.column_stack((horas_de_estudo, horas_de_sono, exercicios_feitos))10. y = notas_do_exame
11. # Criar o modelo de regressão linear múltipla
12. modelo = LinearRegression()
13. # Treinar o modelo com os dados de treinamento
14. modelo.fit(X, y)
15. # Coeficientes (parâmetros) ajustados pelo modelo
16. coeficientes = modelo.coef_
17. coef_intercepto = modelo.intercept_
18. # Imprimir os coeficientes
19. print(“Coeficientes:”, coeficientes)
20. print(“Intercepto:”, coef_intercepto)
21. # Fazer previsões para novos valores
22. novos_dados = np.array([[5, 8, 1], [9, 7, 2]])
23. notas_previstas = modelo.predict(novos_dados)
24. print(“Notas previstas:”, notas_previstas)
Saída:
Coeficientes: [3.82157969 0.57299013 -0.83533145]
Intercepto: 54.74682651622003
Notas previstas: [77.60331453 91.48131171]
119
CIÊNCIA DE DADOS
Neste exemplo, estamos criando um modelo de regressão linear múltipla usando as três variáveis 
independentes: horas de estudo, horas de sono e exercícios feitos. O modelo é treinado com esses dados 
e, em seguida, o utilizamos para fazer previsões com base em novos valores de horas de estudo, horas 
de sono e exercícios feitos.
A regressão linear múltipla é utilizada em várias áreas, como economia, ciências sociais, finanças, 
saúde e muitas outras. Ela permite fazer previsões e entender a relação entre múltiplas variáveis 
independentes e uma variável dependente contínua. Ao interpretar os coeficientes do modelo, é possível 
inferir o impacto das variáveis independentes sobre a variável dependente, bem como prever com base 
nos valores das variáveis independentes.
6.5 Regressão logística
A regressão logística é um modelo estatístico utilizado para realizar análise de classificação binária, 
ou seja, para prever a probabilidade de um evento pertencer a uma das duas categorias possíveis. Apesar 
do nome “regressão”, ela é, na verdade, um modelo de classificação.
A regressão logística é especialmente útil quando a variável dependente é categórica e não contínua. 
Ela estima a probabilidade de um evento ocorrer com base em um conjunto de variáveis independentes. 
A variável dependente é binária, assumindo valores como 0 e 1, ou Verdadeiro e Falso.
O modelo de regressão logística utiliza a função logística, também conhecida como função sigmoide, 
para mapear a saída linear da combinação linear das variáveis independentes em um intervalo entre 0 e 1. 
Essa transformação permite interpretar a saída como uma probabilidade.
A equação da regressão logística é dada por:
p X X n Xn� � � � � � � �1 1 0 1 1 2 2/ ( exp( ( ... )))� � � �
Onde:
• p é a probabilidade de o evento ocorrer;
• β0, β1, β2,..., βn são os coeficientes que representam os pesos atribuídos a cada variável independente;
• X1, X2,..., Xn são as variáveis independentes.
Os coeficientes β0, β1, β2,..., βn são estimados utilizando técnicas de otimização, como a máxima 
verossimilhança, de forma a encontrar os melhores valores que maximizem a probabilidade de observar 
os dados reais.
A interpretação dos coeficientes na regressão logística é feita em termos de odds ratio. O odds ratio 
representa a mudança na razão de chances de ocorrência do evento quando uma variável independente 
aumenta em uma unidade, mantendo todas as outras variáveis constantes.
120
Unidade II
A regressão logística tem diversas aplicações em ciência de dados e análise preditiva, sendo utilizada 
em problemas de classificação, como prever se um e-mail é spam ou não, se um cliente fará uma compra 
ou não, se um paciente tem uma doença ou não, entre outros.
Além da regressão logística simples, existem variantes, como a regressão logística multinomial para 
classificação em mais de duas categorias e a regressão logística ordinal para classificação ordenada. Elas 
permitem lidar com problemas de classificação mais complexos.
Exemplo: suponha que temos um conjunto de dados que contém informações sobre alunos e 
queremos prever se um deles será aprovado (1) ou reprovado (0) com base em suas horas de estudo 
e notas em exames anteriores. Usaremos a regressão logística para construir um modelo que faça 
essa previsão.
1. import numpy as np
2. from sklearn.model_selection import train_test_split
3. from sklearn.linear_model import LogisticRegression
4. from sklearn.metrics import accuracy_score
5. # Dados de exemplo
6. horas_de_estudo = np.array([5, 1, 6, 7, 4, 9, 2, 8, 3, 10])
7. notas_exame = np.array([85, 50, 80, 90, 60, 95, 55, 92, 70, 98])
8. aprovado = np.array([1, 0, 1, 1, 0, 1, 0, 1, 0, 1])
9. # Preparando os dados em uma matriz de características (X) e um vetor de rótulos (y)
10. X = np.column_stack((horas_de_estudo, notas_exame))
11. y = aprovado
12. # Dividindo os dados em conjuntos de treinamento e teste
13. X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
14. # Criar o modelo de regressão logística
15. modelo = LogisticRegression()
16. # Treinar o modelo com os dados de treinamento
17. modelo.fit(X_train, y_train)
18. # Fazer previsões para os dados de teste
19. previsoes = modelo.predict(X_test)
20. # Calcular a acurácia do modelo
21. acuracia = accuracy_score(y_test, previsoes)
22. print(“Acurácia do modelo:”, acuracia)
Saída:
Acurácia do modelo: 1.0
121
CIÊNCIA DE DADOS
Neste exemplo, estamos usando a regressão logística para classificar se um aluno será aprovado 
ou reprovado com base nas horas de estudo e nas notas em exames anteriores. O modelo é treinado 
com os dados de treinamento e, em seguida, é avaliado usando os dados de teste para calcular a 
acurácia do modelo.
A regressão logística é um método poderoso para a análise de classificação binária, permitindo 
estimar a probabilidade de um evento ocorrer com base em um conjunto de variáveis independentes. Ela 
é utilizada na prática de ciência de dados e fornece insights valiosos para a tomada de decisões.
7 PLANEJAMENTO DE EXPERIMENTOS
O planejamento de experimentos (design of experiments, DoE) é uma abordagem estatística para 
investigar e otimizar processos, sistemas ou produtos por meio de experimentos controlados. Seu objetivo 
principal é identificar fatores que afetam a resposta desejada e determinar as melhores configurações 
desses fatores para atingir os resultados desejados.
Ele envolve a seleção cuidadosa das variáveis de interesse, a definição das configurações ou níveis 
dessas variáveis e a realização de experimentos controlados para coletar os dados necessários. Esses 
experimentos são projetados de forma sistemática e eficiente, de modo a obter informações relevantes 
com o menor número possível de tentativas.
Existem vários tipos de designs de experimentos, cada um adequado para diferentes situações e 
objetivos. Alguns dos designs mais comuns incluem:
Design fatorial
Tipo de design em que todas as combinações possíveis dos níveis dos fatores são testadas. Isso 
permite investigar o efeito de cada fator individualmente, bem como as interações entre eles.
Design fracionado
Design que permite testar apenas uma fração dos possíveis tratamentos. Fato útil quando o número 
de combinações possíveis é muito grande, não sendo possível realizar todos os experimentos. O design 
fracionado possibilita a obtenção de informações úteis sobre os efeitos principais dos fatores, mas não 
a investigação de interações entre eles.
Design de blocos
Design em que os experimentos são divididos em blocos ou grupos. Em cada bloco, os tratamentos 
são atribuídos de forma aleatória. Isso é útil quando há fontes de variação não controladas que podem 
afetar os resultados, e os blocos ajudam a controlar essas variações.
122
Unidade II
Design central composto
Tipo que combina um desenho fatorial completo com pontos adicionais no centro do espaço de 
trabalho. Esses pontos permitem estimar os efeitos quadráticos dos fatores e verificar se existe uma 
região ótima de operação.
O planejamento de experimentos possibilita que os cientistas de dados e os engenheiros obtenham 
informações valiosas sobre os processos e sistemas que estão investigando. Eles podem identificar quais

Continue navegando