Você está na página 1de 595

Fundamentos em

Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados

Aula 1.1. Boas-vindas do professor


Prof. Leandro Lessa
Nesta aula
 Boas-vindas do professor.

 Sobre o professor.

 Objetivo do curso.

 Tópicos que abordaremos.

 Projetos práticos.
Sobre o professor
• Formação acadêmica:

– Bacharelado em Sistemas de Informação.

– Pós-graduação em Business Intelligence.

– Mestrado em Informática.

• Mais de 15 anos de experiência em tecnologia.

– Desde 2012 com foco exclusivamente em dados.

• Professor de ensino superior desde 2020.


Objetivos
• O objetivo desta disciplina é proporcionar a vocês uma introdução
abrangente aos fundamentos da Ciência de Dados.

• Iremos explorar conceitos-chave, técnicas de análise e ferramentas que


permitem transformar dados em insights valiosos para tomada de decisões.
Tópicos que abordaremos
• Introdução aos fundamentos.

• Coleta e limpeza de dados.

• Análise exploratória e visualização de dados.

• Introdução a algoritmos de Machine Learning.


Tópicos que abordaremos
• Aprenderemos não apenas com teoria, mas também por meio de projetos
práticos.

• Vocês terão a oportunidade de aplicar os conceitos aprendidos em


problemas baseados no mundo real, proporcionando uma experiência
valiosa no mundo da Ciência de Dados.
Muito obrigado!

Prof.leandrolessa@gmail.com

https://linkedin.com/in/leandroflessa

https://github.com/ProfLeandroLessa
Fundamentos em
Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados
Aula 1.2. Poder dos Dados em Movimento
Prof. Leandro Lessa
Nesta aula
 Data Never Sleeps.

 A importância do Cientista de Dados.


Cenário atual
• Com o surgimento da internet, o volume de dados produzidos ao redor do
mundo cresceu de forma expressiva com o passar dos anos.

• Pesquisas indicam que os dados digitais produzidos dobram de tamanho a


cada 2 anos.

– International Data Corporation (IDC).

• A utilização em larga escala das mídias sociais e de dispositivos móveis


aumentaram ainda mais a quantidade de dados gerados diariamente.
Data Never Sleeps
• É um conceito que ilustra a magnitude e a constante atividade do mundo
dos dados. Enquanto dormimos, os dados estão sempre em movimento,
sendo gerados, transmitidos e processados em uma escala impressionante.

• Dados em Movimento: bilhões de ações acontecem a cada segundo.


Data Never Sleeps
• Através disso são produzidos:

– Milhões de pesquisas na internet.

– Bilhões de e-mails enviados.

– Milhares de aplicativos baixados.

– Inúmeras transações financeiras.


231.4 milhões
de e-mails
5.9 milhões de
pesquisas no
Google
66 mil fotos
vistas no
Instagram
500 horas de
vídeo no
Youtube
443 mil
dólares em
compras na
Amazon
Estatística entre 2013 - 2022
O Papel Vital do Cientista de Dados
• Esse ritmo acelerado do Data Never Sleeps demonstra a crescente
importância dos dados em nossas vidas cotidianas e nos negócios.

• Para acompanhar essa dinâmica e aproveitar as oportunidades que os


dados oferecem, o papel do Cientista de Dados torna-se cada vez mais
crucial.

– Lidar com dados em ritmo acelerado requer expertise.


Conclusão
 Data Never Sleeps.

 A importância do Cientista de Dados.


Próxima aula
 Profissão Analista de Dados e Cientista de Dados.
Fundamentos em
Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados
Aula 1.3. Profissão Analista de Dados e Cientista de Dados
Prof. Leandro Lessa
Nesta aula
 Profissão de Analista de Dados.

 Profissão do Cientista de Dados.

 Competências e habilidades desses profissionais.


Analista de Dados
• É o profissional responsável por:

– Coletar, organizar e analisar dados para obter insights valiosos.

– Ele traduz os dados em informações úteis para apoiar a tomada de


decisões estratégicas nas empresas.
Responsabilidades
• São algumas responsabilidades do Analista de Dados:

– Coleta de dados em diversas fontes.

– Limpeza e tratamento dos dados para garantir sua qualidade.

– Análise exploratória para identificar padrões e tendências.

– Criação de relatórios e visualizações para comunicar resultados.


Habilidades
• São algumas habilidades do Analista de Dados:

– Conhecimento sólido em estatística e matemática.

– Proficiência em linguagens de programação, como Python e R.

– Capacidade de trabalhar com bancos de dados e ferramentas de


análise:

o Banco de dados: Relacional / Não relacional.

o Visualização: Tableau, PowerBI.

– Excelente comunicação para apresentar resultados de forma clara.


Cientista de Dados
• O Cientista de Dados vai além das habilidades do analista de dados.

• Utiliza técnicas avançadas de análise estatística, aprendizado de máquina e


inteligência artificial para extrair conhecimento dos dados.

• Além de lidar com grandes volumes de dados, o cientista de dados é


especializado em desenvolver modelos preditivos e algoritmos complexos
para descobrir padrões ocultos e realizar previsões.
Responsabilidades
• São algumas responsabilidades do Cientista de Dados:

– Análise e interpretação de grandes volumes de dados.

– Desenvolvimento de modelos preditivos e algoritmos de Machine


Learning.

– Identificação de padrões ocultos e insights para impulsionar a inovação.

– Trabalho em equipe com outros profissionais para implementar soluções.


Habilidades
• São algumas habilidades do Cientista de Dados:

– Fortes habilidades analíticas e de resolução de problemas.

– Conhecimento avançado em estatística e matemática.

– Domínio de ferramentas e bibliotecas de Machine Learning e IA.

– Experiência em lidar com Big Data e ambientes de programação.


Diferenças profissionais
• O Analista de Dados e o Cientista de Dados são dois profissionais distintos,
embora ambos trabalhem com dados para extrair informações valiosas,
suas responsabilidades e habilidades se diferenciam.

• Embora as duas profissões compartilhem algumas habilidades, suas


abordagens e responsabilidades são distintas.

• O Analista de Dados foca na análise exploratória e relatórios, enquanto o


Cientista de Dados busca aprofundar-se em modelos preditivos e resolução
de problemas complexos.
Diferenças profissionais
• Ambos desempenham papéis fundamentais na extração de valor dos dados,
cada um contribuindo com habilidades complementares para ajudar as
empresas a transformar dados em informações acionáveis e direcionar o
sucesso nos negócios.
Conclusão
 Profissão de Analista de Dados e do Cientista de Dados.

 Competências e habilidades desses profissionais.

 Principaísdiferença entre eles.


Próxima aula
 Mercado de Trabalho.
Fundamentos em
Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados
Aula 1.4. Mercado de Trabalho
Prof. Leandro Lessa
Nesta aula
 Oportunidades no Mercado de Trabalho.
Mercado de Trabalho
• Hoje, o mercado de trabalho está aquecido para os setores da tecnologia.
Desde os técnicos aos engenheiros, analistas e cientistas de dados, as
oportunidades têm surgido frequentemente para aqueles que sabem se
posicionar frente ao mercado.

• Para aproveitar essas oportunidades, o mais importante é saber como se


posicionar, tendo sempre um currículo atualizado.

• O LinkedIn é considerado uma das maiores redes de network entre os


profissionais.
Mercado de Trabalho
• O mercado de trabalho para um Cientista de Dados é extremamente
promissor e está em constante crescimento.

• Com a rápida digitalização e o aumento exponencial da geração de dados


em todas as áreas da sociedade, a demanda por profissionais qualificados
em lidar com esse universo de informações só tende a aumentar.

• As empresas têm se conscientizado cada vez mais sobre o potencial


estratégico dos dados, e percebem que a capacidade de coletar, analisar e
interpretar informações é essencial para a tomada de decisões acertadas.
Oportunidades
• Nesse contexto, o papel do Cientista de Dados é de suma importância, pois
é ele quem transforma dados brutos em insights valiosos.

• Criando soluções inovadoras e auxiliando em estratégias que impulsionam


os negócios.
Oportunidades
• O Cientista de Dados tem a possibilidade de atuar de forma independente,
oferecendo seus serviços como consultor ou freelancer para diversas
organizações, ampliando ainda mais suas oportunidades de trabalho.

• A remuneração também é atrativa para os profissionais nessa área, visto


que a demanda supera a oferta de profissionais qualificados.

• Essa situação favorece a valorização e permite que eles tenham boas


perspectivas de crescimento e desenvolvimento na carreira.
Média Salarial - Brasil

R$ 26.600,00
O que devo fazer?
• Ter o LinkedIn atualizado:

– Preferência em dois idiomas.

• Saber se comunicar em outra língua.

• Criar um repositório com os projetos desenvolvidos:

– GitHub, site, blog, artigos etc.

• Estudar novas tecnologias e tendências:

– Se atualizar.
Áreas de Atuação
• A escolha de uma área vai depender da aptidão de cada profissional.

• Podem atuar em:

– Instituições financeiras.

– Consultoria especialista em tecnologia.

– Pesquisa de mercado ou científica.

– Empresas de manutenção de computadores.

– Instituições de ensino superior.

– Agências de publicidade e propaganda.

– Indústrias.
Áreas de Atuação
• O trabalho de um cientista de dados está mais presente no nosso dia a
dia do que podemos perceber ou imaginar.

– Recomendação de produtos em um e-commerce.

– Anúncios que aparecem no nosso navegador de internet.

– Propagandas direcionadas:

o YouTube, sites de notícias, marketplace.

– Disponibilização de itens em um supermercado.


Conclusão
 Oportunidades no mercado de trabalho.

 Como aumentar nossa chance no mercado de trabalho.

 Áreas de atuação.
Próxima aula
 Áreas de conhecimento de um Cientista de Dados.
Fundamentos em
Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados
Aula 1.5. Áreas de Conhecimento de um Cientista de Dados
Prof. Leandro Lessa
Nesta aula
 Áreas de Conhecimento de um Cientista de Dados.
Áreas de Conhecimento
• A profissão de Cientista de Dados tem ganhado destaque como uma das
carreiras mais promissoras e desafiadoras do século XXI.

• Poucas pessoas sabem que há aproximadamente 10 anos, um cientista de


dados precisava de basicamente matemática e estatística para
desempenhar seu papel no mercado.

• Hoje, entretanto, há algumas outras áreas de conhecimento que formam


esse profissional para os desafios do mercado.
Matemática e Estatística
• A compreensão profunda de conceitos estatísticos é fundamental para um
cientista de dados.

• Desde a análise exploratória até a construção de modelos preditivos, as


técnicas estatísticas são a base para a interpretação correta dos dados.

• Não precisa ser uma especialista com mestrado nessa área, mas ainda
assim, será necessário ter conhecimento de vários conceitos dentro da
estatística e da matemática.
Matemática e Estatística
• Caso essa não seja sua área específica:

– Aprenda aquilo que for mais importante no seu dia a dia.

– Aprenda também:

o Modelos estatísticos.

o Regressão linear e múltipla.

o Álgebra linear e Clustering.

o Desenvolva habilidades lógicas e reconhecimento de padrões.


Programação
• A habilidade de programar é uma das competências centrais para um
cientista de dados.

• Linguagens como Python, SQL e R são amplamente utilizadas na


comunidade:

– Permitindo a manipulação de dados, a criação de modelos e a


visualização dos resultados.

• Além disso, conhecimentos sólidos em ciência da computação são


importantes para otimizar a eficiência dos algoritmos e desenvolver
soluções escaláveis.
Programação
• Atualmente é possível usar ferramentas que não utilizam linguagem de
programação dentro da Ciência de Dados.

• Mas é inviável permanecer competitivo no mercado sem aprender as


principaíslinguagens de programação.
Bancos de Dados
• Para lidar com a enorme quantidade de dados disponíveis atualmente, o
conhecimento de bancos de dados é essencial.

• Aprender a manipular e acessar os dados de forma eficiente, seja em


bancos de dados relacionais ou não relacionais, é crucial para o trabalho do
Cientista de Dados.

• Além disso, entender conceitos de gerenciamento de dados é importante


para garantir a integridade e a segurança das informações.
Bancos de Dados
• No dia a dia, um Cientista de Dados desempenha diversas tarefas cruciais para o
sucesso de seus projetos. Algumas delas incluem:

– Acesso a Fontes de Dados.

o Identificar e acessar diversas fontes de dados relevantes para o


projeto.

– Coleta de Dados.

o Realizar a coleta sistemática de dados de diferentes fontes,


garantindo sua integridade e qualidade.
Bancos de Dados
• Limpeza de Dados:

– Realizar a etapa de pré-processamento para garantir que os dados


estejam corretos, consistentes e prontos para a análise.

• Criação de Rotinas:

– Desenvolver rotinas automatizadas para processamento, análise e


visualização de dados, aumentando a eficiência e a produtividade.
Machine Learning e IA
• O aprendizado de máquina envolve a criação de algoritmos que permitem
aos computadores aprenderem a partir dos dados, reconhecer padrões e
fazer previsões.

• Já a inteligência artificial busca desenvolver sistemas que possam simular a


capacidade humana de raciocínio e tomar decisões.

• O domínio dessas áreas permite que o cientista de dados crie modelos


preditivos e sistemas inteligentes.
Machine Learning e IA
• Quando os algoritmos aprendem o comportamento dos dados, geram
modelos matemáticos que conseguem identificar:

– Padrões.

– Tendências.

– Prever cenários.

• Essa é uma etapa muito importante, pois se os dados de origem estiverem


incorretos, todo o trabalho estará comprometido.
Apresentação e Visualização
• A capacidade de comunicar os insights obtidos a partir dos dados é uma
habilidade valiosa para um cientista de dados.

• A visualização de dados permite apresentar informações complexas de


maneira clara e compreensível, tornando os resultados mais acessíveis para
os tomadores de decisão.

• Dominar técnicas de visualização é crucial para transmitir os insights de


forma impactante.
Apresentação e Visualização
• É de suma importância saber traduzir os dados para que eles sejam analisados
com facilidade, por isso, conseguir transformá-los em representações gráficas
por exemplo é uma habilidade importante no seu trabalho.
Apresentação e Visualização
• Ferramentas que podem te auxiliar na hora de apresentar seus dados:

– Power BI.

– Tableau.

– Qlik View.
Apresentação e Visualização
• É muito importante saber contar a história por trás dos dados.

• Quando os dados não são bem apresentados há o grave risco de serem mal
interpretados e os dados são a maior fonte de decisões atualmente.
Áreas de Conhecimento
• As áreas de conhecimento mencionadas são pilares fundamentais para a
atuação de um Cientista de Dados.

• A combinação dessas competências permite que o Cientista de Dados


explore e aproveite o potencial dos dados, fornecendo insights valiosos para
as empresas e contribuindo para o avanço da ciência e da tecnologia.
Conclusão
 Áreas de Conhecimento de um Cientista de Dados.
Próxima aula
 Desafios de um Cientista de Dados.
Fundamentos em
Ciências de Dados
Capítulo 1. Introdução à Análise
e Ciência de Dados
Aula 1.6. Desafios de um Cientista de Dados
Prof. Leandro Lessa
Nesta aula
 Desafios de um Cientista de Dados.
Desafios
• A profissão de Cientista de Dados tem se destacado como uma das mais
relevantes no cenário atual, com o crescimento exponencial da quantidade
de dados disponíveis.

• Esses profissionais desempenham um papel crucial na transformação de


informações em insights valiosos para as empresas.

• No entanto, essa área dinâmica também apresenta diversos desafios que


exigem habilidades e conhecimentos específicos.
Dados Não Estruturados
• Um dos principaísdesafios enfrentados pelos cientistas de dados é lidar com
dados não estruturados, como imagens, áudios e texto.

• Esses tipos de dados requerem técnicas avançadas de processamento e


análise, como aprendizado profundo (deep learning) e processamento de
linguagem natural (NLP).

• Além disso, o volume de dados gerados diariamente pode ser esmagador,


exigindo soluções escaláveis de armazenamento e processamento.
Limpeza e Qualidade
• A qualidade dos dados é fundamental para obter resultados precisos e
confiáveis.

• Os Cientistas de Dados frequentemente enfrentam o desafio de lidar com


dados incompletos, inconsistentes e ruidosos.

• A etapa de limpeza e preparação dos dados é demorada e requer atenção


cuidadosa para garantir que os resultados da análise sejam confiáveis e
relevantes.
Privacidade e Segurança
• À medida que as empresas coletam e armazenam cada vez mais dados, a
privacidade e a segurança se tornam preocupações cruciais.

• Os Cientistas de Dados precisam garantir que as informações confidenciais


dos usuários estejam protegidas durante todo o processo de análise.

• Além disso, é necessário estar em conformidade com as regulamentações


de proteção de dados em vigor.

– LGPD – Lei Geral de Proteção de Dados Pessoais.


Interpretação e Comunicação
dos Resultados
• Transformar dados em insights é apenas metade do desafio.

• A tarefa de interpretar os resultados da análise e comunicá-los de forma


clara e compreensível para diferentes públicos é crucial para o sucesso de
um cientista de dados.

• A habilidade de contar histórias com dados e criar visualizações impactantes


é essencial para que os insights sejam efetivamente utilizados pelos
tomadores de decisão.
Comunicação Interpessoal
• Se o Cientista de Dados não souber se comunicar de maneira clara e
assertiva, enfrentará muitas dificuldades em gerar um bom resultado.

• Já que é um trabalho interligado com outras áreas que impactam


diretamente.
Entendimento do negócio
• Compreender o negócio é um fator crítico para o sucesso de um Cientista
de Dados.

