English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

visitante
1 / ?

O Que É Ciência de Dados?

A ciência de dados não é apenas aprendizado de máquina. Não é apenas estatística. Não é apenas programação.

A ciência de dados é a disciplina de extrair conhecimento útil dos dados. A maior parte desse trabalho não é glamourosa: é limpar spreadsheets bagunçadas, fazer as perguntas certas, e comunicar resultados para pessoas que não se importam com seu código.

Pipeline de Ciência de Dados

O pipeline típico de ciência de dados se parece com isto:

1. Collect: coletar dados brutos de bancos de dados, APIs, CSVs ou web scraping [BLOCK_TYPE SECTION/STEP]

2. Clean: tratar valores ausentes, corrigir tipos, remover duplicatas [BLOCK_TYPE SECTION/STEP]

3. Explore: visualizar distribuições, encontrar padrões, fazer perguntas [BLOCK_TYPE SECTION/STEP]

4. Engineer: criar novas características que ajudam os modelos a aprender [BLOCK_TYPE SECTION/STEP]

5. Model: treinar algoritmos, avaliar performance, iterar [BLOCK_TYPE SECTION/STEP]

6. Communicate: apresentar descobertas a stakeholders que tomam decisões [BLOCK_TYPE SECTION/STEP]

Se você já usou tabelas dinâmicas do Excel, formatação condicional ou VLOOKUP, você já realizou os passos 1-3. Esta lição conecta essa experiência ao fluxo de trabalho baseado em Python usado na indústria. [BLOCK_TYPE SECTION/STEP]

Warm-Up

Sua Experiência com Dados

Todos já trabalharam com dados de alguma forma: uma planilha de orçamento, um rastreador de notas, um aplicativo de fitness, até uma playlist com contagens de reprodução.

Descreva um momento em que você trabalhou com dados em uma planilha ou aplicativo. O que você estava tentando descobrir, e os dados lhe deram a resposta?

Garbage In, Garbage Out

Por que a Limpeza Importa

Cientistas de dados gastam de 60-80% do seu tempo limpando dados. Isso não é uma exageração: é um achado consistente em pesquisas da indústria.

O motivo é simples: garbage in, garbage out. Se seus dados têm erros, valores ausentes ou formatos inconsistentes, toda análise construída sobre eles será errada. Um modelo perfeito treinado em dados sujos produz respostas erradas com confiança.


Problemas Comuns de Dados

- Valores ausentes: células estão em branco. Os dados não foram coletados, ou o valor é realmente zero? Essas são situações diferentes que requerem tratamentos diferentes.

- Tipos de dados incorretos: uma coluna de números armazenada como texto, datas em formatos inconsistentes (01/02/2024: é 2 de janeiro ou 1 de fevereiro?)

- Outliers: uma coluna de salários tem uma entrada de $1.000.000.000. É real, ou um erro de digitação? De qualquer forma, vai distorcer suas médias.

- Duplicatas: o mesmo registro aparece duas vezes porque dois sistemas foram mesclados de forma imperfeita

- Codificação categórica: uma coluna contém 'Yes', 'yes', 'Y', 'TRUE' e '1'. Todos significam a mesma coisa, mas o computador não sabe disso.


No pandas (a biblioteca padrão de dados em Python), você lida com esses problemas usando métodos como dropna(), fillna(), astype() e drop_duplicates(). Mas a parte difícil não é o código: é decidir o que fazer com cada problema.

Problemas Comuns de Dados

Decisões de Limpeza

Decidindo o Que Fazer

Aqui está um cenário real. Você tem um conjunto de dados com 10.000 registros de clientes. A coluna 'age' tem 500 valores ausentes.

Suas opções:

- Excluir as linhas: remova todos os 500 registros. Simples, mas você perde 5% dos seus dados. Se esses 500 clientes compartilham uma característica (talvez tenham pulado o campo de idade porque são conscientes em relação à privacidade), excluir esses dados introduz viés.

- Preencher com a média: substitua os valores em branco pela média de idade. Rápido, mas artificialmente reduz a variância da coluna de idade.

- Preencher com a mediana: melhor que a média se a distribuição de idade for enviesada (alguns clientes muito velhos ou muito jovens que puxam a média).

- Usar uma flag: crie uma nova coluna chamada 'age_missing' (1 ou 0) e preencha o valor original com a mediana. Agora seu modelo pode aprender se a própria ausência de valor é有信息.

Não há uma resposta certa universal. A escolha depende do motivo pelo qual os dados estão faltando e do que você planeja usar com eles.

Você tem um conjunto de dados de salários de funcionários. 200 dos 5.000 registros têm valores de salário em falta. Você notice que a maioria dos valores em falta é de executivos. Você dropa essas linhas, preenche com a média, ou faz algo mais? Explique seu raciocínio.

Fazendo as Perguntas Certas

Análise Exploratória de Dados (EDA)

Antes de construir qualquer modelo, você precisa entender seus dados. A EDA é o processo de resumir, visualizar e questionar um conjunto de dados para encontrar padrões, anomalias e relacionamentos.


Principais Ferramentas

- Histogramas: mostram a distribuição de uma única variável. É em forma de sino? Assimétrica? Bimodal (dois picos)? Um histograma de renda é sempre assimétrico à direita porque poucas pessoas ganham muito mais que a maioria.

- Gráficos de dispersão: mostram o relacionamento entre duas variáveis. Pessoas mais altas pesam mais? Mais tempo de estudo se correlaciona com notas mais altas? O padrão (ou ausência de padrão) indica se existe um relacionamento.

- Correlação: um número entre -1 e +1 que mede a associação linear. +1 significa relacionamento positivo perfeito, -1 significa negativo perfeito, 0 significa nenhum relacionamento linear. Mas correlação não implica causalidade: vendas de sorvete e mortes por afogamento são correlacionadas porque ambas aumentam no verão.

- Estatísticas descritivas: média, mediana, desvio padrão, mínimo, máximo. Em pandas: df.describe() fornece todas elas em uma única linha.


A Habilidade Real

As ferramentas são fáceis de aprender. A parte difícil é fazer as perguntas certas. Pergunta ruim: 'O que os dados dizem?' Pergunta boa: 'Clientes que entram em contato com o suporte na primeira semana têm taxas de retenção mais altas?' [BLOCK_TYPE SECTION/STEP]

Ferramentas de EDA [BLOCK_TYPE SECTION/STEP]

Armadilha da Correlação [BLOCK_TYPE SECTION/STEP]

Correlação vs. Causalidade
[BLOCK_TYPE SECTION/STEP]

Este é o conceito mais importante em alfabetização de dados. Duas variáveis podem ser fortemente correlacionadas sem que uma cause a outra. [BLOCK_TYPE SECTION/STEP]

Exemplos clássicos: [BLOCK_TYPE SECTION/STEP]

- Cidades com mais bombeiros têm mais incêndios. (Cidades maiores têm ambos.) [BLOCK_TYPE SECTION/STEP]

- Alunos que tomam café da manhã têm melhores notas. (Talvez famílias mais ricas tenham maior probabilidade de oferecer café da manhã E apoio acadêmico.)

- Países que consomem mais chocolate ganham mais Prêmios Nobel. (Ambos se correlacionam com a riqueza nacional.)

O fator oculto é chamado de variável de confusão: uma terceira variável que influencia ambas as que você está analisando.

Correlation vs. Causation

Uma empresa descobre que funcionários que usam a academia da empresa têm 30% menos dias de afastamento por doença. O CEO quer exigir que todos os funcionários usem a academia. O que há de errado com esse raciocínio? Quais variáveis de confusão poderiam explicar a correlação?

Criando Variáveis Úteis

O que é Engenharia de Features?

Uma feature é uma variável de entrada que um modelo usa para fazer previsões. A engenharia de features é a arte de criar novas features a partir de dados brutos para ajudar os modelos a aprenderem padrões que de outra forma não conseguiriam ver.