• Não basta apenas dominar habilidades técnicas como comunicação, coleta


e preparação de dados, além do conhecimento em tecnologias e
ferramentas.

• É fundamental que o profissional tenha uma sólida compreensão das regras


e do contexto do negócio em que está atuando.
Entendimento do negócio
• Resultados equivocados são frequentemente atribuídos à falta de
entendimento das nuances e particularidades do negócio.

• A ausência dessa compreensão pode comprometer toda a análise final,


levando a decisões erradas ou interpretações inadequadas dos dados.

• Esses erros podem resultar em retrabalho e desperdício de valiosas horas


ou até mesmo dias de trabalho, gerando consequências negativas para a
empresa ou projeto em questão.
Aprendizado Contínuo
• A Ciência de Dados é uma área em constante evolução, com novas técnicas,
ferramentas e algoritmos surgindo regularmente.

• O Cientista de Dados deve estar disposto a aprender continuamente e


acompanhar as tendências tecnológicas para se manter relevante e
competitivo no mercado de trabalho.
Conclusão
 Desafios de um Cientista de Dados.
Próxima aula
 Definição de dado, informação e conhecimento.
Fundamentos em
Ciências de Dados
Capítulo 2. Fundamentos da Ciência de
Dados e Análise de Dados

Aula 2.1. Dado, Informação e Conhecimento


Prof. Leandro Lessa
Nesta aula
 Dados, informação e conhecimento.
Dados
• Dados são fatos brutos ou valores coletados e registrados, representando
elementos isolados sem contexto ou significado.

– Dados são registros soltos, aleatórios e sem qualquer análise.

– Isolados não possuem significado, mas quando estão agrupados


podem transmitir uma mensagem, representar algo ou até mesmo
um conhecimento.

– Uma sequência de símbolos quantificados ou quantificáveis.


Dados
• Dados podem ser representados de diversas formas e sua compreensão é
fundamental para a análise e tomada de decisões informadas. Alguns
exemplos de tipos de dados incluem:

– Numéricos:

o Valores quantitativos expressos em números, como idade,


temperatura, quantidade de vendas, entre outros

– Textuais:

o Informações em formato de texto, como descrições,


comentários ou qualquer texto escrito.
Tipos de Dados
• Dados de Data e Hora:

– Representações temporais, incluindo datas, horas e timestamps.

• Dados em Formato Binário (Bits):

– Informações representadas em sequências de bits (0s e 1s) utilizadas


em computação.

• Dados de Geolocalização:

– Latitude e longitude que identificam a localização geográfica de um


ponto na Terra.
Informação
• Informação é o resultado do processamento e interpretação dos dados,
fornecendo contexto e relevância para tomar decisões informadas.

• Informação é o dado organizado e estruturado, que possui sentido e


relevância.

• É a matéria-prima do conhecimento.
Importância da Informação
• A informação traz compreensão sobre um determinado assunto ou situação.

• Permite identificar tendências, padrões e correlações.

• Quando os dados agregados fazem sentido para quem os lê, existe valor
naquela informação.

• É a informação que fornece insights e embasa decisões informadas.

– Requer unidade de análise.

– Exige consenso em relação ao significado.

– Exige mediação humana.


Conhecimento
• O conhecimento é a capacidade adquirida por alguém de interpretar e operar
sobre um conjunto de informações.

• Vai além da informação, envolvendo compreensão profunda e habilidades


práticas.

• É a compreensão profunda de como utilizar informações de forma eficiente,


fazendo conexões entre diferentes conjuntos de dados e identificando
soluções para problemas específicos.
Relação entre Dado,
Informação e Conhecimento
• Dado é a matéria-prima.

• Informação é o dado organizado e processado.

• Conhecimento é a aplicação e compreensão desse conjunto de informações.


Informação vs. Conhecimento
• Informações são dados trabalhados.

• Conhecimento são informações trabalhadas.


Valor do Conhecimento
• O conhecimento permite tomar decisões fundamentadas.

• Contribui para a solução de problemas e inovação.


Ciclo de Transformação
• O processo contínuo de transformação:

– Dado ➔ Informação ➔ Conhecimento.

• A experiência pessoal enriquece o ciclo.

• O indivíduo é peça-chave na transformação de informação em conhecimento.

• Capacidade de aprender, interpretar e aplicar é fundamental.


Conclusão
 Dado, informação e conhecimento.

 A Informação é a base para adquirir conhecimento e tomar decisões


estratégicas.

 Valorizar o ciclo de dado, informação e conhecimento é essencial para o


sucesso na era da informação.
Próxima aula
 Tipos de Dados.
Fundamentos em
Ciências de Dados
Capítulo 2. Fundamentos da Ciência de
Dados e Análise de Dados

Aula 2.2. Tipos de Dados


Prof. Leandro Lessa
Nesta aula
 Tipos de Dados.
Tipos de Dados
• Em Ciência de Dados, nos deparamos com uma diversidade de tipos de
dados, cada um demandando ferramentas e técnicas específicas.

• Nesta área, três principaíscategorias de dados são identificadas:

– Dados Estruturados.

– Dados Não Estruturados.

– Dados Semiestruturados.
Dados Estruturados
• São dados organizados em um formato predefinido e bem definido,
tipicamente em tabelas com linhas e colunas.

• Podem ser facilmente armazenados em bancos de dados relacionais.

• Tem por característica ser:

– Inflexíveis.

– Pensados antes da própria criação dos dados.

– Impede que dados de formatos diferentes sejam carregados.

o Ex: tabela numérica não aceita dados textuais.


Dados Estruturados
• Dados estruturados são sempre claramente organizados e mais fáceis de analisar.

• São ideais para análises quantitativas e utilização em algoritmos de Machine


Learning.

• Muitas organizações optam por trabalhar com esse tipo de dado.


Dados Não Estruturados
• Representam informações que não seguem um formato específico e não
podem ser facilmente organizados em tabelas.

• São o posto dos dados estruturados.

– Não possuem estrutura predefinida, alinhada ou padronizada.

– São flexíveis.

– Podem ter estruturas dinâmicas ou nenhuma estrutura.

– Compostos por imagens, áudios, vídeos, gráficos e textos.


Dados Não Estruturados
• São difíceis de processar devido a sua complexidade e formatação.

• O processamento e análise desses dados requerem técnicas mais


avançadas, como processamento de linguagem natural e reconhecimento
de padrões.
Dados Não Estruturados
• São os mais amplamente difundidos, representando aproximadamente 90% do
total de dados produzidos atualmente.

• Devido à sua organização e formato, muitas organizações têm se esforçado para


compreendê-los e utilizá-los como base para suas estratégias e ideias de negócio.

• Nesse cenário, a Inteligência Artificial (IA) desempenha um papel de extrema


relevância na análise desses dados. Por meio de algoritmos avançados, as IAs têm
a capacidade de extrair insights valiosos e identificar padrões significativos.
Dados Semiestruturados
• São uma combinação de dados estruturados e não estruturados.

• Possuem uma estrutura flexível, como arquivos XML ou JSON, que permite
armazenar informações de forma organizada, mas sem a rigidez dos dados
estruturados.

• Comuns em ambientes web e Big Data, exigindo técnicas específicas para


sua manipulação e análise.
Dados Semiestruturados
• Não residem em uma tabela formatada, mas possuem certa organização.

• Estrutura heterogênea:

– Nem totalmente rígida nem exclusivamente flexível.


Importância da Compreensão
dos Tipos de Dados
• Compreender os diferentes tipos de dados permite aos cientistas de dados
selecionar as ferramentas adequadas e extrair insights valiosos de diversas
fontes de informação, garantindo a eficácia e sucesso em projetos de Ciência
de Dados.
Conclusão
 Tipos de Dados.
Próxima aula
 Ciclo de vida de dados e informações.
Fundamentos em
Ciências de Dados
Capítulo 2. Fundamentos da Ciência de
Dados e Análise de Dados

Aula 2.3. Ciclo de vida de dados e informações


Prof. Leandro Lessa
Nesta aula
 Ciclo de vida de dados e informações.

 Knowledge Discovery Databases.


Ciclo de vida
• O ciclo de vida de dados e informações é uma abordagem fundamental para
entender como os dados são criados, coletados, processados, armazenados,
analisados e, por fim, transformados em conhecimento útil.

• Para cientistas de dados, a compreensão desse ciclo é essencial para


conduzir projetos de análise de forma eficiente e bem-sucedida.
Knowledge Discovery
Databases
• O KDD é um processo abrangente e iterativo que visa extrair
conhecimento útil e significativo, a partir de grandes volumes de
dados.

• Essa metodologia abrange diversas etapas, que vão desde a seleção e


pré-processamento dos dados até a interpretação e aplicação dos
resultados encontrados.
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Knowledge Discovery
Databases
• As primeiras etapas do processo KDD são muito parecidas com o ETL.

• Identificamos as bases e realizamos os pré-processamento dos dados.

• Transformação dos dados de modo a torná-los compatíveis com as


entradas de diversos algoritmos de mineração existentes.
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Knowledge Discovery
Databases
Conhecimento Gerado
• Nessa fase, descobertas e padrões são avaliados por especialistas de
domínio.

• As informações obtidas são questionadas quanto à relevância e significado.

• Se as respostas não forem satisfatórias, pode ser necessário revisar o


processo.

• Isso pode incluir repetir algumas etapas específicas do processo ou até


mesmo reconsiderar as abordagens e técnicas utilizadas na mineração de
dados.
Conclusão
 Ciclo de vida de dados e informações.

 Knowledge Discovery Databases.


Próxima aula
 Etapas do processo da Ciência de Dados.
Fundamentos em
Ciências de Dados
Capítulo 2. Fundamentos da Ciência de
Dados e Análise de Dados

Aula 2.4. Etapas do Processo da Ciência de Dados


Prof. Leandro Lessa
Nesta aula
 Etapas do processo da Ciência de Dados.
Data Science Process
• Adotar uma abordagem estruturada na ciência de dados é fundamental para
aumentar suas chances de sucesso em um projeto, reduzindo custos e
otimizando resultados.

• Além disso, trabalhar em equipe permite atribuir tarefas de acordo com as


habilidades de cada profissional, garantindo maior eficiência e expertise em
cada etapa do processo.
Data Science Process
• É importante ressaltar que essa abordagem pode não ser adequada para
todos os tipos de projetos e não representa a única maneira de realizar uma
boa ciência de dados.

• Cada projeto pode ter características específicas que exigem abordagens


flexíveis e adaptáveis.

• Dessa forma, a flexibilidade para ajustar a metodologia conforme a


necessidade e a natureza do projeto é essencial para obter resultados bem-
sucedidos.
Data Science Process
Definir o Objetivo da
Pesquisa
• Nesta etapa inicial, o objetivo do projeto é claramente definido.

– É fundamental compreender quais perguntas precisam ser respondidas


e como os dados podem auxiliar na tomada de decisão ou solução de
problemas.

• Definir o objetivo e o escopo no qual o profissional vai atuar.


Definir o Objetivo da
Pesquisa
• Estabelecer o que será realizado:

– Qual empresa será beneficiada.

– Quais dados e recursos serão utilizados.

• Estabelecer cronogramas e entregas.


Recuperando dados
• A aquisição dos dados é uma etapa crítica.

• Nesse momento, são identificadas as fontes de dados relevantes e os dados


são coletados e armazenados para análise posterior. Isso pode envolver dados
estruturados, não estruturados ou semiestruturados.

• Verificar a existência, a qualidade e o acesso aos dados.

• Os dados também podem ser fornecidos por empresas terceirizadas e


assumem muitas formas, desde planilhas do Excel até diferentes tipos de
bancos de dados.
Preparação de dados
• Os dados coletados podem conter ruídos, valores ausentes ou
inconsistências.

• Nessa etapa, os dados são tratados e preparados para garantir sua


qualidade e confiabilidade.

• Essa fase consiste em três subfases:

– Limpeza de dados.

– Enriquecimento de dados.

– Transformação de dados.
Exploração de dados
• Os dados são explorados visualmente e analiticamente para identificar padrões,
tendências e relações relevantes.

• Técnicas de estatística descritiva e visualização de dados são comumente


utilizadas para obter insights iniciais.

• A exploração de dados está preocupada em construir uma compreensão mais


profunda de seus dados.
Modelagem de dados
• Nesta fase, modelos e algoritmos são selecionados e aplicados aos dados para
resolver o problema ou responder às perguntas formuladas na etapa de
definição do problema.

• Isso pode incluir técnicas de aprendizado de máquina, regressão, clustering,


entre outras.

• A construção de um modelo é um processo iterativo que envolve a seleção


das variáveis, a execução do modelo e o diagnóstico do modelo.
Apresentação e automação
• A etapa de apresentação é crucial para transmitir os achados de forma clara e
compreensível aos stakeholders e decisores do negócio.

• Relatórios, gráficos e visualizações impactantes são fundamentais para


comunicar as descobertas e possibilitar uma tomada de decisão embasada em
dados.
Apresentação e automação
• Automatizar o processo de ciência de dados é o segredo para agilizar a tomada
de decisões e garantir a eficiência na análise contínua de dados.

• Através da automação, é possível criar modelos e algoritmos que executam


tarefas de forma recorrente, reduzindo a dependência de intervenções
manuais e economizando tempo e recursos.

• Um exemplo prático é a criação de Jobs que executam previsões em intervalos


específicos, como todo primeiro dia do mês, permitindo obter resultados
atualizados e relevantes para suportar ações estratégicas.
Benefícios
• Comunicação eficaz:

– Apresentar resultados de forma clara e visualmente atraente aumenta o


entendimento e o engajamento dos stakeholders, facilitando a adoção
das descobertas na tomada de decisões.

• Rapidez e eficiência:

– A automação reduz o tempo de resposta para análises de dados,


tornando o processo mais ágil e permitindo uma tomada de decisão
mais proativa e oportuna.
Benefícios
• Escalabilidade:

– A automação possibilita lidar com grandes volumes de dados e


aumentar a capacidade analítica de forma escalável, atendendo às
necessidades do crescimento do negócio.

• Precisão e confiabilidade:

– A automação diminui a intervenção humana nas etapas de análise,


reduzindo erros e garantindo maior confiabilidade nos resultados
obtidos.
Conclusão
 Etapas do processamento da Ciências de Dados.
Próxima aula
 Definição e conceitos de Big Data.
Fundamentos em
Ciências de Dados
Capítulo 3. Fundamentos de Big Data

Aula 3.1. Definição e conceitos de Big Data


Prof. Leandro Lessa
Nesta aula
 Fundamentos do Big Data.
Definição

“Big Data é um conjunto gigantesco de dados, provenientes de diversas


fontes e em diferentes formatos, que desafiam as capacidades
tradicionais de coleta e análise. É uma fonte valiosa de informações
para a tomada de decisões estratégicas.”
Cenário atual do Big Data
• No mundo digitalmente conectado de hoje, os dados são produzidos em
uma velocidade avassaladora.

• Cada clique, compra, postagem nas redes sociais, registro em sistemas e até
mesmo sensores e dispositivos conectados, geram uma quantidade
impressionante de informações.

• Essa avalanche de dados, conhecida como Big Data, representa um recurso


valioso e transformador para empresas e organizações em todos os setores.
Cenário atual do Big Data
• O Big Data não se limita apenas à quantidade massiva de informações, mas
também à sua diversidade e velocidade de geração.

• Ele engloba dados estruturados e não estruturados, como textos, imagens,


áudios e vídeos, e exige tecnologias e técnicas avançadas para serem
processados e compreendidos.

• Nesta era de Big Data, empresas que conseguem extrair insights


significativos de seus dados têm uma vantagem competitiva inigualável.
Cenário atual do Big Data
• Esses insights podem revelar padrões ocultos, oportunidades de
crescimento, preferências dos clientes, tendências de mercado e muito mais.

• Com o poder do Big Data, as organizações podem tomar decisões mais


informadas, otimizar operações, personalizar experiências de clientes e
impulsionar a inovação.
Cenário atual do Big Data
• No entanto, lidar com o Big Data também apresenta desafios.

• O volume imenso de dados requer infraestruturas robustas de


armazenamento e processamento, além de soluções eficientes de análise e
mineração de dados.

• A segurança e a privacidade também são preocupações importantes quando


se lida com dados sensíveis.
De onde vem os dados?
• A crescente adoção das mídias sociais e dispositivos móveis tem
impulsionado exponencialmente a quantidade de dados gerados
diariamente. Diversas fontes contribuem para esse aumento, incluindo:

– Redes sociais.

– Tecnologias de imagem.

– Dispositivos e sensores.

– Transações com cartões de crédito/débito.

– E muito mais.
Cenário atual do Big Data
• Acompanhar o fluxo de dados é difícil, ainda mais desafiador é analisar
grandes quantidades, especialmente quando não seguem estruturas
tradicionais.

• Em março de 2022, foram criados 2,5 quintilhões de dados por dia.

• Com tantos dados produzidos a cada minuto, os métodos tradicionais de


coleta, armazenamento e processamento de dados começaram a não ser
suficientes, causando problemas e gastos cada vez maiores para suprir as
necessidades do negócio.
A Origem dos Dados do Big Data
• Big Data não se limita aos dados gerados por alguns usuários.

• Celulares, mídias sociais, inteligências artificiais, tecnologias de imagem e


outros, produzem dados para armazenamento e propósitos diversos.

• Refere-se principalmente à enorme quantidade de dados diários, que


muitas vezes não seguem padrões.
Dados Gerados por Pessoas
• São dados gerados pela atividade humana na tecnologia, incluindo:

– Postagens em redes sociais.

– Mensagens enviadas por aplicativos.