Dados brutos raramente chegam na forma que os modelos precisam. Considere um conjunto de dados com uma coluna 'data de nascimento'. Um modelo não pode fazer muito com datas brutas. Mas se você criar uma feature 'idade' a partir dela, de repente o modelo pode aprender padrões baseados na idade.


Técnicas Comuns

- Normalização: escalar números para uma faixa comum (0 a 1, ou média=0 e desvio padrão=1). Sem isso, uma característica medida em milhares (salário) dominará uma característica medida em dígitos únicos (anos de experiência).

- Codificação one-hot: converter variáveis categóricas em colunas binárias. Uma coluna 'cor' com valores [vermelho, azul, verde] torna-se três colunas: 'cor_vermelho', 'cor_azul', 'cor_verde', cada uma com 0 ou 1.

- Binning: transformar uma variável contínua em categorias. Idade 0-17 torna-se 'menor', 18-64 torna-se 'adulto', 65+ torna-se 'sênior'. Isso ajuda quando a relação não é linear.

- Características de interação: multiplicar duas características entre si. 'Metros quadrados vezes número de banheiros' pode prever o preço da casa melhor do que qualquer uma isoladamente.

- Conhecimento de domínio: a técnica mais poderosa. Um médico criando características para um modelo médico sabe quais valores de laboratório são重要的. Um profissional de marketing sabe que 'dias desde a última compra' é mais útil do que 'data da compra'. Nenhum algoritmo pode substituir isso.

Técnicas de Engenharia de Características

Prática de Características

Aplicando Engenharia de Características

Imagine que você está construindo um modelo para prever quais clientes cancelarão sua assinatura de streaming no próximo mês. Seus dados brutos incluem:

- Data de criação da conta

- Data do último login

- Número de shows assistidos no último mês

- Valor do pagamento mensal

- Tickets de suporte ao cliente abertos

- País

A partir dos dados brutos listados acima, proponha pelo menos três novas características que você iria criar. Para cada uma, explique o que ela captura e por que ela poderia ajudar a prever o cancelamento.

Divisão Treino/Teste

Por que Dividir Seus Dados

A regra mais importante em modelagem: nunca avalie um modelo nos mesmos dados em que o treinou.

Se você fizer isso, o modelo pode simplesmente memorizar as respostas. Ele terá uma pontuação perfeita nos dados de treinamento, mas falhará em dados novos e não vistos. Isso é chamado de overfitting: o modelo aprendeu o ruído do seu conjunto de dados específico em vez dos padrões reais.

A prática padrão é dividir seus dados:

- Conjunto de treinamento (tipicamente 70-80%): o modelo aprende com esses dados

- Conjunto de teste (tipicamente 20-30%): mantido separado, usado apenas para avaliar o modelo final

No scikit-learn: X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)


Algoritmos Comuns

- Regressão linear: traça a reta de melhor ajuste através dos dados. Simples, interpretável, funciona quando o relacionamento é aproximadamente linear. Prediz um número (preço, temperatura, pontuação).

- Árvores de decisão: um fluxograma de perguntas sim/não. Fácil de entender e explicar. Propensa a overfitting a menos que seja podada ou limitada em profundidade.

- Florestas aleatórias: muitas árvores de decisão que votam juntas. Mais acurada que uma única árvore, less prone to overfitting, porém mais difícil de explicar.


Overfitting vs. Underfitting

- Overfitting: o modelo é complexo demais. Memoriza os dados de treinamento, incluindo ruído. Alta acurácia nos dados de treinamento, baixa acurácia nos dados de teste.

- Underfitting: o modelo é简单 demais. Não consegue capturar os padrões reais. Baixa acurácia tanto nos dados de treinamento quanto nos dados de teste.

O objetivo é o ponto ideal entre os dois.

Divisão Treino/Teste e Tradeoff Viés-Variância

Métricas de Avaliação

Como Saber Se Seu Modelo É Bom?