– Textos em blogs, revistas ou páginas da web.

– Áudios e vídeos compartilhados.

– E-mails e outros tipos de comunicação digital.


Dados Gerados por Máquinas
• São dados gerados automaticamente por máquinas, sem intervenção humana,
por meio de programação específica para extrair informações, como:

– Sensores em veículos, eletrodomésticos e máquinas industriais.

– Câmeras e sistemas de segurança.

– Satélites.

– Dispositivos médicos.

– Ferramentas pessoais, como aplicativos de smartphone e similares.


Dados Gerados por Empresas
• São dados obtidos pelas organizações enquanto gerenciam seus negócios,
conhecidos no mundo do Big Data como “dados transacionais”. Por exemplo:

– Registros gerados em cada compra em lojas online ou físicas.

– Números exclusivos de clientes, itens comprados, data, hora e


quantidade de cada item adquirido.
Conclusão
 Fundamentos do Big Data.
Próxima aula
 Os 5 V’s do Big Data.
Fundamentos em
Ciências de Dados
Capítulo 3. Fundamentos de Big Data

Aula 3.2. Os 5 V’s do Big Data


Prof. Leandro Lessa
Nesta aula
 Os 5 V’s do Big Data.
V’s do Big Data
• O Big Data, um conceito que revolucionou a forma como lidamos com dados, é
um fenômeno que tem se destacado cada vez mais no cenário tecnológico e
empresarial.

• Uma das características distintivas desse universo é representada pelos


famosos “V's do Big Data”, que englobam atributos essenciais para entender a
complexidade dos dados em escala exponencial.
Volume
• Representa a imensidão dos dados gerados diariamente em diferentes fontes.
Com o avanço da tecnologia, a quantidade de informações produzidas tem
crescido exponencialmente, ultrapassando as capacidades de armazenamento
e processamento tradicionais.

• As redes sociais, dispositivos móveis, sensores inteligentes, sistemas de


vigilância, transações financeiras e outras fontes contribuem para esse imenso
volume de dados.

• Volume de dados é uma característica primordial e essencial do Big Data.


Velocidade
• Refere-se à taxa acelerada na qual os dados são gerados, processados e
disponibilizados para análise em tempo real.

• Com o avanço tecnológico e a interconectividade crescente, a geração contínua


de dados ocorre em uma velocidade impressionante.

• A velocidade do Big Data é crucial para o sucesso da análise e das oportunidades


em tempo real.

• Infraestrutura tecnológica, como streaming e processamento em tempo real,


permite lidar com o fluxo contínuo de informações e transformá-las em
conhecimento acionável.
Variedade
• Refere à diversidade de formatos e tipos de dados disponíveis.

• Ao contrário dos dados estruturados tradicionais, que seguem um formato


organizado em tabelas, o Big Data abrange informações não estruturadas,
semiestruturadas e estruturadas.

• A capacidade de lidar com essa variedade de dados é fundamental para obter


uma visão completa e precisa das informações disponíveis.
Veracidade
• Refere à confiabilidade e qualidade dos dados disponíveis.

• Em um ambiente de grande volume e variedade de informações, garantir a


veracidade dos dados é essencial para tomar decisões informadas e evitar
conclusões equivocadas.

• Com a proliferação de fontes de dados e a facilidade de disseminação de


informações, nem todos os dados são precisos e confiáveis.

• Erros, informações desatualizadas ou imprecisas podem afetar a análise e,


consequentemente, as decisões tomadas com base nesses dados.
Veracidade
• Veracidade no Big Data está relacionada à confiabilidade dos dados. Para que
sejam considerados verídicos, os dados devem apresentar as seguintes
características:

• Qualidade e consistência:

– Os dados devem ser precisos, consistentes e livres de erros. É essencial


garantir que as informações coletadas reflitam a realidade e não
contenham inconsistências ou dados inventados.
Veracidade
• Origem conhecida:

– A fonte dos dados deve ser conhecida e confiável. É importante verificar a


procedência das informações para garantir que sejam provenientes de
fontes legítimas e autorizadas.

• Veracidade e autenticidade:

– Os dados devem ser verdadeiros e autênticos, livres de informações falsas


ou dados fabricados (fakes). Isso garante que as análises e decisões se
baseiem em informações confiáveis e reais.
Veracidade
• Fontes de dados:

– É importante considerar a origem dos dados. Dados de opinião, por


exemplo, podem ser subjetivos e menos confiáveis para análise. Priorizar
dados objetivos e com embasamento factual é fundamental para uma
tomada de decisão assertiva.

• Dados internos e externos:

– Os dados podem ser internos ou externos à instituição. Embora os dados


internos sejam mais fáceis de verificar, é crucial validar e avaliar a
credibilidade das fontes externas para garantir a confiabilidade das
informações utilizadas.
Valor
• Refere à capacidade de extrair informações relevantes e insights significativos a
partir dos enormes volumes de dados disponíveis.

• Afinal, o verdadeiro valor do Big Data está em como esses dados são utilizados
para a tomada de decisões estratégicas e impulsionar a inovação.

• Com a análise adequada, o Big Data pode revelar padrões ocultos, tendências
emergentes, preferências do cliente e oportunidades de mercado, entre outros
aspectos cruciais para o sucesso de uma organização.
Valor
• Para alcançar o valor do Big Data, é essencial estabelecer objetivos claros e
definir as questões que precisam ser respondidas.

• A escolha das técnicas e ferramentas de análise adequadas também é crucial


para garantir que os dados sejam traduzidos em informações valiosas.
Conclusão
 Os 5 V’s do Big Data.
Próxima aula
 Armazenamento de dados do Big Data.
Fundamentos em
Ciências de Dados
Capítulo 3. Fundamentos de Big Data

Aula 3.3. Armazenamento de dados do Big Data


Prof. Leandro Lessa
Nesta aula
 Armazenamento de dados do Big Data.
Armazenamento de Dados
• No contexto do Big Data, existem várias formas de armazenamento de dados,
cada uma adequada para diferentes tipos de informações e necessidades
específicas.

• Cada uma dessas soluções tem características distintas e desempenha papéis


específicos na gestão e aproveitamento da vasta quantidade de informações
disponíveis.
Data Lake
• O Data Lake é uma estrutura que permite armazenar grandes volumes de
dados em seu formato bruto original, incluindo dados estruturados, não
estruturados e semiestruturados.

• Essa abordagem é flexível e escalável, permitindo a captura de dados de


diversas fontes sem a necessidade de estruturá-los previamente.

• O Data Lake é ideal para análises avançadas e descoberta de insights valiosos.


Data Warehouse
• O Data Warehouse é uma estrutura centralizada que armazena dados
estruturados, processados e otimizados para consultas analíticas.

• Essa abordagem é ideal para oferecer um ambiente consolidado de alto


desempenho, e facilitar a análise de dados históricos, suportando relatórios e
dashboards gerenciais.

• O Data Warehouse é projetado para fornecer respostas rápidas a perguntas


predefinidas, garantindo uma visão consolidada do negócio.
Data Mart
• Data Mart é uma versão menor e especializada do Data Warehouse, que
atende às necessidades específicas de um departamento ou equipe dentro da
organização.

• O Data Mart é projetado para fornecer dados relevantes e personalizados para


uma área específica, permitindo que as equipes tenham acesso rápido às
informações relevantes para suas atividades diárias.
Banco de Dados NoSQL
• Os bancos de dados NoSQL (Not Only SQL) são projetados para lidar com
grandes volumes de dados não estruturados e semiestruturados.

• Eles oferecem escalabilidade horizontal e flexibilidade para lidar com


diferentes tipos de informações, tornando-os adequados para cenários de
Big Data.
Armazenamento em Nuvem
• A computação em nuvem oferece soluções de armazenamento altamente
escaláveis e flexíveis para o Big Data.

• As plataformas de armazenamento em nuvem permitem que as


organizações paguem apenas pelo uso, tornando-as uma opção econômica
para o gerenciamento de grandes volumes de dados.
Estratégias de Armazenamento
• Cada uma dessas formas de armazenamento tem suas vantagens e desafios
e é adequada para diferentes tipos de informações e cenários de uso.

• Em muitos casos, uma abordagem combinada de diferentes formas de


armazenamento é empregada para otimizar a gestão e análise dos dados no
contexto do Big Data.

• A escolha da melhor estratégia de armazenamento dependerá das


necessidades específicas da organização, do volume e tipo de dados a
serem gerenciados e da natureza das análises e insights que se busca obter.
Conclusão
 Armazenamento de dados do Big Data.
Próxima aula
 Técnicas de Integração de Dados: ETL e ELT.
Fundamentos em
Ciências de Dados
Capítulo 3. Fundamentos de Big Data

Aula 3.4. Técnicas de Integração de Dados


Prof. Leandro Lessa
Nesta aula
 Técnicas de Integração de Dados.
Integração de Dados
• A integração de dados é uma etapa crucial no ecossistema do Big Data, que
envolve a coleta, transformação e carga de informações de diversas fontes em
um único repositório, permitindo a análise holística e abrangente dos dados.

• Duas abordagens amplamente utilizadas na integração de dados no contexto


do Big Data são:

– ETL (Extração, Transformação e Carga).

– ELT (Extração, Carga e Transformação).


ETL
• No processo ETL, os dados são extraídos de várias fontes, como bancos de
dados, arquivos, APIs e aplicativos.

• Em seguida, passam por um estágio de transformação, onde são limpos,


organizados, enriquecidos e padronizados de acordo com as necessidades
da análise.

• Posteriormente, os dados transformados são carregados em um repositório


de destino, como um Data Warehouse ou Data Mart.
ETL
• O ETL é ideal para cenários em que a transformação dos dados precisa ser feita
antes do carregamento no repositório de destino, garantindo a consistência e
qualidade dos dados para análise.
ELT
• A abordagem ELT é semelhante ao ETL, mas com uma diferença significativa: os
dados são extraídos de suas fontes e, em seguida, carregados diretamente no
repositório de destino, como um Data Lake ou um banco de dados NoSQL.

• Em seguida, a transformação dos dados é realizada dentro do repositório,


aproveitando a escalabilidade e o poder de processamento dos sistemas de
armazenamento de dados.
ELT
• A abordagem ELT é mais adequada para casos em que os dados brutos
precisam ser armazenados em sua integridade antes da transformação,
permitindo uma análise flexível e exploratória posteriormente.
Vantagens e
Desvantagens
ETL – Vantagens
• Qualidade dos dados:

– O processo de transformação antes do carregamento permite garantir a


qualidade, integridade e consistência dos dados, resultando em análises
mais confiáveis e precisas.

• Personalização:

– É possível personalizar a transformação dos dados de acordo com as


necessidades específicas da análise, garantindo que os dados sejam
adaptados às exigências do repositório de destino.
ETL – Vantagens
• Redução da carga no repositório:

– Ao realizar a transformação antes do carregamento, é possível reduzir a


carga e o volume de dados no repositório de destino, tornando-o mais
eficiente e de fácil manutenção.
ETL – Desvantagens
• Demanda de recursos:

– O processo ETL pode exigir recursos significativos, especialmente


quando lida com grandes volumes de dados, tornando-o mais demorado
em algumas situações.

• Dificuldade em lidar com dados não estruturados:

– A transformação pode ser mais complexa ao lidar com dados não


estruturados ou semiestruturados, exigindo esforços adicionais para
organizar e padronizar esses dados.
ELT – Vantagens
• Escalabilidade:

– O ELT permite tirar proveito da escalabilidade dos sistemas de


armazenamento de dados, como Data Lakes e bancos de dados NoSQL,
para processar grandes volumes de dados em paralelo.

• Flexibilidade de análise:

– O armazenamento dos dados brutos permite análises mais flexíveis e


exploratórias, pois a transformação é realizada posteriormente,
facilitando a adaptação dos dados às necessidades da análise.
ELT – Vantagens
• Velocidade de carregamento:

– O ELT pode ser mais rápido no carregamento inicial dos dados, uma vez
que eles são armazenados sem transformação prévia.
ELT – Desvantagens
• Desafios de qualidade dos dados:

– Como os dados brutos são carregados diretamente, pode haver menos


garantias em relação à qualidade dos dados, exigindo esforços adicionais
para limpeza e organização posteriormente.

• Consumo de espaço de armazenamento:

– O armazenamento de dados brutos pode consumir mais espaço,


especialmente quando não há uma seleção criteriosa dos dados
carregados, o que pode levar a custos adicionais de armazenamento.
Decisões Estratégicas
• A escolha entre ETL e ELT dependerá:

– Das necessidades específicas do projeto.

– Do volume e complexidade dos dados.

– Da capacidade de processamento disponível.

– Dos objetivos das análises.

• Em muitos casos, uma abordagem híbrida combinando aspectos das duas


técnicas, pode ser adotada para otimizar o processo de integração.
Conclusão
 Técnicas de Integração de Dados.
Próxima aula
 Introdução ao Python.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.1. Introdução ao Python
Prof. Leandro Lessa
Nesta aula
 Introdução ao Python.
Introdução ao Python
Python
• Python é uma linguagem de programação de alto nível, interpretada,
dinamicamente tipada e de propósito geral.

• Ela possui uma sintaxe simples, legível e fácil de aprender, o que a torna
uma das linguagens mais populares no mundo da programação.
Python
• Uma das áreas em que o Python tem se destacado é na análise de dados e
Machine Learning.

• Isso se deve à sua grande quantidade de bibliotecas e frameworks de código


aberto disponíveis para essas áreas, que facilitam a implementação de
modelos de Machine Learning e a análise de dados.
Python
• Tem sido escolhido por empresas líderes em tecnologia, como Google,
Microsoft e Amazon, para desenvolver e implantar soluções de Machine
Learning em larga escala.

• Possui uma grande comunidade de desenvolvedores e uma ampla


variedade de bibliotecas e frameworks disponíveis.
Python para projetos
de Machine Learning
Python – Projetos de ML
• Grande variedade de bibliotecas e frameworks:

– Possui uma ampla variedade de bibliotecas e frameworks de código


aberto para Machine Learning, como Scikit-Learn, TensorFlow, Keras,
PyTorch e muitos outros.

• Essas bibliotecas oferecem uma variedade de algoritmos de aprendizado de


máquina e ferramentas de análise de dados, tornando o desenvolvimento
de modelos de Machine Learning mais fácil e eficiente.
Python – Projetos de ML
• Facilidade de uso:

– É uma linguagem de programação fácil de aprender e usar, com uma


sintaxe simples e legível.

• Grande comunidade de desenvolvedores:

– Possui uma grande comunidade de desenvolvedores ativos, o que


significa que há uma grande quantidade de recursos, documentação
e suporte disponíveis. A comunidade também está constantemente
criando novas bibliotecas e ferramentas para Machine Learning.
Python – Projetos de ML
• Escalabilidade:

– É capaz de lidar com grandes volumes de dados e é facilmente


escalável para projetos maiores. Isso é importante para projetos de
Machine Learning que lidam com grandes conjuntos de dados.

• Integração com outras ferramentas:

– Facilmente integrável com outras ferramentas e tecnologias de


análise de dados, como Hadoop, Spark e SQL. Isso significa que é
possível integrar o Python em um pipeline de dados maior.
Conclusão
 Uma breve introdução ao Python.

 Entendemos as razões pelas quais o Python é uma escolha popular para


projetos de Machine Learning.
Próxima aula
 Instalação do Python.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.2. Instalação do Python
Prof. Leandro Lessa
Nesta aula
 Instalação do Python.
Conclusão
 Instalação do Python.
Próxima aula
 Introdução ao Jupyter notebook.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.3. Introdução ao Jupyter Notebook
Prof. Leandro Lessa
Nesta aula
 Introdução ao Jupyter notebook.
Introdução ao
Jupyter Notebook
Jupyter Notebook
• É uma ferramenta interativa e web para a criação e compartilhamento de
documentos que contêm código, visualizações e texto explicativo.

• É muito popular entre cientistas de dados, engenheiros de Machine


Learning, pesquisadores e educadores por sua facilidade de uso e
flexibilidade.
Jupyter Notebook
• O código é executado em células individuais e os resultados são exibidos
diretamente no notebook. Isso permite uma análise iterativa e uma
exploração interativa dos dados.

• Além do código, o Jupyter Notebook permite a inclusão de texto explicativo


em formato Markdown, o que facilita a comunicação dos resultados da
análise de dados ou do processo de desenvolvimento de modelos de
Machine Learning.
Vantagens
Vantagens
• Flexibilidade:

– Suporta várias linguagens de programação, incluindo Python, R, Julia,


entre outras. Isso torna o ambiente de desenvolvimento flexível e
permite que os usuários escolham a melhor linguagem para cada
tarefa.

• Interação:

– Permite a execução de células individuais de código, permitindo que


os desenvolvedores iterem rapidamente sobre o código, testando
hipóteses e verificando resultados em tempo real.
Vantagens
• Visualizações interativas:

– Permite a criação de visualizações interativas, que ajudam a explorar


dados e comunicar resultados de forma mais efetiva. É possível usar
bibliotecas como Matplotlib, Seaborn e Plotly para criar gráficos,
mapas e outras visualizações.

• Colaboração:

– Permite que vários usuários trabalhem em um mesmo documento. É


possível compartilhar o notebook inteiro ou apenas partes específicas,
permitindo que outras pessoas vejam e editem o trabalho.
Vantagens
• Documentação:

– O Jupyter Notebook permite a inclusão de texto explicativo em


formato Markdown, o que torna o processo de documentação e
comunicação de resultados mais fácil e efetivo.

• Reprodutibilidade:

– Permite que o código, os dados e as visualizações sejam salvos em


um único documento, garantindo a reprodutibilidade do trabalho. É
possível compartilhar o notebook com outras pessoas e garantir que
os resultados possam ser reproduzidos.
Conclusão
 Uma breve introdução ao Jupyter Notebook.

 Demostramos as principaísvantagens do Jupyter Notebook.


Próxima aula
 Instalação do Jupyter Notebook.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.4. Instalação do Jupyter Notebook
Prof. Leandro Lessa
Nesta aula
 Instalação do Jupyter Notebook.
Conclusão
 Instalação do Jupyter Notebook.
Próxima aula
 Introdução aos ambientes virtuais.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.5. Introdução aos ambientes virtuais
Prof. Leandro Lessa
Nesta aula
 Introdução aos ambientes virtuais.
Ambientes virtuais
Ambientes Virtuais
• Um ambiente virtual, também conhecido como virtual env (abreviação de
“virtual environment”), é uma ferramenta que permite criar um ambiente
Python isolado, com suas próprias bibliotecas e dependências,
independentemente do ambiente global do sistema.

• Significa que você pode ter vários ambientes virtuais com diferentes versões
de bibliotecas e dependências, e usá-los para diferentes projetos sem que
eles interfiram uns com os outros, ou com o ambiente global do sistema.
Ambientes Virtuais
• O uso de ambientes virtuais é especialmente útil quando você está
trabalhando em vários projetos Python simultaneamente, cada um com
suas próprias dependências e requisitos específicos.

• O ambiente virtual é criado com o uso de ferramentas específicas, como o


virtualenv ou o venv, que permitem criar um ambiente isolado, instalar as
bibliotecas e dependências necessárias e gerenciar as configurações do
ambiente.
Ambientes Virtuais
Vantagens
Vantagens
• Isolamento de dependências:

– Permite que você crie um ambiente isolado para um projeto


específico, com suas próprias dependências e versões de pacotes. Isso
evita conflitos entre diferentes projetos, que possam ter
dependências conflitantes ou incompatíveis.

• Reprodutibilidade:

– Pode ser reproduzido em diferentes máquinas e sistemas


operacionais. Isso garante que outras pessoas possam reproduzir seu
ambiente de desenvolvimento e executar seu código sem problemas.
Vantagens
• Facilidade de atualização:

– Um ambiente virtual permite que você atualize facilmente as


dependências do projeto sem afetar outros projetos. Você pode
atualizar pacotes específicos dentro do ambiente virtual, sem afetar
outros pacotes ou dependências.

• Portabilidade:

– Você pode mover facilmente seu projeto de uma máquina para outra,
sem se preocupar com dependências e configurações do sistema.
Conclusão
 Introdução aos ambientes virtuais.

 Demostramos as principaísvantagens do Jupyter Notebook.


Próxima aula
 Instalação do ambiente virtual.
Fundamentos em
Ciências de Dados
Capítulo 4. Preparação do Ambiente de
Desenvolvimento
Aula 4.6. Instalação do ambiente virtual
Prof. Leandro Lessa
Nesta aula
 Instalação do ambiente virtual.
Conclusão
 Instalação do ambiente virtual.
Próxima aula
 Aplicações da Análise de Dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.1. Aplicações da análise de dados
Prof. Leandro Lessa
Nesta aula
 Aplicações da Análise de Dados.
Análise de Dados
• A análise de dados é um dos pilares essenciais da Ciência de Dados, pois é por
meio dela que os cientistas de dados extraem insights, tomam decisões
estratégicas e constroem modelos preditivos e inteligentes.

• Essa etapa fundamental busca identificar padrões, tendências e relações


dentro dos conjuntos de dados.

• Pode ser realizada por meio de técnicas estatísticas, visualizações, análise


exploratória e modelos preditivos, entre outras abordagens.
Análise de Dados
• A análise de dados é um processo crucial que envolve:

– Inspeção.

– Limpeza.

– Transformação.

– Interpretação de dados.

• O objetivo da análise de dados é extrair informações valiosas.


Aplicações
• A análise de dados é uma habilidade transformadora que desempenha um
papel essencial em nosso mundo cada vez mais orientado por informações.

• Ao explorar e extrair insights valiosos de conjuntos de dados, a análise de


dados oferece uma visão detalhada e abrangente de uma ampla variedade de
situações e áreas.
Aplicações
• Tomada de decisões empresariais:

– Empresas podem usar análise de dados para avaliar o desempenho dos


negócios, identificar tendências do mercado, otimizar processos, prever
demandas e tomar decisões estratégicas.

• Marketing e publicidade:

– Pode ser usada para segmentar o público-alvo, medir a eficácia de


campanhas de marketing, entender o comportamento do cliente e
personalizar as mensagens para aumentar o engajamento.
Aplicações
• Saúde e Medicina:

– Na área da saúde, a análise de dados pode ser aplicada para diagnósticos


médicos, prever epidemias, melhorar a eficiência dos hospitais, identificar
fatores de risco e desenvolver tratamentos personalizados.

• Finanças:

– Instituições financeiras usam análise de dados para detecção de fraudes,


análise de riscos de investimentos, previsão de tendências econômicas e
gerenciamento de portfólio.
Aplicações
• Ciência e pesquisa:

– Na pesquisa científica, a análise de dados é usada para extrair


informações de experimentos, analisar resultados de estudos e
desenvolver modelos matemáticos.

• Tecnologia e Inteligência Artificial:

– A análise de dados é essencial para treinar algoritmos de aprendizado de


máquina e inteligência artificial, permitindo que sistemas automatizados
tomem decisões e realizem tarefas com base em padrões encontrados
nos dados.
Aplicações
• Análise de Sentimento:

– Empresas e organizações podem analisar dados de mídias sociais e outras


fontes para entender o sentimento do público em relação a produtos,
marcas e eventos.

• Recursos Humanos:

– A análise de dados pode ajudar os departamentos de RH a melhorar o


recrutamento, retenção de talentos, gerenciamento de desempenho e
identificação de necessidades de treinamento.
Conclusão
 Aplicações da Análise de Dados.
Próxima aula
 Tipos de análises de dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.2. Análise Descritiva dos Dados
Prof. Leandro Lessa
Nesta aula
 Análise Descritiva dos Dados.
Análise Descritiva dos Dados
• É uma etapa essencial na exploração e compreensão inicial de um conjunto de
dados, fornecendo uma visão geral e informações relevantes para o processo de
tomada de decisões.

• Visa compreender as informações obtidas dentro dos dados.

• Por meio dessa abordagem, os cientistas de dados podem examinar as


características dos dados, identificar padrões, tendências e peculiaridades, e
comunicar essas descobertas de maneira clara e concisa.
Análise Descritiva dos Dados
• É um ponto de partida crucial antes de aplicar técnicas mais avançadas de
modelagem e análise.

• Ela fornece insights iniciais sobre os dados e auxilia na identificação de


perguntas relevantes para a Ciência de Dados.
Análise Descritiva dos Dados
• Nas várias etapas da Análise Descritiva dos Dados, o primeiro passo é obter uma
visão geral das variáveis presentes no conjunto de dados, incluindo o tipo de
dados e suas respectivas distribuições.

• Nessa etapa são produzidos:

– Gráficos, tabelas e medidas estatísticas descritivas, como média, mediana


e desvio padrão, são amplamente utilizados para resumir e apresentar
essas informações de forma compreensível.
Técnicas de Análise Inicial
• Exploração Inicial dos Dados:

– Identificar a estrutura dos dados e visualizar sua distribuição, permitindo


insights iniciais sobre a natureza dos dados.

• Identificação de Outliers:

– Identificar valores extremos ou discrepantes que podem impactar na


análise e requerer tratamento especial.

• Resumo dos Dados:

– Fornecer uma visão resumida e concisa do conjunto de dados, facilitando


a comunicação das principaíscaracterísticas e tendências.
Técnicas de Análise Inicial
• Comparação de Grupos:

– Compreender as diferenças e similaridades entre grupos ou categorias


presentes no conjunto de dados.

• Validação de Dados:

– Verificar a consistência e confiabilidade dos dados, assegurando que


estejam adequados para análises posteriores.
A análise descritiva tem como objetivo principal ter uma visão
geral do conjunto de dados, descrever e resumir os dados de
forma concisa e objetiva.
Conclusão
 Análise Descritiva de Dados.
Próxima aula
 Análise Exploratória de Dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.3. Análise Exploratória de Dados
Prof. Leandro Lessa
Nesta aula
 Análise Exploratória de Dados.
Análise Exploratória de Dados
• A análise exploratória de dados é uma etapa mais avançada e abrangente da
análise descritiva.

• Nessa análise os dados são explorados de forma mais aprofundada.

• Essa abordagem investigativa tem por objetivo descobrir padrões, identificar


insights e obter uma visão geral dos dados antes de aplicar técnicas mais
complexas.

• A AED é uma abordagem mais interativa e iterativa, onde os analistas exploram


diferentes ângulos dos dados, formulam hipóteses e testam suas suposições.
PrincipaísObjetivos
• Identificar Padrões e Relações:

– A AED permite identificar padrões, tendências e relações entre variáveis


que podem não ser óbvias em uma análise descritiva inicial.

– Por exemplo, ao explorar dados de vendas de uma empresa a análise


exploratória pode revelar sazonalidades ou correlações entre vendas de
diferentes produtos.
PrincipaísObjetivos
• Análise de Correlação:

– A AED pode incluir a análise de correlações entre diferentes variáveis,


ajudando a entender quais variáveis estão relacionadas entre si.

– Por exemplo, em um conjunto de dados de saúde podemos explorar se


existe correlação entre a quantidade de exercícios físicos realizados e os
níveis de colesterol no sangue.
PrincipaísObjetivos
• Encontrar Outliers e Anomalias:

– É útil para detectar valores extremos (outliers) ou dados incomuns que


podem afetar a análise. Identificar e entender esses outliers é importante
para entender melhor o comportamento dos dados.

• Visualização avançada:

– Gráficos mais complexos e avançados são utilizados na AED para


representar a distribuição e relação entre variáveis de forma mais
detalhada. Gráficos como scatter plots, heatmaps, box plots e pair plots
são comuns na análise exploratória.
PrincipaísObjetivos
• Análise de Clusterização:

– A análise exploratória pode incluir técnicas de clusterização para agrupar


dados semelhantes em clusters ou grupos distintos. Isso pode revelar
padrões de segmentação de clientes, por exemplo.

• Análise de Componentes Principais:

– Outra técnica comum na AED é a análise de componentes principaís(PCA),


que ajuda a reduzir a dimensionalidade dos dados e encontrar as
características principaísque explicam a maior parte da variância dos
dados.
A análise exploratória de dados busca ir além da superfície,
explorando detalhadamente as relações, padrões e insights
ocultos presentes no conjunto de dados, possibilitando uma
compreensão mais profunda e valiosa para a tomada de
decisões informadas.
Conclusão
 Análise Exploratória de Dados.
Próxima aula
 Análise Diagnostica de Dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.4. Análise Diagnóstica de Dados
Prof. Leandro Lessa
Nesta aula
 Análise Diagnóstica de Dados.
Análise Diagnóstica de Dados
• Visa compreender as causas e relações subjacentes aos padrões observados nos
dados. Essa análise visa Descobrir causas e relações.

• Nessa abordagem, os cientistas de dados buscam identificar as variáveis-chave


que influenciam os resultados e entender como essas variáveis estão
relacionadas entre si.
Análise Diagnóstica de Dados
• Durante a Análise Diagnóstica, os dados são examinados em maior
profundidade e técnicas mais avançadas são aplicadas para investigar
correlações, associações e relações de causa e efeito.

• Análises estatísticas, testes de hipóteses e modelagem são algumas das


ferramentas utilizadas para aprofundar a compreensão dos dados.
Possibilidades de Análises
• Identificar Relações Causais:

– Descobrir quais variáveis têm maior impacto nos resultados e entender a


relação de causa e efeito entre elas.

• Validar Hipóteses:

– Testar suposições e teorias iniciais sobre os dados para confirmar ou


refutar inferências preliminares.
Possibilidades de Análises
• Aprofundar Insights:

– Explorar padrões complexos e relações não aparentes nos dados,


revelando informações ocultas.

• Tomada de Decisão Informada:

– Fornecer informações que embasem decisões estratégicas e direcionem


ações corretivas ou melhorias.
Possibilidades de Análises
• Identificação de Problemas:

– Identificar possíveis problemas ou anomalias nos dados que possam


afetar a qualidade e confiabilidade das análises.
Análise Diagnóstica de Vendas
• Problema:

– Queda acentuada nas vendas em uma região específica.

• Investigação:

– Analistas exploram diversos fatores que podem ter contribuído para a


redução nas vendas:

o Ações de marketing inadequadas.

o Mudanças nas preferências dos clientes.

o Concorrência acirrada.

o Problemas de logística na região.


Análise Diagnóstica de Vendas
• Resultados:

– Identificação das causas principaísque impactaram as vendas na região.

• Ação:

– A empresa toma medidas corretivas com base nos insights obtidos para
melhorar os resultados de vendas.

• Objetivo:

– Reverter a situação e otimizar o desempenho da região afetada.


A análise diagnóstica de dados tem como foco identificar as
causas e origens de problemas ou anomalias presentes no
conjunto de dados, permitindo uma investigação detalhada para
correções e melhorias nos processos de análise.
Conclusão
 Análise Diagnóstica de Dados.
Próxima aula
 Análise Preditiva de Dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.5. Análise Preditiva de Dados
Prof. Leandro Lessa
Nesta aula
 Análise Preditiva de Dados.
Análise Preditiva de Dados
• Permite às organizações explorar padrões e tendências nos dados históricos,
com o objetivo de fazer previsões precisas e embasar decisões estratégicas.

• Busca prever ventos futuros com base em padrões históricos e dados passados.

• Essa abordagem analítica vai além da simples descrição do passado,


proporcionando uma visão antecipada do que está por vir, permitindo que as
empresas se antecipem a desafios e identifiquem oportunidades promissoras.
Análise Preditiva de Dados
• A essência da análise preditiva está em identificar relacionamentos complexos
e ocultos entre variáveis, utilizando técnicas estatísticas avançadas e
algoritmos de aprendizado de máquina.

• Ao explorar os dados e extrair insights valiosos, é possível:

– Prever comportamentos.

– Identificar padrões sazonais.

– Compreender a demanda futura.

– Antecipar mudanças no mercado.


Análise Preditiva de Dados
• Durante a Análise Preditiva, os cientistas de dados trabalham com um
conjunto de dados históricos para criar modelos que possam generalizar
padrões e comportamentos.

• Esses modelos são, então, aplicados a novos dados para fazer previsões
precisas sobre o que pode acontecer em situações futuras.
Possibilidades de Análise
• Previsão de Tendências de Mercado:

– Identificar padrões em dados econômicos e de mercado para prever


comportamentos do consumidor e demanda de produtos.

• Manutenção Preditiva:

– Antecipar falhas em equipamentos e máquinas com base em dados de


manutenção, permitindo ações preventivas.
Análise Preditiva de Dados
• Segmentação de Clientes:

– Agrupar clientes com base em padrões de comportamento e


características semelhantes para direcionar estratégias de marketing.

• Previsão de Riscos:

– Avaliar riscos e oportunidades em operações financeiras e


investimentos.
Análise Preditiva de Dados
• Análise de Sentimento:

– Identificar a opinião e sentimentos dos clientes em relação a produtos


e serviços com base em análise de texto.

• Previsão de Demanda de Estoque:

– Utilizar dados de vendas e estoque para prever a demanda futura de


produtos, otimizando o gerenciamento do estoque e evitando
estoques excessivos ou insuficientes.
Análise Preditiva de Dados
• Previsão de Churn de Clientes:

– Identificar clientes propensos a deixar de utilizar um serviço ou cancelar


uma assinatura, permitindo ações proativas para reter esses clientes.

• Previsão de Ocorrência de Fraudes:

– Identificar padrões suspeitos em transações financeiras para prever


possíveis casos de fraude e tomar medidas de prevenção.
A análise preditiva de dados busca desvendar o futuro através da
identificação de padrões e tendências nos dados históricos, permitindo
previsões fundamentadas que orientam decisões estratégicas e
otimizam o desempenho em diversas áreas de negócios.
Conclusão
 Análise Preditiva de Dados.
Próxima aula
 Análise Prescritiva de Dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.6. Análise Prescritiva de Dados
Prof. Leandro Lessa
Nesta aula
 Análise Prescritiva de Dados.
Análise Prescritiva de Dados
• Focada em utilizar informações históricas e análises preditivas para orientar
decisões futuras.

• Tem como objetivo recomendar ações específicas a serem tomadas para


alcançar resultados desejados.

• Vai além da previsão de cenários futuros, fornecendo recomendações e soluções


para orientar decisões estratégicas de forma mais inteligente e eficiente.
Análise Prescritiva de Dados
• É a consolidação de todas as análises realizadas anteriormente.

• Baseado nas predições feitas na etapa anterior, um sistema será capaz de fazer
recomendações inteligentes para o analista de dados.

• Para tal, é preciso, antes de mais nada, conhecer do modelo de negócios ao qual
os dados pertencem.

• A Análise Prescritiva permite que organizações e profissionais da área tomem


decisões informadas e estratégicas, considerando as incertezas e complexidades
do ambiente de negócios.
Possibilidades de Análise
• Otimização de Recursos:

– Determinar a melhor alocação de recursos, como tempo, dinheiro e


pessoal, para maximizar resultados.

• Recomendações Personalizadas:

– Oferecer recomendações personalizadas com base no histórico de


dados e preferências individuais.
Possibilidades de Análise
• Simulações de Cenários:

– Realizar simulações para antecipar resultados de diferentes decisões e


escolher a abordagem mais adequada.

• Prevenção de Problemas Futuros:

– Identificar possíveis problemas ou riscos futuros e desenvolver


estratégias de mitigação.

• Tomada de Decisões Estratégicas:

– Embasar decisões estratégicas com base em projeções e análises


preditivas.
A análise prescritiva de dados é uma abordagem estratégica e
orientada por insights, que utiliza dados históricos e algoritmos
avançados para recomendar ações específicas e embasar decisões
inteligentes, visando otimizar resultados e maximizar o potencial de
sucesso em diversas áreas de negócios.
Conclusão
 Análise Prescritiva de Dados.
Próxima aula
 Exemplo prático de análise de dados.
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.7. Análise Descritiva na Prática
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.8. Análise Exploratória na Prática
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 5. Fundamentos da Análise de Dados
Aula 5.9. Visualização de dados na Prática
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 6. Fundamentos de Banco de Dados
SQL e NoSQL
Aula 6.1. Introdução aos Bancos de dados SQL e NoSQL
Prof. Leandro Lessa
Nesta aula
 Introdução aos Bancos de dados SQL e NoSQL.
Armazenamento de Dados
• No mundo cada vez mais conectado e digitalizado em que vivemos, a gestão e
o armazenamento eficiente de dados são fundamentais para empresas e
organizações de todos os tamanhos.

• Nesse contexto, os bancos de dados desempenham um papel crucial na


organização, recuperação e manipulação de informações relevantes para o
funcionamento de diversas aplicações e sistemas.
Armazenamento de Dados
• Os bancos de dados podem ser classificados em duas categorias principais:

– SQL (Structured Query Language).

– NoSQL (Not Only SQL).

• Ambos têm características distintas e são projetados para atender a diferentes


necessidades e cenários de uso.
Banco de Dados SQL
• Conhecidos como bancos de dados relacionais, têm sido amplamente
utilizados desde a década de 1970.

• São baseados em um modelo de dados relacional, onde as informações são


organizadas em tabelas com linhas e colunas.

• O SQL é a linguagem padrão utilizada para realizar consultas e operações


nesses bancos de dados.
Banco de Dados SQL
• Exemplos populares de sistemas de gerenciamento de bancos de dados SQL
incluem:

– MySQL.

– PostgreSQL.

– Oracle.

– Microsoft SQL Server.


Banco de Dados SQL
• Esses bancos de dados oferecem uma estrutura rígida, garantindo a
integridade dos dados por meio de:

– Chaves primárias.

– Chaves estrangeiras.

– Restrições de integridade referencial.

• Eles são ideais para cenários em que a consistência e a precisão dos dados são
primordiais, como sistemas financeiros, sistemas de gerenciamento de
recursos humanos e sistemas de controle de estoque.
Banco de Dados NoSQL
• Por outro lado, com o advento da web 2.0 e das aplicações de larga escala,
surgiu a necessidade de lidar com enormes quantidades de dados e com uma
alta demanda por escalabilidade e flexibilidade.

• Nesse contexto, os bancos de dados NoSQL se destacaram como uma


alternativa viável.
Banco de Dados NoSQL
• Os bancos de dados NoSQL adotam modelos de dados diferentes dos bancos
SQL tradicionais.

• Eles podem ser baseados em:

– Documentos (document-oriented).

– Famílias de colunas (column-family).

– Pares de chave-valor (key-value).

– Grafos (graph).
Orientados a Documentos
• MongoDB:

– Um dos bancos de dados NoSQL mais populares, que armazena dados


em documentos JSON-like, permitindo esquemas flexíveis e consultas
poderosas.

• Couchbase:

– Possui capacidade de armazenamento em memória, que oferece alta


velocidade e escalabilidade.
Armazenamento de Chave-Valor
• Redis:

– Baseado em memória que armazena dados como pares chave-valor e


suporta estruturas de dados complexas, tornando-o ideal para
armazenamento em cache e gerenciamento de sessões.

• Amazon DynamoDB:

– Um serviço de banco de dados NoSQL da Amazon Web Services (AWS)


que oferece armazenamento de chave-valor e desempenho rápido,
sendo amplamente utilizado em aplicações web e móveis.
Baseado em Colunas
• Apache Cassandra:

– Um banco de dados NoSQL distribuído, altamente escalável e tolerante a


falhas, projetado para gerenciar grandes volumes de dados em vários
servidores.

• HBase:

– Um banco de dados NoSQL baseado no Apache Hadoop, projetado para


armazenar e gerenciar grandes quantidades de dados em formato de
família de colunas.
Baseado em Grafos
• Neo4j:

– Um banco de dados NoSQL de grafos popular, que permite armazenar e


consultar dados altamente conectados, sendo adequado para aplicações
de redes sociais e sistemas de recomendação.

• Amazon Neptune:

– Um serviço de banco de dados NoSQL de grafos oferecido pela AWS, que


permite a criação e consulta de grafos altamente conectados.
Banco de Dados NoSQL
• Essa diversidade de modelos permite que os bancos de dados NoSQL sejam
mais adaptáveis a diferentes tipos de dados e a casos de uso específicos.

• Esses bancos de dados são projetados para oferecer alta escalabilidade,


flexibilidade e velocidade de acesso aos dados.

• São amplamente utilizados em aplicações web, mídias sociais, sistemas de


análise de big data e Internet das Coisas (IoT).
Conclusão
 Introdução aos Bancos de Dados SQL e NoSQL.
Próxima aula
 Diferenças entre os Banco de Dados SQL e NoSQL.
Fundamentos em
Ciências de Dados
Capítulo 6. Fundamentos de Banco de Dados
SQL e NoSQL
Aula 6.2. Diferenças entre os Banco de Dados SQL e NoSQL
Prof. Leandro Lessa
Nesta aula
 Diferenças entre os Banco de Dados SQL e NoSQL.
Diferenças entre SQL e NoSQL
• As diferenças entre SQL e NoSQL são fundamentais e estão relacionadas
principalmente com a forma como esses dois tipos de bancos de dados tratam:

– A estrutura dos dados.

– Linguagem de consulta.

– A escalabilidade.

– Modelo de consistência.
Estrutura de Dados
• SQL:

– São baseados no modelo relacional, onde os dados são organizados em


tabelas com linhas e colunas.

– Cada tabela tem um esquema fixo que define os nomes e tipos de colunas,
garantindo a consistência dos dados.

– A relação entre as tabelas é estabelecida usando chaves primárias e chaves


estrangeiras.
Estrutura de Dados
• NoSQL:

– Adotam diferentes modelos de dados, como documentos, pares de chave-


valor, colunas ou grafos.

– Eles não têm um esquema rígido, permitindo a inserção de dados com


estruturas diferentes em uma mesma coleção (ou tabela, dependendo do
modelo).
Linguagem de Consulta
• SQL:

– Utilizam a linguagem SQL (Structured Query Language) para realizar


operações como inserção, consulta, atualização e exclusão de dados.

– O SQL é uma linguagem declarativa, onde os usuários especificam o que


desejam obter e o banco de dados determina como buscar essas
informações.
Linguagem de Consulta
• NoSQL:

– Cada tipo de banco de dados NoSQL possui sua própria API ou linguagem
de consulta específica.

– Algumas podem usar consultas similares ao SQL, mas outras podem ser
baseadas em métodos ou operações específicas do modelo de dados
utilizado.
Escalabilidade
• É uma característica fundamental que determina a capacidade de um sistema de
gerenciamento de banco de dados (DBMS) em lidar com o aumento da demanda
de dados e tráfego sem comprometer o desempenho ou a disponibilidade.

• Tanto os bancos de dados SQL quanto os NoSQL têm abordagens diferentes para
a escalabilidade.
Escalabilidade
• SQL:

– Os bancos de dados SQL tradicionais são mais difíceis de escalar


horizontalmente (adicionar mais servidores ao cluster) devido à
necessidade de manter a integridade referencial e a consistência dos dados
em todas as réplicas.

– A escala vertical (aumento da capacidade do servidor) é mais comum nesse


caso.
Escalabilidade
• SQL:

– Os bancos de dados SQL tradicionais foram projetados principalmente


para escalabilidade vertical, também conhecida como “escala para
cima”.

– Nesse modelo, a melhoria do desempenho é alcançada por meio do


aumento da capacidade de recursos em um único servidor, com:

o Adicionar mais CPU.

o Memória.

o Armazenamento.
Escalabilidade
• SQL:

– Embora os bancos de dados SQL possam ser replicados para suportar


leitura e disponibilidade de leitura em vários servidores, a
escalabilidade horizontal (adicionar mais servidores ao cluster) é mais
complexa.

– Isso ocorre porque o modelo relacional exige a manutenção de


integridade referencial e consistência dos dados em todas as réplicas,
o que pode ser desafiador em um ambiente distribuído.
Escalabilidade
• SQL:

– Embora a escalabilidade vertical seja eficaz em algumas situações, ela


tem limites físicos e pode ser cara em termos de infraestrutura, o que
pode torná-la menos adequada para lidar com grandes volumes de
dados e tráfego crescente.
Escalabilidade
• NoSQL:

– São projetados desde o início com a escalabilidade horizontal em mente,


também conhecida como “escala para fora”.

– Isso significa que eles podem facilmente distribuir dados em vários nós
em um cluster, permitindo que a carga de trabalho seja dividida entre os
servidores.

– Conforme a demanda aumenta, mais servidores podem ser adicionados


ao cluster para acomodar o crescimento.
Escalabilidade
• NoSQL:

– Essa abordagem torna os bancos de dados NoSQL altamente


escaláveis e capazes de lidar com grandes volumes de dados e
tráfego.

– Isso os torna uma escolha popular para aplicativos modernos com


necessidades de dimensionamento dinâmico.
Escalabilidade
• NoSQL:

– Os bancos de dados NoSQL podem ser especialmente úteis em cenários


como Big Data, aplicativos da web que requerem alta disponibilidade e
cargas de trabalho de alto rendimento:

o Como redes sociais.

o Comércio eletrônico.

o Jogos online.
Consistência
• A consistência dos dados é um conceito crítico em bancos de dados e refere-
se à garantia de que os dados em um sistema estejam sempre em um estado
válido e coerente.

• Tanto os bancos de dados SQL quanto os NoSQL abordam a consistência de


maneiras diferentes, cada um com suas próprias características.
Consistência
• SQL:

– Os bancos de dados SQL seguem o modelo ACID, que enfatiza a


consistência estrita dos dados:

o Atomicidade, Consistência, Isolamento e Durabilidade.

– Isso significa que, em uma transação, todas as operações de alteração


são tratadas como uma unidade indivisível.

– Se uma operação de uma transação falhar, todas as operações


relacionadas a essa transação são desfeitas (rollback), e o banco de
dados volta a um estado consistente antes da transação.
Consistência
• SQL:

– Garante que as transações sejam processadas com confiabilidade e que


o banco de dados permaneça em um estado consistente em todas as
circunstâncias.

– Essa consistência estrita pode resultar em um aumento na latência e na


sobrecarga de processamento, especialmente em sistemas distribuídos e
de alta concorrência.
Consistência
• NoSQL:

– Ao contrário do modelo ACID dos bancos de dados SQL, que prioriza a


consistência estrita, o modelo BASE é projetado para fornecer:

o Maior disponibilidade.

o Tolerância a falhas em sistemas distribuídos.

– Mesmo que isso signifique aceitar algum grau de inconsistência


temporária nos dados.
BASE
• Basicamente Disponível (Basically Available):

– O sistema sempre se esforça para estar disponível, mesmo em face de


falhas ou partições na rede.

– Isso significa que, mesmo que alguns nós do cluster não estejam
disponíveis, o sistema continuará a responder a solicitações da melhor
forma possível, fornecendo acesso aos dados em um estado consistente
eventual.
BASE
• Suave (Soft state):

– O estado dos dados pode mudar ao longo do tempo à medida que as


atualizações são propagadas para diferentes nós do cluster.

– Diferentemente do modelo ACID, que garante que os dados


permaneçam consistentes em todos os nós a qualquer momento,

– O modelo BASE permite que os dados sejam momentaneamente


inconsistentes entre os nós, com a expectativa de que eles se tornem
consistentes após algum tempo.
BASE
• Eventualmente Consistente (Eventually Consistent):

– O sistema eventualmente atingirá um estado consistente em todos os


nós do cluster, embora possa haver um período em que os dados
estejam temporariamente inconsistentes entre os nós.

– Com o tempo, as atualizações são propagadas e os nós convergem para


um estado consistente.
BASE
• Vale ressaltar que o termo “eventualmente” na consistência eventual não se
refere a um período de tempo específico.

• O tempo necessário para que os dados se tornem consistentes em todos os nós


pode variar dependendo da latência da rede, da carga de trabalho do sistema e
do número de nós no cluster.

• Para a maioria das aplicações NoSQL, a janela de tempo para a consistência


eventual é tipicamente muito curta, e os dados geralmente se tornam
consistentes em questão de segundos ou milissegundos.
Conclusão
 Diferenças entre os Banco de Dados SQL e NoSQL.
Próxima aula
 Vantagens e Desvantagens de Bancos de Dados SQL e NoSQL
Fundamentos em
Ciências de Dados
Capítulo 6. Fundamentos de Banco de Dados
SQL e NoSQL
Aula 6.3. Vantagens e Desvantagens de Bancos de Dados
SQL e NoSQL
Prof. Leandro Lessa
Nesta aula
 Vantagens e Desvantagens de Bancos de Dados SQL e NoSQL.
Vantagens - SQL
• Consistência Estrita:

– Os bancos de dados SQL seguem o modelo ACID, garantindo consistência


estrita dos dados em todas as operações, o que é essencial em
aplicações que exigem alta integridade dos dados.

• Relações e Joins:

– Bancos de dados SQL são ideais para aplicativos que precisam realizar
operações complexas de junção e consulta em várias tabelas, permitindo
análises avançadas e relatórios detalhados.
Vantagens - SQL
• Maturidade e Suporte:

– SQL é uma linguagem de consulta padronizada e amplamente adotada,


com muitas ferramentas e recursos disponíveis, tornando os bancos de
dados SQL tecnologias maduras com ampla documentação e suporte da
comunidade.
Desvantagens – SQL
• Escalabilidade Vertical Limitada:

– Bancos de dados SQL são mais desafiadores para escalar


horizontalmente, o que pode se tornar caro e difícil de gerenciar em
cenários com grande crescimento de dados e tráfego.

• Rigidez do Esquema:

– A necessidade de definir um esquema fixo pode ser restritiva em


ambientes em que a estrutura dos dados está sujeita a mudanças
frequentes.
Desvantagens – SQL
• Complexidade para Dados Não Estruturados:

– Bancos de dados SQL não são ideais para armazenar dados não
estruturados, exigindo mais esforço para adaptar-se a formatos
flexíveis, como JSON.

• Tempo de Desenvolvimento:

– A necessidade de projetar um esquema antes de armazenar os dados


pode adicionar tempo ao desenvolvimento do aplicativo.
Vantagens – NoSQL
• Escalabilidade Horizontal:

– Os bancos de dados NoSQL são altamente escaláveis horizontalmente,


permitindo lidar com grandes volumes de dados e tráfego distribuindo a
carga entre vários nós de um cluster.

• Flexibilidade no Esquema:

– NoSQL permite armazenar dados com estruturas diferentes em uma


mesma coleção, tornando-os adequados para aplicativos com requisitos
de dados variáveis e em evolução.
Vantagens – NoSQL
• Alta Performance:

– Em certos cenários de alta concorrência, o modelo BASE adotado por


bancos de dados NoSQL pode resultar em melhor desempenho e
menor latência.

• Velocidade de Desenvolvimento:

– A ausência de um esquema rígido facilita o desenvolvimento, pois não


é necessário definir uma estrutura fixa antes de armazenar os dados.
Vantagens – NoSQL
• Suporte para Dados Não Estruturados:

– Bancos de dados NoSQL são ideais para armazenar dados não


estruturados e semiestruturados, como JSON ou documentos XML.
Desvantagens – NoSQL
• Consistência Eventual:

– Alguns bancos de dados NoSQL adotam a consistência eventual, o que


pode levar a janelas de tempo em que os dados estão
temporariamente inconsistentes entre os nós.

• Menor Suporte e Documentação:

– Comparado aos bancos de dados SQL, a oferta de ferramentas e


recursos para NoSQL pode ser menos extensa devido à sua natureza
mais recente e diversificada.
Desvantagens – NoSQL
• Complexidade da Modelagem:

– A flexibilidade do esquema pode levar a complexidade na modelagem


de dados, exigindo mais planejamento para atender às necessidades
do aplicativo.
Conclusão
 Vantagens e Desvantagens de Bancos de Dados SQL e NoSQL.
Próxima aula
 Introdução a Aprendizagem de Máquina.
Fundamentos em
Ciências de Dados
Capítulo 7. Fundamentos de Aprendizagem
de Máquina
Aula 7.1. Introdução a Aprendizagem de Máquina
Prof. Leandro Lessa
Nesta aula
 Introdução a Aprendizagem de Máquina.
Contexto
• A Inteligência Artificial é uma área da ciência da computação que se concentra
em desenvolver sistemas capazes de realizar tarefas que, normalmente, exigem
inteligência humana, como reconhecimento de fala, visão computacional,
tomada de decisões e aprendizado.
Algoritmos
• É uma sequência de instruções bem definidas e finitas, que descrevem
passo a passo um processo ou procedimento a ser executado.

• Eles são a base da programação e são usados em muitas áreas da ciência da


computação, incluindo a IA.