A precisão sozinha pode ser enganosa. Se 95% dos e-mails não são spam, um modelo que sempre diz 'não é spam' é 95% preciso: mas completamente inútil.

Métricas-chave:

- Precisão: porcentagem de previsões corretas. Útil quando as classes são balanceadas.

- Precisão Positiva: de todas as coisas que o modelo marcou como positivas, quantas realmente eram? Alta precisão positiva significa poucos falsos alarmes.

- Revocação: de todos os positivos reais, quantos o modelo capturou? Alta revocação significa poucos casos perdidos.

- F1 score: a média harmônica entre precisão e recall. Útil quando você precisa equilibrar ambos.

- RMSE (Root Mean Squared Error): para regressão (previsão de números). Quão distantes estão as previsões em média?

Qual métrica importa mais depende do problema. Para detecção de câncer, recall importa mais: você não quer perder um caso. Para filtragem de spam, precisão importa mais: você não quer excluir um e-mail real.

Evaluation Metrics and Confusion Matrix

Você está construindo um modelo para detectar transações fraudulentas com cartão de crédito. Apenas 0,1% das transações são realmente fraudulentas. Se seu modelo prediz todas as transações como legítimas, qual é sua acurácia? Por que acurácia é uma métrica ruim aqui, e qual métrica você usaria em vez disso?

Analista de Dados vs. Cientista de Dados vs. Engenheiro de ML

Três Papéis Distintos

A área de dados tem três principais trilhas de carreira, e elas exigem habilidades diferentes.


Analista de Dados

- Foco: responder perguntas de negócios com dados existentes

- Ferramentas: SQL, Excel, Tableau, Python ou R básico

- Dia a dia: dashboards, relatórios, análise de testes A/B, apresentações para stakeholders

- Caminho de entrada: geralmente o mais acessível. Muitos analistas começam sem diploma em Ciência da Computação.


Cientista de Dados

- Foco: construir modelos preditivos e encontrar padrões em dados complexos

- Ferramentas: Python (pandas, scikit-learn, matplotlib), estatística, SQL, Jupyter notebooks

- Dia a dia: EDA, engenharia de features, construção de modelos, experimentação

- Caminho de entrada: geralmente requer formação em estatística ou área quantitativa. Bootcamps e estudo autodidata são viáveis.


Engenheiro de Machine Learning

- Foco: implantação e escalabilidade de modelos em sistemas de produção

- Ferramentas: Python, TensorFlow/PyTorch, Docker, plataformas de nuvem (AWS/GCP), APIs

- Dia a dia: otimização de modelos, infraestrutura de pipelines, monitoramento de modelos em produção

- Caminho de entrada: geralmente requer sólidas habilidades em engenharia de software mais conhecimento em ML.


Construindo um Portfólio

Os gerentes de contratação se preocupam com o que você pode fazer, não apenas com o que você estudou. Um portfólio de 3-5 projetos sólidos no GitHub é mais importante que certificações. Bons projetos usam datasets reais (e não de brinquedo), incluem documentação clara e mostram o pipeline completo: de dados brutos e bagunçados até insights acionáveis.

Caminhos de Carreira em Dados

Seus Próximos Passos

Para Onde Ir a Partir Daqui

As ferramentas do ofício são gratuitas e acessíveis:

- pandas: a biblioteca padrão do Python para manipulação de dados

- matplotlib / seaborn: bibliotecas de visualização

- scikit-learn: a ferramenta principal para machine learning clássica

- Jupyter notebooks: ambientes de codificação interativos onde você pode misturar código, saída e notas

- Kaggle: datasets gratuitos, competições e uma comunidade de praticantes

Comece com um dataset real que te interesse. Baixe-o, limpe-o, explore-o e tente responder a uma pergunta. Esse único projeto vai te ensinar mais do que qualquer curso.

Com base no que você aprendeu nesta lição, qual dos três papéis (data analyst, data scientist ou ML engineer) te interessa mais? Qual é um passo concreto que você poderia tomar esta semana para começar a construir habilidades para esse papel?