• Os algoritmos são como receitas ou planos que guiam uma máquina, um


computador ou até mesmo um ser humano na execução de uma tarefa.
Estrutura genérica
Algoritmos
• Os algoritmos são usados para resolver problemas específicos, como
previsão de preços, classificação de dados e agrupamento de clusters.
Aprendizagem de Máquina
• A Aprendizagem de Máquina, ou Machine Learning em inglês, é uma área da
inteligência artificial (IA) que se dedica a desenvolver algoritmos e técnicas
que permitem que computadores aprendam e melhorem seu desempenho
em uma tarefa específica por meio da análise de dados.

• Ao invés de serem explicitamente programados para realizar uma tarefa, os


sistemas de Aprendizado de Máquina utilizam dados para aprender padrões
e tomar decisões, tornando-se mais precisos e eficientes com o tempo.
Processo de Aprendizado
• A essência do Aprendizado de Máquina está na capacidade de um algoritmo
analisar dados, identificar padrões e aprender com esses padrões para
tomar decisões ou fazer previsões.

• Para isso, os modelos de aprendizado são treinados em grandes conjuntos


de dados, permitindo que eles compreendam as características intrínsecas
dos dados e generalizem esse conhecimento para novas situações.
Aplicação
• A aplicação do Aprendizado de Máquina é vasta e abrange uma infinidade
de setores, como:

– Saúde, Finanças, manufatura, marketing e muito mais.

• Os insights derivados do Aprendizado de Máquina estão transformando


indústrias e capacitando empresas a tomar decisões informadas, otimizar
processos e oferecer serviços personalizados aos usuários.
Tipos de Aprendizagem
• Os algoritmos de aprendizagem de máquina podem ser divididos em três
tipos distintos de aprendizagem:

– Aprendizagem Supervisionada.

– Aprendizagem Não Supervisionada.

– Aprendizagem por Reforço.


Conclusão
 Introdução a Aprendizagem de Máquina
Próxima aula
 Aprendizagem Supervisionada.
Fundamentos em
Ciências de Dados
Capítulo 7. Fundamentos de Aprendizagem
de Máquina
Aula 7.2. Aprendizagem Supervisionada
Prof. Leandro Lessa
Nesta aula
 Aprendizagem Supervisionada.
Aprendizagem Supervisionada
• É um método em que um modelo de Machine Learning é treinado usando
um conjunto de dados rotulados para fazer previsões ou classificações.

• O objetivo é permitir que o modelo generalize e faça previsões precisas em


dados não vistos anteriormente.
Aprendizagem Supervisionada
• Uma vez que o modelo é treinado, ele pode ser usado para fazer previsões
ou classificações em novos dados de entrada, onde a saída desejada é
desconhecida.

• O modelo tenta generalizar o padrão aprendido durante o treinamento para


produzir resultados precisos.
Aprendizagem Supervisionada
• A entrada representa os dados que alimentam o modelo, como
características ou atributos que descrevem o problema em questão.

– Por exemplo, se estamos treinando um modelo para classificar


imagens de gatos e cães, a entrada pode ser uma imagem que
contém pixels como características.
Como é feito o treinamento?
Treinamento
• O treinamento em aprendizagem supervisionada envolve alimentar um
algoritmo com um conjunto de exemplos de treinamento rotulados e
permitir que ele ajuste seus parâmetros internos para aprender a relação
entre as entradas e as saídas desejadas.
Etapas do Treinamento
• 1) Preparação dos dados: os dados de treinamento são preparados e
organizados em pares de entrada e saída desejada. Geralmente, os dados
são divididos em conjuntos de treinamento e validação.

• 2) Inicialização do modelo: o modelo é inicializado com parâmetros


aleatórios ou predefinidos.

• 3) Alimentação dos dados: cada exemplo de treinamento é fornecido ao


modelo, uma entrada por vez. O modelo faz uma previsão com base nos
parâmetros atuais e compara essa previsão com a saída desejada.
Etapas do Treinamento
• 4) Cálculo do erro: o erro ou a diferença entre a previsão do modelo e a
saída desejada é calculado.

• 5) Atualização dos parâmetros: com base no erro calculado, o algoritmo de


treinamento ajusta os parâmetros internos do modelo, utilizando técnicas
como o algoritmo de retropropagação (backpropagation), para reduzir o
erro na próxima iteração.
Etapas do Treinamento
• 6) Iteração: os passos 3 a 5 são repetidos para todos os exemplos de
treinamento, várias vezes, em iterações chamadas de épocas.

– O objetivo é reduzir gradualmente o erro do modelo e melhorar sua


capacidade de generalização.

• 7) Avaliação do desempenho: o modelo treinado é avaliado usando o


conjunto de validação para verificar sua capacidade de fazer previsões
precisas em dados não vistos durante o treinamento.

• 8) Otimização dos hiperparâmetros: ajuste dos hiperparâmetros para


melhorar o desempenho do modelo.
Aplicações
Aplicações
• Classificação de categorias: pode ser usado para classificar exemplos em
categorias predefinidas.

– Por exemplo, classificar e-mails em spam ou não spam.

– Identificar se uma transação financeira é fraudulenta ou não.

– Classificar imagens em diferentes categorias, como reconhecimento


facial ou identificação de objetos.
Aplicações
• Regressão: é adequado para problemas de regressão, onde o objetivo é
prever um valor contínuo.

– Por exemplo, prever o preço de uma casa com base em suas


características.

– Prever a demanda futura de um produto com base em dados


históricos ou prever a idade de uma pessoa com base em dados
demográficos.
Aplicações
• Detecção de anomalias: pode ser usado para detectar padrões anômalos
ou fora do comum em um conjunto de dados.

– Por exemplo, detectar atividades suspeitas em sistemas de


segurança.

– Identificar falhas em equipamentos industriais com base em dados de


sensores ou detectar fraudes em transações financeiras.
Aplicações
• Recomendação: é usado em sistemas de recomendação, onde o objetivo é
prever preferências ou interesses do usuário com base em dados históricos.

– Por exemplo, recomendar filmes ou produtos com base nas


preferências anteriores do usuário.

• Processamento de linguagem natural: é amplamente aplicado em tarefas


de processamento de linguagem natural, como classificação de sentimentos
em textos, reconhecimento de entidades nomeadas, tradução automática
ou geração de resumos de texto.
Conclusão
 Aprendizagem Supervisionada.

 Aplicações em problemas reais.


Próxima aula
 Aprendizagem Não Supervisionada.
Fundamentos em
Ciências de Dados
Capítulo 7. Fundamentos de Aprendizagem
de Máquina
Aula 7.3. Aprendizagem Não Supervisionada
Prof. Leandro Lessa
Nesta aula
 Aprendizagem Não Supervisionada.
Aprendizagem Não Supervisionada
• É uma abordagem de Machine Learning em que um algoritmo é treinado
para encontrar padrões e estruturas em um conjunto de dados NÃO
rotulados.

• Diferentemente da aprendizagem supervisionada, não há informações


sobre as saídas desejadas ou rótulos nos dados.
Aprendizagem Não Supervisionada
• Nesse tipo de aprendizagem, o algoritmo busca entender a estrutura
interna dos dados e agrupar instâncias semelhantes ou encontrar
representações compactas dos dados.
Aprendizagem Não Supervisionada
• Utilizar técnicas para entender os dados e extrair informações relevantes.

– Essas técnicas geralmente envolvem análise estatística,


processamento de dados e algoritmos de aprendizagem específicos.

• Utilizam métricas de similaridade ou dissimilaridade entre os dados. Com


base nessas métricas, o algoritmo pode identificar grupos ou padrões
relevantes nos dados.
Como é feito o treinamento?
Treinamento
• Embora o aprendizado não supervisionado não dependa de rótulos ou
saídas desejadas, ele ainda requer um processo de treinamento.

• No entanto, esse treinamento é diferente do treinamento supervisionado.


O algoritmo é alimentado com os dados não rotulados e ajusta seus
parâmetros internos para encontrar a estrutura ou os padrões nos dados.
Aplicações
Aplicações
• Agrupamento (Clustering): é uma das principaístécnicas da aprendizagem
não supervisionada. O algoritmo de agrupamento analisa os dados e
identifica grupos ou clusters de instâncias que compartilham características
similares.

– Isso pode ser feito usando algoritmos como o k-means, agrupamento


hierárquico ou mistura de Gaussianas.
Aplicações
• Redução de dimensionalidade: em muitos problemas, os dados podem ter
muitas características ou dimensões, o que pode dificultar a análise e a
visualização.

• A aprendizagem não supervisionada pode ser usada para reduzir a


dimensionalidade dos dados, encontrando representações mais compactas
que preservam as informações mais relevantes.

– Por exemplo, análise de componentes principaís(PCA).


Aplicações
• Anomalia ou detecção de outliers: pode ser aplicada para detectar
instâncias de dados que são incomuns, anômalas ou outliers.

– O algoritmo busca por padrões normais nos dados e identifica


instâncias que não se encaixam nesses padrões.

– Isso é útil em várias áreas, como detecção de fraudes, detecção de


falhas em sistemas ou identificação de comportamentos anômalos
em redes.
Aplicações
• Associação de regras: outra técnica comum na aprendizagem não
supervisionada é a descoberta de associações entre itens em um conjunto
de dados.

• Os algoritmos procuram padrões frequentes ou regras de associação que


indicam relações entre diferentes itens.

• Isso é útil em problemas de recomendação, onde podemos identificar itens


frequentemente adquiridos juntos ou descobrir padrões de comportamento
de compra.
Conclusão
 Aprendizagem Supervisionada.

 Aplicações em problemas reais.


Próxima aula
 Aprendizagem por Reforço.
Fundamentos em
Ciências de Dados
Capítulo 7. Fundamentos de Aprendizagem
de Máquina
Aula 7.4. Aprendizagem por Reforço
Prof. Leandro Lessa
Nesta aula
 Aprendizagem por Reforço.
Aprendizagem por Reforço
• É uma abordagem de Machine Learning em que um agente aprende a
tomar decisões sequenciais em um ambiente para maximizar uma
recompensa acumulada ao longo do tempo.

• Nesse tipo de aprendizagem, o agente recebe feedback na forma de


recompensas ou punições, mas não recebe instruções específicas sobre
quais ações tomar.
Aprendizagem por Reforço
Processo de
aprendizagem
Processo de aprendizagem
• 1) Agente: é o sistema de aprendizado que interage com o ambiente. Ele
recebe informações sobre o estado atual do ambiente e toma ações com
base nessas informações.

• 2) Ambiente: é o contexto no qual o agente opera. Pode ser um mundo


físico, um simulador virtual ou qualquer outro sistema com o qual o agente
interage.

• 3) Ações: o agente realiza ações no ambiente com o objetivo de atingir uma


meta ou maximizar uma recompensa acumulada.
Processo de aprendizagem
• 4) Estados: representa a configuração ou a situação atual do sistema. O
agente recebe informações sobre o estado atual do ambiente e toma
decisões com base nessas informações.

• 5) Recompensa: o agente recebe recompensas do ambiente como feedback


sobre suas ações. A recompensa é um sinal de feedback que indica o quão
bem o agente está se saindo em relação ao objetivo desejado

• 6) Política: define a estratégia ou o comportamento do agente. Ela mapeia


os estados do ambiente para ações a serem tomadas pelo agente. O
objetivo é encontrar uma política ótima que maximize a recompensa
acumulada.
Aplicações
Aplicações
• Jogos: a aprendizagem por reforço tem sido amplamente aplicada em jogos,
tanto em jogos de tabuleiro clássicos como xadrez e Go, quanto em jogos
eletrônicos mais complexos.

– Os agentes podem aprender a jogar de forma autônoma,


aprimorando suas habilidades e derrotando jogadores humanos ou
outros agentes.
Aplicações
• Robótica: é útil no treinamento de robôs para realizar tarefas complexas e
adaptar seu comportamento ao ambiente.

– Os robôs podem aprender a manipular objetos, navegar em


ambientes desconhecidos, realizar tarefas de montagem e até mesmo
interagir com humanos.
Aplicações
• Controle de processos: pode ser aplicada no controle de sistemas
dinâmicos complexos, como controle de tráfego, controle de processos
industriais ou controle de energia.

– Os agentes aprendem a tomar decisões em tempo real para otimizar


o desempenho do sistema e maximizar a eficiência.
Aplicações
• Publicidade online: no campo da publicidade online, a aprendizagem por
reforço pode ser usada para otimizar o direcionamento de anúncios e o
leilão de anúncios em tempo real.

– Os agentes aprendem a escolher anúncios relevantes para os


usuários, levando em consideração a taxa de cliques e outras
métricas de desempenho.
Conclusão
 Aprendizagem por Reforço.

 Aplicações em problemas reais.


Próxima aula
 Engenharia de Features.
Fundamentos em
Ciências de Dados
Capítulo 7. Fundamentos de Aprendizagem
de Máquina
Aula 7.5. Engenharia de Features
Prof. Leandro Lessa
Nesta aula
 Engenharia de Features.
Engenharia de Features
• Engenharia de features, também conhecida como engenharia de
características ou feature engineering em inglês, é um processo fundamental
no campo da Aprendizagem de Máquina e Mineração de Dados.

• Refere-se à seleção, criação e transformação de variáveis (features) a partir


dos dados brutos para melhorar o desempenho e a eficácia dos modelos de
aprendizado de máquina.
Engenharia de Features
• As features são as variáveis ou atributos que representam as características
dos dados e são utilizadas pelos algoritmos de aprendizado de máquina para
fazer previsões ou tomar decisões.

• Uma boa escolha de features é crucial para obter um modelo preciso e


eficiente, pois elas influenciam diretamente a capacidade do algoritmo de
aprender e generalizar padrões dos dados.
Engenharia de Features
• A engenharia de features é um dos aspectos mais importantes e desafiadores
no processo de desenvolvimento de modelos de Aprendizado de Máquina.

• Ela desempenha um papel fundamental no sucesso do modelo, uma vez que


as features corretas e bem trabalhadas podem melhorar significativamente a
precisão e eficiência das previsões.
Etapas da Eng. de Features
• Seleção de Features:

– Nesta etapa são escolhidas as variáveis mais relevantes e informativas


para a tarefa de aprendizado de máquina.

– A seleção de features evita a inclusão de atributos irrelevantes ou


redundantes, que podem prejudicar o desempenho do modelo e
aumentar a complexidade.
Etapas da Eng. de Features
• Criação de Features:

– Criação de Features: em muitos casos, as features originais não são


suficientes para expressar completamente os padrões presentes nos
dados.

– Nesses casos, é necessário criar novas features a partir das já existentes


ou utilizando conhecimento do domínio do problema.

– A engenharia de features pode envolver a extração de informações


específicas dos dados, como data e hora, comprimento de texto, médias
de valores, entre outros.
Etapas da Eng. de Features
• Normalização e Escalonamento:

– Para muitos algoritmos de aprendizado de máquina, é importante


normalizar ou escalar as features para colocá-las em uma mesma escala
numérica.

– Isso é especialmente relevante para algoritmos que usam medidas de


distância ou magnitude, como regressão linear ou k-means clustering.
Etapas da Eng. de Features
• Tratamento de Dados Ausentes:

– Dados ausentes são comuns em muitos conjuntos de dados reais. Lidar


adequadamente com valores faltantes é essencial para evitar que eles
afetem negativamente o desempenho do modelo.

– Isso pode ser feito preenchendo os dados ausentes com valores


estatísticos, usando técnicas de imputação ou simplesmente removendo
as amostras com dados ausentes, dependendo do contexto.
Etapas da Eng. de Features
• One-Hot Encoding:

– Quando se trabalha com dados categóricos, é comum usar a técnica de


one-hot encoding para converter essas categorias em representações
numéricas, permitindo que os algoritmos de aprendizado de máquina
processem essas informações adequadamente

– Exemplos:

o Solteiro -> 0

o Casado -> 1

o Divorciado -> 2
Etapas da Eng. de Features
• Visualização de Features:

– Visualizar as features pode ajudar a entender melhor os dados e


identificar padrões importantes.

– Gráficos e técnicas de visualização podem ser usados para analisar a


relação entre features e o rótulo (variável de saída), bem como para
identificar potenciais outliers (valores atípicos).
Etapas da Eng. de Features
• Iteração e Experimentação:

– A engenharia de features é um processo iterativo e contínuo.

– À medida que se experimenta com diferentes features e técnicas, é


importante avaliar o desempenho do modelo e, se necessário, ajustar
ou adicionar novas features para obter um melhor resultado.
Conclusão
 Engenharia de Features.
Próxima aula
 Introdução ao algoritmo Naive Bayes.
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.1. Introdução ao algoritmo Naive Bayes
Prof. Leandro Lessa
Nesta aula
 Algoritmo Naive Bayes.
Naive Bayes
Naive Bayes
• Pertencente a classe dos algoritmos de aprendizado supervisionado.

• É um algoritmo de classificação que se baseia no teorema de Bayes, que


estabelece uma relação entre a probabilidade condicional de um evento e
suas evidências.

• O método é chamado de “naive” (ingênuo) porque assume a independência


entre as variáveis explicativas do modelo, mesmo que na prática elas
possam estar correlacionadas.
Naive Bayes
• Por exemplo: se determinada fruta é rotulada como “laranja”, e seja
descrita como “Verde” e “Redonda”, o algoritmo não vai levar em
consideração a correlação entre esses fatores.

– A fruta poderia ser: limão, maça, abacate, kiwi, melancia, goiaba etc.

• Trata cada feature de forma independente.


Naive Bayes
• É altamente utilizado no meio acadêmico e no mercado de trabalho para
solucionar problemas de classificação em diversas áreas.

• É um algoritmo simples, rápido e possui um bom desempenho devido a sua


simplicidade, eficiência e facilidade de implementação.

• Precisa de um número pequeno de dados de teste para concluir


classificações com uma boa precisão.

• Utiliza a técnica probabilística, que pode ser aplicada tanto para problemas
de classificação binária quanto para classificação multiclasse.
Teorema de Bayes

• P(A|B) é a probabilidade condicional de A, dado que B ocorreu.

• P(B|A) é a probabilidade condicional de B, dado que A ocorreu.

• P(A) é a probabilidade marginal de A, ou seja, a probabilidade de A ocorrer


independentemente de B.

• P(B) é a probabilidade marginal de B, ou seja, a probabilidade de B ocorrer


independentemente de A.
Vantagens
Vantagens
• É fácil de implementar e pode ser eficiente para conjuntos de dados com
muitas variáveis explicativas.

• É um algoritmo rápido e de baixo custo computacional:

– Não requer cálculos complexos para fazer a tabela de probabilidade.

• Possui bom desempenho em problemas de classificação de texto, como


categorização de e-mails, detecção de spam e análise de sentimentos.
Vantagens
• Pode lidar com variáveis categóricas e numéricas.

• É robusto a outliers e dados faltantes.

• Simples a sua interpretação.

– É possível identificar os valores de aprendizagem das estimativas das


probabilidades.
Desvantagens
Desvantagens
• O algoritmo assume a independência entre as variáveis explicativas, o que
pode não ser verdadeiro na prática.

• Não funciona bem em problemas em que as variáveis explicativas possuem


forte correlação.

– Renda da pessoa e dívida.

– Dívida e histórico de crédito.

– Essas features podem estar relacionadas.

• O desempenho pode ser afetado por variáveis irrelevantes ou que não


contribuem para a classificação.
Aplicações
Aplicações
• Mercado financeiro:

– Risco de crédito.

– Predição preços ativos.

• Análise de sentimentos:

– Triste, alegre, feliz, neutro, positivo e negativo.

• Diagnóstico médico.
Aplicações
• Processamento de linguagem natural.

• Detecção de spam.

• Categorização de documentos.

– Notícia de esporte, política, opinião.


Entendimento
do algoritmo
Passos do Naive Bayes
• Análise da base histórica.

• Criação da tabela de probabilidade.

• Geração da estimativa das probabilidades.


Análise histórica
Tipo da Histórico de
Renda Fiador Risco de crédito
dívida Crédito
Acima de 40.000 Baixa Possui Ruim Alto

Entre 13.500 a 40.000 Alta Possui Ruim Moderado

Menor de 13.000 Baixa Não possui Ruim Moderado


Menor de 13.000 Alta Não possui Ruim Baixo
Acima de 40.000 Baixa Possui Não possui Moderado
Entre 13.500 a 40.000 Baixa Não possui Bom Moderado
Acima de 40.000 Baixa Não possui Ruim Alto
Menor de 13.000 Alta Não possui Não possui Moderado
Menor de 13.000 Baixa Não possui Não possui Baixo
Acima de 40.000 Baixa Possui Bom Alto
Tabela de probabilidades
Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10
Tabela de probabilidades
Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10

Quantidade de registros de cada classe


Tabela de probabilidades
Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10

Quantidade de registros em cada feature


Tabela de probabilidades
Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10

Quantidade de registros de cada feature por classe


Criação da tabela
de probabilidade
1º Contar total de registros para cada classe

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito

Baixo

Moderado

Alto
Análise histórica
Tipo da Histórico de
Renda Fiador Risco de crédito
dívida Crédito
Acima de 40.000 Baixa Possui Ruim Alto

Entre 13.500 a 40.000 Alta Possui Ruim Moderado

Menor de 13.000 Baixa Não possui Ruim Moderado


Menor de 13.000 Alta Não possui Ruim Baixo
Acima de 40.000 Baixa Possui Não possui Moderado
Entre 13.500 a 40.000 Baixa Não possui Bom Moderado
Acima de 40.000 Baixa Não possui Ruim Alto
Menor de 13.000 Alta Não possui Não possui Moderado
Menor de 13.000 Baixa Não possui Não possui Baixo
Acima de 40.000 Baixa Possui Bom Alto
1º Contar total de registros para cada classe

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito

Baixo
2/10

Moderado
5/10

Alto
3/10
2º Contar total de registros para cada feature

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito

Baixo
2/10

Moderado
5/10

Alto
3/10
Análise histórica
Tipo da Histórico de
Renda Fiador Risco de crédito
dívida Crédito
Acima de 40.000 Baixa Possui Ruim Alto

Entre 13.500 a 40.000 Alta Possui Ruim Moderado

Menor de 13.000 Baixa Não possui Ruim Moderado


Menor de 13.000 Alta Não possui Ruim Baixo
Acima de 40.000 Baixa Possui Não possui Moderado
Entre 13.500 a 40.000 Baixa Não possui Bom Moderado
Acima de 40.000 Baixa Não possui Ruim Alto
Menor de 13.000 Alta Não possui Não possui Moderado
Menor de 13.000 Baixa Não possui Não possui Baixo
Acima de 40.000 Baixa Possui Bom Alto
2º Contar total de registros para cada feature

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/10

Moderado
5/10

Alto
3/10
3º Contar total de registros de feature por classe

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/10

Moderado
5/10

Alto
3/10
Análise histórica
Tipo da Histórico de
Renda Fiador Risco de crédito
dívida Crédito
Acima de 40.000 Baixa Possui Ruim Alto

Entre 13.500 a 40.000 Alta Possui Ruim Moderado

Menor de 13.000 Baixa Não possui Ruim Moderado


Menor de 13.000 Alta Não possui Ruim Baixo
Acima de 40.000 Baixa Possui Não possui Moderado
Entre 13.500 a 40.000 Baixa Não possui Bom Moderado
Acima de 40.000 Baixa Não possui Ruim Alto
Menor de 13.000 Alta Não possui Não possui Moderado
Menor de 13.000 Baixa Não possui Não possui Baixo
Acima de 40.000 Baixa Possui Bom Alto
3º Contar total de registros de feature por classe

Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de Risco de
Baixa Alta Possui Não Possui Ruim Bom Não Possui
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10
Estimativa da probabilidade
• Analisar o cliente com as seguintes características:

– Renda acima de R$40.000.

– Tipo de dívida BAIXA.

– Possui fiador.

– Histórico de crédito RUIM.


Estimativa da probabilidade
• Passos a serem realizados:

– Selecionar apenas as colunas que são referente as features do novo


dado.

– Realizar a multiplicação de cada classe.


Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de
Baixa Alta Possui Não Possui Ruim Bom Não Possui Risco de
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10

P(baixo) = 2/10 * 0/2 * 1/2 * 0/2 * 1/2 = 0


P(Moderado) = 5/10 * 1/5 * 3/5 * 2/5 *2/5 = 0,0096
P(Alto) = 3/10 * 3/3 * 3/3 * 2/3 * 2/3 = 0,13333333
Tipo da
Renda Fiador Histórico de Crédito
dívida
Menor de Entre 13.500 Acima de
Baixa Alta Possui Não Possui Ruim Bom Não Possui Risco de
13.000 a 40.000 40.000
crédito
4 2 4 7 3 4 6 5 2 3

Baixo
2/2 0/2 0/2 1/2 1/2 0/2 2/2 1/2 0/2 1/2
2/10

Moderado
2/5 2/5 1/5 3/5 2/5 2/5 3/5 2/5 1/5 2/5
5/10

Alto
0/3 0/3 3/3 3/3 0/3 2/3 1/3 2/3 1/3 0/3
3/10

P(baixo) = 2/10 * 0/2 * 1/2 * 0/2 * 1/2 = 0


P(Moderado) = 5/10 * 1/5 * 3/5 * 2/5 *2/5 = 0,0096
P(Alto) = 3/10 * 3/3 * 3/3 * 2/3 * 2/3 = 0,13333333
Calculando percentual

P(baixo) = 2/10 * 0/2 * 1/2 * 0/2 * 1/2 = 0


P(Moderado) = 5/10 * 1/5 * 3/5 * 2/5 *2/5 = 0,0096
P(Alto) = 3/10 * 3/3 * 3/3 * 2/3 * 2/3 = 0,13333333

Somatório = 0 + 0,0096 + 0,13333333 = 0,14293333


Calculando percentual

P(baixo) = 2/10 * 0/2 * 1/2 * 0/2 * 1/2 = 0


P(Moderado) = 5/10 * 1/5 * 3/5 * 2/5 *2/5 = 0,0096
P(Alto) = 3/10 * 3/3 * 3/3 * 2/3 * 2/3 = 0,13333333

Somatório = 0 + 0,0096 + 0,13333333 = 0,14293333

– P(Baixo) = 0/0,14 * 100 = 0

– P(Moderado) = 0,0096 / 0,14 * 100 = 6,716418

– P(Alto) = 0,13 / 0,14 * 100 = 93,28358


Calculando percentual
• Cliente que possui:

– Renda acima de R$40.000.

– Tipo de dívida BAIXA.

– Possui fiador.

– Histórico de crédito RUIM.

P(Alto) = 0,13 / 0,14 * 100 = 93,28 %


Conclusão
 Conhecemos o algoritmo Naive Bayes.
Próxima aula
 Aula prática com a implementação do algoritmo Naive Bayes.
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.2. Implementação do Algoritmo Naive Bayes
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.3. Aplicando Naive Bayes a Novos Registros
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.4. Introdução ao algoritmo Árvore de Decisão
Prof. Leandro Lessa
Nesta aula
 Algoritmo árvore de decisão.
Árvore de decisão
Árvore de decisão
• Pertencente a classe dos algoritmos de aprendizado supervisionado.

• Árvore de decisão é um modelo de aprendizado de máquina que utiliza uma


estrutura de árvore para representar um conjunto de decisões e suas
possíveis consequências.

• É uma técnica popular de mineração de dados que permite analisar grandes


conjuntos de dados de forma rápida e eficiente, com o objetivo de tomar
decisões precisas e automatizadas.
Árvore de decisão
• A classe de árvore de decisão funciona criando uma árvore com nós de
decisão e folhas de resultados.

• Cada nó de decisão representa uma pergunta sobre os dados de entrada,


que pode ser respondida com sim ou não.

• As respostas a essas perguntas são usadas para determinar qual caminho


seguir pela árvore. Cada caminho leva a uma folha, que representa uma
decisão final ou resultado.
Árvore de decisão
• Para criar uma árvore de decisão, o algoritmo de aprendizado de máquina
analisa um conjunto de dados de treinamento, buscando padrões e relações
entre as variáveis.

• Com base nessa análise, o algoritmo constrói a árvore de decisão,


otimizando as decisões em cada nó para maximizar a precisão das
previsões.
Árvore de decisão
• Utilizada em problemas de Classificação e Regressão.

• Em problemas de classificação, a árvore de decisão é usada para classificar


uma observação em uma de várias categorias possíveis.

– Por exemplo: e-mail é spam ou não spam.

• Já em problemas de regressão, a árvore de decisão é usada para prever um


valor numérico contínuo:

– Por exemplo: prever o preço de uma casa com base em diversas


variáveis como tamanho, número de quartos e localização.
Árvore de decisão
• Além disso, as árvores de decisão também podem ser utilizadas em
problemas de seleção de recursos, onde o objetivo é identificar as variáveis
mais importantes para um determinado problema de aprendizado de
máquina, ajudando a reduzir a dimensionalidade dos dados e melhorando a
precisão dos modelos.
Árvore de decisão
• Utilizam a estratégia de dividir para conquistar.

• Um problema complexo é decomposto em sub-problemas mais simples e


recursivamente esta técnica é aplicada a cada sub-problema.

• As árvores de decisão estão entre os mais populares algoritmos de


inferência e tem sido aplicado em várias áreas:

– Diagnóstico médico, risco de crédito, evasão de alunos, entre outros.


Vantagens
Vantagens
• Fácil interpretação: são fáceis de entender e interpretar, pois representam o
processo de decisão em um formato visual e intuitivo. É possível interpretar
cada ramificação da árvore e entender como as decisões são tomadas.

• Tratamento de dados faltantes: podem lidar com dados faltantes, não sendo
necessário o preenchimento de valores ausentes antes do treinamento do
modelo. O algoritmo de árvore de decisão pode simplesmente ignorar os
dados faltantes em cada nó de decisão.
Vantagens
• Capacidade de lidar com variáveis de entrada mistas: podem lidar com
variáveis de entrada de diferentes tipos (numéricas, categóricas, binárias
etc.), sem a necessidade de fazer transformações prévias nos dados.

• Baixa complexidade computacional: a complexidade computacional


relativamente baixa, o que permite treinar modelos e fazer previsões em
tempo razoável, mesmo para conjuntos de dados grandes.
Desvantagens
Desvantagens
• Tendência ao overfitting: tendem a se ajustar demasiadamente aos dados
de treinamento, resultando em um modelo que é superespecializado nos
dados de treinamento e com baixa capacidade de generalização para novos
dados.

• Sensibilidade a pequenas variações nos dados: podem ser sensíveis a


pequenas variações nos dados de entrada, o que pode resultar em
diferentes estruturas de árvore e, consequentemente, em diferentes
previsões.
Desvantagens
• Dificuldade em capturar relações complexas: As árvores de decisão podem
ter dificuldade em capturar relações complexas entre as variáveis de
entrada, especialmente quando essas relações são não-lineares.

• Problemas com variáveis irrelevantes: As árvores de decisão podem ser


afetadas pela presença de variáveis irrelevantes, que podem levar a
ramificações desnecessárias e a uma estrutura de árvore mais complexa do
que o necessário.
Estrutura de uma
árvore de decisão
Estrutura
• Nó Raiz: é o primeiro nó que representa a variável de entrada mais
importante para a tomada de decisão. A partir deste nó, a árvore se
ramifica em diferentes nós filhos.

• Nó de Decisão: representa uma decisão que deve ser tomada com base em
uma variável de entrada. Esse nó tem ramos que levam a outros nós de
decisão ou a folhas.

• Folha: representa o resultado final da árvore de decisão. Cada folha é


associada a uma classe ou valor de saída e é alcançada após uma sequência
de decisões tomadas ao longo da árvore.
Estrutura
• Cada nó de decisão contém um teste em uma variável de entrada, que
divide o conjunto de dados em dois ou mais subconjuntos um para cada
ramo.

• Cada ramo leva a outro nó de decisão ou a uma folha, onde uma classe ou
valor de saída é atribuído.
Estrutura
Estrutura
Entendimento
do algoritmo
Como criar uma árvore?

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Analisando dados de fraude

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Analisando dados de fraude

Quantas transações são


do mesmo país?
Analisando dados de fraude

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Analisando dados de fraude

Quantas transações são


do mesmo país?
Métricas de avaliação
Métricas
• Impureza: é uma medida da heterogeneidade dos dados em um nó. A
impureza é usada para decidir como dividir os dados em ramos da árvore de
decisão:

– Entropia.

– Erro de Classificação.

• Ganho de informação: é uma medida da redução de impureza alcançada


por uma divisão específica na árvore de decisão.

• Índice de Gini: é outra medida de impureza que é usada em vez do ganho


de informação em algumas implementações de árvores de decisão.
Métricas
• Índice de Gini:

– É uma medida de heterogeneidade semelhante à entropia, mas é


mais fácil de calcular. Quanto menor o índice de Gini, melhor a
divisão.

– Quando este índice é igual a zero, o nó é puro. Por outro lado,


quando ele se aproxima do valor um, o nó é impuro (aumenta o
número de classes uniformemente distribuídas neste nó).
Métricas
• Índice de Gini:

• Quanto mais próximo de 0 mais puro é o nó.

– Isso significa que vamos ter mais dados referente a uma classe de
dados. Por exemplo: fraude, não fraude.

• Calcula o índice para cada nó e depois soma no final.


Calculando o Gini

• Um passo é calcular o Pk:

– Pk1 = fraudes - Probabilidade na transação ser fraude.

– Pk2 = não fraude - Probabilidade na transação não ser fraude.


Calculando o Gini
• Vamos contar as transações que são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Calculando o Gini
• Vamos contar as transações que são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• São 3 transações realizadas, sendo que 1 é fraude.


Calculando o Gini
• Vamos contar as transações que são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• P1 = 1/3 = 0,33 % (Significa que 1 em cada 3 transações é fraude).


Calculando o Gini
• Vamos contar as transações que NÃO são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Calculando o Gini
• Vamos contar as transações que NÃO são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• São 3 transações realizadas, sendo que 2 NÃO são fraude.


Calculando o Gini
• Vamos contar as transações que são fraudes dentro do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• P1 = 2/3 = 0,66 % (Significa que 2 em cada 3 transações NÃO são fraude).


Calculando o Gini
• Cálculo do índice Gini para as transações no mesmo país.

Ser fraude NÂO ser fraude


P1 * (1 – p1) P2 * (1 – p2)
0,33 * (1 – 0,33) = 0,2211 0,66 * (1 – 0,66) = 0,2244

G = 0,2211 + 0,2244 = 0,4455


G = 44,55% Nó impuro
Calculando o Gini
• Vamos contar as transações que são fraudes fora do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO
Calculando o Gini
• Vamos contar as transações que são fraudes fora do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• P1 = 1/2 = 0,50 % (Significa que 1 em cada 2 transações é fraude).


Calculando o Gini
• Vamos contar as transações que NÂO são fraudes fora do país.

Transação País da compra Valor É fraude?

1 SIM 1000 NÃO


2 NÃO 5800 SIM
3 SIM 100 SIM
4 NÃO 1200 NÃO
5 SIM 150 NÃO

• P2 = 1/2 = 0,50 % (Significa que 1 em cada 2 transações NÂO é fraude).


Calculando o Gini
• Cálculo do índice Gini para as transações fora do país.

Ser fraude NÂO ser fraude


P1 * (1 – p1) P2 * (1 – p2)
0,50 * (1 – 0,50) = 0,25 0,50 * (1 – 0,50) = 0,25

G = 0,25 + 0,25 = 0,50


G = 50% Nó impuro
Calculando o Gini da árvore
• Verificar o peso de cada nó.

– Avaliar a quantidade de transações.

Quantas
transações são
Transações dentro do país. do mesmo país?
3/5 = 0,6

Transações fora do país.


G = 0,44 G = 0,50
2/5 = 0,4
Calculando o Gini da árvore
• Multiplicar o valor do índice Gini pelo pesos.

Transações dentro do país.


3/5 = 0,6 * 0,44 Quantas
transações são
do mesmo país?
Transações fora do país.
2/5 = 0,4 * 0,5

G = 0,44 G = 0,50
Gini da árvore
(0,6 * 0,44) + (0,4 * 0,5)
= 0,46 de impureza
Conclusão
 Conhecemos o algoritmo árvore de decisão.
Próxima aula
 Técnicas de balanceamento de dados.
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.5. Técnicas para Balanceamento dos Dados
Prof. Leandro Lessa
Nesta aula
 Técnicas para balanceamento de dados.

 Overfitting e underfitting.
Técnicas para
balanceamento de dados
Técnicas de balanceamento
• Em muitos problemas de aprendizado de máquina, é comum ter conjuntos
de dados desbalanceados, ou seja, com uma classe ou categoria muito mais
frequente do que as outras.

• Isso pode prejudicar a capacidade do modelo de aprender a distinguir entre


as classes menos frequentes, levando a resultados imprecisos e viés na
predição.

• Para lidar com esse problema, existem várias técnicas de balanceamento de


dados que podem ser aplicadas antes de treinar o modelo.
Undersampling
• Consiste em reduzir aleatoriamente a quantidade de instâncias da classe
majoritária para igualá-la em número às outras classes.

• Útil quando a classe majoritária tem uma quantidade excessiva de dados e


pode sobrecarregar o modelo.
Vantagens
Vantagens
• Reduz o tempo de treinamento do modelo, pois o conjunto de dados de
treinamento é menor do que o original.

• Pode ajudar a lidar com problemas de desbalanceamento de dados,


especialmente quando a classe majoritária é muito maior do que a classe
minoritária.

• Pode ser mais fácil interpretar os resultados do modelo, pois ele é treinado
em um conjunto de dados equilibrado.

• Reduz o tempo computacional e de armazenamento.


Desvantagens
Desvantagens
• Pode levar a perda de informações importantes da classe majoritária, pois
algumas das suas amostras são removidas aleatoriamente.

• Pode levar a um desempenho pior do modelo, pois há menos dados de


treinamento disponíveis. Isso pode resultar em uma perda de precisão ou
recall do modelo.

• Pode não funcionar bem em problemas em que a classe minoritária é muito


pequena ou em que a classe majoritária é muito heterogênea.
Oversampling
• Consiste em replicar aleatoriamente as instâncias da classe minoritária para
aumentar seu número e igualar a distribuição de classes.

• Útil quando a classe minoritária tem uma quantidade insuficiente de dados


e o modelo precisa aprender mais sobre ela.
SMOTE
• É uma técnica que sintetiza novos exemplos da classe minoritária, criando
instâncias sintéticas a partir de pontos próximos de outros exemplos.

• Isso aumenta o número de exemplos da classe minoritária sem


simplesmente replicá-los, e pode melhorar a capacidade do modelo de
reconhecer padrões.
Vantagens
Vantagens
• Pode melhorar a precisão e recall do modelo, pois há mais dados de
treinamento disponíveis para a classe minoritária.

• Pode reduzir o risco de overfitting, especialmente quando a classe


minoritária é muito pequena.

• Pode ser uma abordagem eficaz em problemas em que a classe minoritária


é muito importante, como em detecção de fraude ou diagnóstico médico.

• Nenhuma informação é descartada.


Desvantagens
Desvantagens
• Pode levar ao aumento do tempo de treinamento do modelo, pois o
conjunto de dados de treinamento é maior do que o original.

• Pode aumentar o risco de overfitting, especialmente se a replicação ou


geração de amostras for feita de forma aleatória ou não representativa.

• Pode levar a um aumento do viés do modelo em relação à classe


minoritária, o que pode levar a um desempenho pior na classe majoritária.
Overfitting
Overfitting
• Ocorre quando um modelo é muito complexo e ajusta-se muito bem aos
dados de treinamento, mas não consegue generalizar bem para dados
novos e não vistos.

• Isso pode levar a um desempenho pior do modelo em dados novos e não


vistos, pois o modelo está “decorando” o conjunto de treinamento em vez
de aprender padrões e relações mais amplas.

• O overfitting pode ser identificado quando o desempenho do modelo no


conjunto de treinamento é muito melhor do que no conjunto de teste.
Underfitting
Underfitting
• Ocorre quando um modelo é muito simples e não é capaz de capturar a
complexidade do problema. Isso pode levar a um desempenho ruim do
modelo tanto no conjunto de treinamento quanto no conjunto de teste.

• O underfitting pode ser identificado quando o desempenho do modelo é


baixo tanto no conjunto de treinamento quanto no conjunto de teste.
Exemplo
Conclusão
 Conhecemos as técnicas para balanceamento de dados.

 Entendemos o conceito de overfitting e underfitting.


Próxima aula
 Aula prática com a implementação do algoritmo árvore de decisão.
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.6. Preparação dos Dados para Árvore de Decisão
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.7. Implementação do Algoritmo de Árvore
de Decisão
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.8. Introdução ao Algoritmo Random Forest
Prof. Leandro Lessa
Nesta aula
 Algoritmo Random Forest.
Random Forest
Random Forest
• Pertencente a classe dos algoritmos de aprendizado supervisionado.

• A Random Forest é uma combinação de várias árvores de decisão


independentes, onde cada árvore é construída usando diferentes amostras
do conjunto de dados de treinamento.

• Em vez de depender de uma única árvore de decisão, a Random Forest cria


uma “floresta” de árvores de decisão para fazer previsões.
Random Forest
• A construção de uma Random Forest envolve dois aspectos principais:

– A aleatoriedade na seleção das amostras e a aleatoriedade na seleção


dos recursos.

o Para cada árvore na floresta, uma amostra de treinamento é


selecionada aleatoriamente a partir do conjunto de dados de
treinamento original.

• Isso é conhecido como amostragem de bootstrap. A amostragem de


bootstrap permite que as árvores vejam diferentes perspectivas do
conjunto de dados e evita o sobreajuste.
Random Forest
• Durante a construção de cada árvore, em vez de usar todos os recursos
disponíveis, uma seleção aleatória de recursos é feita para determinar a
divisão em cada nó.

• Uma vez que todas as árvores individuais são construídas, a Random Forest
combina as previsões de cada árvore para chegar a uma previsão final.
Random Forest
• No caso de problemas de classificação, a previsão final é determinada por
voto majoritário, onde cada árvore vota na classe prevista.

• No caso de problemas de regressão, a previsão final é a média das


previsões de todas as árvores.
A B C C B D E A D
Vantagens
Vantagens
• Precisão e robustez: a Random Forest tende a produzir resultados precisos
e robustos. Ao combinar as previsões de várias árvores independentes, a
Random Forest reduz o risco de overfitting (sobreajuste) e melhora a
capacidade de generalização para novos dados.

• Lida bem com dados desbalanceados: a Random Forest tem um


desempenho robusto em conjuntos de dados desbalanceados. Ela consegue
lidar com essa situação, pois a amostragem de bootstrap e a votação por
maioria de votos compensam os desequilíbrios de classe, reduzindo o
impacto de classes minoritárias.
Vantagens
• Lida com variáveis de entrada de diferentes tipos: a Random Forest pode
lidar com conjuntos de dados que contêm variáveis de entrada de
diferentes tipos, como numéricas, categóricas e ordinais.

– Ela é capaz de lidar com essas variáveis sem a necessidade de pré-


processamento extensivo.

• Fornece importância de características: fornece uma estimativa da


importância relativa de cada característica em relação à tarefa de previsão.
Isso permite a identificação das características mais relevantes para o
problema em questão, auxiliando na interpretação dos resultados.
Vantagens
• Lida com dados ausentes e outliers: é resistente a valores ausentes e
outliers nos dados.

– Como cada árvore é treinada em uma amostra aleatória do conjunto


de dados, os outliers tendem a ser diluídos e não afetam
significativamente as previsões finais.

– Além disso, como a Random Forest usa a votação por maioria de


votos, ela lida bem com dados ausentes, pois ainda é capaz de fazer
previsões com base nas outras árvores.
Vantagens
• Eficiência no treinamento: pode ser treinada de forma paralela, o que a
torna eficiente em termos de tempo de treinamento, especialmente para
conjuntos de dados grandes.

• Não requer normalização de características: ao contrário de alguns


algoritmos de aprendizado de máquina, a Random Forest não requer que as
características sejam normalizadas ou padronizadas. Isso simplifica o pré-
processamento dos dados e pode economizar tempo e esforço na
preparação dos dados.
Desvantagens
Desvantagens
• Complexidade do modelo: pode gerar modelos complexos, especialmente
com um grande número de árvores e características. Essa complexidade
pode dificultar a interpretação do modelo e a explicação das decisões.

• Menor interpretabilidade: embora a Random Forest forneça uma


estimativa da importância das características, interpretar as relações
específicas entre as características e a variável de saída pode ser mais
desafiador em comparação com uma única árvore de decisão.
Desvantagens
• Mais recursos computacionais: é computacionalmente mais intensiva em
comparação com uma única árvore de decisão. Ela envolve a construção e
treinamento de várias árvores independentes, o que requer mais recursos
computacionais e tempo de processamento.

• Ajuste de hiperparâmetros: possui hiperparâmetros que precisam ser


ajustados, como o número de árvores na floresta e o número de
características consideradas em cada divisão. Encontrar os melhores valores
para esses hiperparâmetros pode exigir experimentação e validação
cruzada.
Desvantagens
• Maior consumo de memória: a Random Forest pode exigir mais memória
para armazenar as múltiplas árvores da floresta, especialmente quando o
conjunto de dados é grande ou quando as árvores são profundas.

• Possível sobreajuste: embora a Random Forest seja menos propensa ao


overfitting em comparação com uma única árvore de decisão, ainda é
possível ocorrer sobreajuste se o número de árvores na floresta for muito
grande ou se os hiperparâmetros não forem ajustados corretamente.
Aplicações
Aplicações
• Classificação e previsão: pode ser usada para classificar ou prever a
ocorrência de eventos em uma variedade de campos, como medicina,
finanças, marketing e análise de dados.

– Por exemplo, pode ser aplicada na detecção de fraudes em


transações financeiras, diagnóstico médico, previsão de churn de
clientes, detecção de spam e análise de sentimentos.
Aplicações
• Análise de imagem e visão computacional: pode ser empregada na análise
e classificação de imagens.

– Por exemplo, tarefas como reconhecimento de objetos, detecção de


padrões, segmentação de imagens e classificação de imagens
médicas, como tomografias e radiografias.
Aplicações
• Bioinformática e genômica: é aplicada em várias tarefas relacionadas à
análise de dados genômicos, como classificação de sequências de DNA,
predição de estruturas de proteínas, identificação de genes e detecção de
marcadores genéticos.

• Recomendação de produtos: pode ser aplicada em sistemas de


recomendação, ajudando a fazer sugestões personalizadas para os usuários.
Conclusão
 Conhecemos o algoritmo Random Forest.
Próxima aula
 Aula prática com a implementação do algoritmo Random Forest.
Fundamentos em
Ciências de Dados
Capítulo 8. Algoritmos de Aprendizagem
de Máquina
Aula 8.9. Implementação do algoritmo Random Forest
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 9. Avaliação de desempenho
Aula 9.1. Métricas de Avaliação para Modelos de
Classificação
Prof. Leandro Lessa
Nesta aula
 Métricas de avaliação para modelos de classificação.
Métricas de avaliação
Métricas de avaliação
• A avaliação de modelos de aprendizagem supervisionado desempenha um
papel crucial na construção de sistemas inteligentes confiáveis e precisos.

• As métricas fornecem uma maneira de medir o desempenho e a eficácia


dos modelos em tarefas específicas de classificação.

• Avaliar um modelo de classificação é uma etapa importante para


determinar o quão bem ele está performando e para tomar decisões
informadas sobre seu uso.
Métricas de avaliação
• Matriz de Confusão (Confusion Matrix):

– É uma tabela que mostra a contagem de predições corretas e


incorretas para cada classe. Ela é útil para visualizar os acertos e erros
do modelo, permitindo a análise de falsos positivos, falsos negativos,
verdadeiros positivos e verdadeiros negativos.
Métricas de avaliação
• Verdadeiros positivos (True Positives - TP):

– São os casos em que o modelo classifica corretamente uma amostra


como positiva quando ela realmente é positiva. Em outras palavras,
são os acertos do modelo em identificar corretamente a classe
positiva.
Métricas de avaliação
• Verdadeiros negativos (True Negatives - TN):

– São os casos em que o modelo classifica corretamente uma amostra


como negativa quando ela realmente é negativa. Em outras palavras,
são os acertos do modelo em identificar corretamente a classe
negativa.
Métricas de avaliação
• Falsos positivos (False Positives - FP):

– São os casos em que o modelo classifica erroneamente uma amostra


como positiva, quando na verdade ela é negativa. É um erro do
modelo em identificar incorretamente a classe positiva.
Métricas de avaliação
• Falsos negativos (False Negatives - FN)

– São os casos em que o modelo classifica erroneamente uma amostra


como negativa, quando na verdade ela é positiva. É um erro do
modelo em identificar incorretamente a classe negativa.
Métricas de avaliação
• Acurácia (Accuracy):

– É a proporção de predições corretas em relação ao total de


predições. É uma métrica simples de entender, mas pode ser
enganosa se houver um desbalanceamento significativo entre as
classes.

𝑇𝑃 + 𝑇𝑁 𝑃𝑟𝑒𝑑𝑖çõ𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑡𝑎𝑠
𝑎𝑐𝑢𝑟á𝑐𝑖𝑎 = =
𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁 𝑡𝑜𝑑𝑜𝑠 𝑜𝑠 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠
Métricas de avaliação
• Precisão (Precision):

– É a proporção de verdadeiros positivos em relação ao total de


predições positivas. Essa métrica mede a capacidade do modelo de
evitar falsos positivos.

𝑇𝑃
𝑃𝑟𝑒𝑐𝑖𝑠ã𝑜 =
𝑇𝑃 + 𝐹𝑃
Métricas de avaliação
• Revocação (Recall ou Sensibilidade):

– É a proporção de verdadeiros positivos em relação ao total de


instâncias positivas na base de dados. Essa métrica mede a
capacidade do modelo de evitar falsos negativos.

𝑇𝑃
𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜 =
𝑇𝑃 + 𝐹𝑁
Métricas de avaliação
• F1-Score:

– É uma métrica que combina a precisão e a revocação em uma única


medida, levando em consideração o trade-off entre elas.

– É especialmente útil quando há um desbalanceamento entre as


classes.

𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 ∗ 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜
𝑓1 − 𝑠𝑐𝑜𝑟𝑒 = 2 ∗
𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 + 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜
Matriz de confusão
Matriz de confusão

𝑇𝑃 + 𝑇𝑁 𝑃𝑟𝑒𝑑𝑖çõ𝑒𝑠 𝑐𝑜𝑟𝑟𝑒𝑡𝑎𝑠 𝑇𝑃
𝑎𝑐𝑢𝑟á𝑐𝑖𝑎 = = 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 =
𝑇𝑃 + 𝐹𝑃 + 𝑇𝑁 + 𝐹𝑁 𝑇𝑜𝑑𝑜𝑠 𝑜𝑠 𝑟𝑒𝑔𝑖𝑠𝑡𝑟𝑜𝑠 𝑇𝑃 + 𝐹𝑃

3+4 3
𝑎𝑐𝑢𝑟á𝑐𝑖𝑎 = = 0,7 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 = = 0,75
10 3+1
Matriz de confusão

𝑇𝑃 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 ∗ 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜
𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜 = 𝑓1 − 𝑠𝑐𝑜𝑟𝑒 = 2 ∗
𝑇𝑃 + 𝐹𝑁 𝑝𝑟𝑒𝑐𝑖𝑠ã𝑜 + 𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜

3 0,75 ∗ 0,6
𝑟𝑒𝑣𝑜𝑐𝑎çã𝑜 = = 0,6 𝑓1 − 𝑠𝑐𝑜𝑟𝑒 = 2 ∗ = 0,66
3+2 0,75 + 0,6
Conclusão
 Métricas de avaliação para modelos de classificação.
Próxima aula
 Aula prática com a implementação das Métricas de avaliação.
Fundamentos em
Ciências de Dados
Capítulo 9. Avaliação de desempenho
Aula 9.2. Análise dos Resultados com Uso de
Algoritmo Balanceado
Prof. Leandro Lessa
Fundamentos em
Ciências de Dados
Capítulo 9. Avaliação de desempenho
Aula 9.3. Avaliação dos Resultados Utilizando
Algoritmo sem Balanceamento
Prof. Leandro Lessa

Você também pode gostar