</>Codding

Módulo 1 • Manipulação

Limpeza de dados

Ferramentas e leitura
Leitura100%
Aula guiada50–75 min5 etapas práticas

Nesta aula, você vai compreender Limpeza de dados com explicação progressiva, exemplo resolvido, checagens e prática. Nada de apenas copiar: cada etapa prepara a próxima.

Antes de começar: Leia a aula anterior do módulo se algum termo parecer novo. Você pode testar o exemplo antes de continuar.

Ao terminar, você vai conseguir

  • Explicar Limpeza de dados com suas próprias palavras
  • Reconhecer as partes importantes em um exemplo real
  • Identificar e corrigir os erros mais frequentes
  • Aplicar o conteúdo em uma atividade prática
1

Dados

Entenda o formato e a qualidade da entrada.

2

Operação

Aplique Limpeza de dados de maneira controlada.

3

Interpretação

Leia o resultado e confirme se ele responde ao problema.

0/6 atividades
1

Entenda o problema

O que é Limpeza de dados

Machine learning aprende padrões de exemplos em vez de seguir regras escritas à mão. Sem dados representativos e limpos, nenhum modelo salva o projeto.

Cheque seu entendimento

Overfitting é quando o modelo:

1 de 5

O que você aprendeu

  • Machine learning aprende padrões de exemplos em vez de seguir regras escritas à mão. Sem dados representativos e limpos, nenhum modelo salva o projeto.
  • Isso é uma regressão linear na unha: o modelo é só um par de números que minimiza o erro. Bibliotecas fazem o mesmo em escala.
  • Evite: Avaliar o modelo com os dados de treino.
  • Evite: Confiar só na acurácia em problemas desbalanceados.

Videoaulas sobre este tema

Se você aprende melhor assistindo, abrimos uma seleção de aulas em vídeo em português sobre exatamente este assunto.

Quiz rápido

0/2 • 0 certas

1. Overfitting é quando o modelo:

2. Por que separar treino e teste?

Laboratório

1/4

1. Faça funcionar

Laboratório de Limpeza de dados: execute o exemplo, identifique entrada, processamento e saída e altere pelo menos um valor para observar como o resultado muda.

Abrir no playground
  • Checkpoints da prática (1/4)
  • Escreva sua versão a partir do modeloO texto do editor ainda é igual ao modelo inicial. Altere pelo menos uma linha para que a prática conte como sua.
  • Nenhuma lacuna deixada em branco
  • Execute seu códigoClique em “Verificar resposta” para rodar seu código e comparar a saída com o esperado.
  • Resultado ainda não confereEsperado: o programa rodar sem erro. Se aparecer uma mensagem de erro, leia a última linha: ela indica a linha e o tipo do problema.

Escreva sua solução e clique em Verificar.

Tire sua dúvida

Cada resposta é conferida contra o material desta lição antes de aparecer. Sem IA por trás e sem inventar nada.

Limpeza de dados

Ciência de Dados com Python • Módulo 1: Manipulação • Codding — material para estudo offline

Aluno: ______________________________ Data: ____ / ____ / ______

Nesta aula, você vai compreender Limpeza de dados com explicação progressiva, exemplo resolvido, checagens e prática. Nada de apenas copiar: cada etapa prepara a próxima.

Objetivos da aula

  • Explicar Limpeza de dados com suas próprias palavras
  • Reconhecer as partes importantes em um exemplo real
  • Identificar e corrigir os erros mais frequentes
  • Aplicar o conteúdo em uma atividade prática

Pré-requisito: Leia a aula anterior do módulo se algum termo parecer novo. Você pode testar o exemplo antes de continuar. • Duração: 50–75 min

Explicação passo a passo

1. O que é Limpeza de dados

Machine learning aprende padrões de exemplos em vez de seguir regras escritas à mão. Sem dados representativos e limpos, nenhum modelo salva o projeto.

Checkpoint: Overfitting é quando o modelo: — Resposta: Acerta muito no treino e mal em dados novos

2. Como pensar antes de fazer

O ciclo é: coletar → limpar → explorar → separar treino/teste → treinar → avaliar. Avaliar no mesmo dado do treino é enganar a si mesmo: o modelo decorou em vez de aprender.

Dica: Não decore a forma. Tente explicar com suas palavras qual problema “Limpeza de dados” resolve.

3. Exemplo completo, do início ao resultado

Overfitting é acertar muito no treino e mal no teste (modelo complexo demais); underfitting é errar nos dois (simples demais). Validação cruzada e um conjunto de teste intocado revelam qual dos dois está acontecendo.

# Sem bibliotecas externas: a lógica que importa
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)]   # (x, y)

n = len(dados)
mx = sum(x for x, _ in dados) / n
my = sum(y for _, y in dados) / n
num = sum((x - mx) * (y - my) for x, y in dados)
den = sum((x - mx) ** 2 for x, _ in dados)
a = num / den            # coeficiente angular
b = my - a * mx          # intercepto

print(round(a, 2), round(b, 2))
print("previsao x=5:", round(a * 5 + b, 2))
TrechoO que faz
# Sem bibliotecas externas: a lógica que importaComentário de orientação: documenta a intenção sem executar uma ação.
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)] # (x, y)Cria ou atualiza um valor que será usado pelo restante do exemplo.
n = len(dados)Cria ou atualiza um valor que será usado pelo restante do exemplo.
mx = sum(x for x, _ in dados) / nPercorre ou transforma uma sequência de valores.
my = sum(y for _, y in dados) / nPercorre ou transforma uma sequência de valores.
num = sum((x - mx) * (y - my) for x, y in dados)Percorre ou transforma uma sequência de valores.
den = sum((x - mx) ** 2 for x, _ in dados)Percorre ou transforma uma sequência de valores.
a = num / den # coeficiente angularCria ou atualiza um valor que será usado pelo restante do exemplo.

Dica: Isso é uma regressão linear na unha: o modelo é só um par de números que minimiza o erro. Bibliotecas fazem o mesmo em escala.

Checkpoint: Por que separar treino e teste? — Resposta: Para medir o desempenho em dados que o modelo nunca viu

4. Do detalhe para o todo

Acurácia engana em dados desbalanceados: com 99% de casos negativos, um modelo que responde sempre 'não' acerta 99%. Olhe precisão, recall e matriz de confusão conforme o custo do erro.

5. Erros comuns e como corrigi-los

1. Avaliar o modelo com os dados de treino. 2. Confiar só na acurácia em problemas desbalanceados. 3. Ignorar valores faltantes e outliers na limpeza.

Dica: Quando algo der errado, compare uma diferença por vez com o exemplo. Evite mudar várias partes ao mesmo tempo.

Prática guiada

1. 1. Faça funcionar

Laboratório de Limpeza de dados: execute o exemplo, identifique entrada, processamento e saída e altere pelo menos um valor para observar como o resultado muda.

# Sem bibliotecas externas: a lógica que importa
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)]   # (x, y)

n = len(dados)
mx = sum(x for x, _ in dados) / n
my = sum(y for _, y in dados) / n
num = sum((x - mx) * (y - my) for x, y in dados)
den = sum((x - mx) ** 2 for x, _ in dados)
a = num / den            # coeficiente angular
b = my - a * mx          # intercepto

print(round(a, 2), round(b, 2))
print("previsao x=5:", round(a * 5 + b, 2))

Dica: Volte ao exemplo resolvido e compare a estrutura. Avaliar o modelo com os dados de treino.

2. 2. Preveja antes de testar

Sem executar, explique qual resultado o exemplo de Limpeza de dados deve produzir e qual parte é responsável por ele.

Minha previsão:

A parte responsável pelo resultado:

Como vou conferir:

Dica: Use o modelo mental da aula: entrada, transformação e evidência observável.

3. 3. Encontre e corrija o erro

Use o exemplo de Limpeza de dados, identifique um risco citado na aula e registre ou implemente a correção.

# Sem bibliotecas externas: a lógica que importa
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)]   # (x, y)

n = len(dados)
mx = sum(x for x, _ in dados) / n
my = sum(y for _, y in dados) / n
num = sum((x - mx) * (y - my) for x, y in dados)
den = sum((x - mx) ** 2 for x, _ in dados)
a = num / den            # coeficiente angular
b = my - a * mx          # intercepto

print(round(a, 2), round(b, 2))
print("previsao x=5:", round(a * 5 + b, 2))

Dica: Avaliar o modelo com os dados de treino.

4. 4. Aplique em um caso novo

Crie uma variação própria usando Limpeza de dados. Mude os dados ou o cenário e demonstre que o resultado continua correto.

# Sem bibliotecas externas: a lógica que importa
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)]   # (x, y)

n = len(dados)
mx = sum(x for x, _ in dados) / n
my = sum(y for _, y in dados) / n
num = sum((x - mx) * (y - my) for x, y in dados)
den = sum((x - mx) ** 2 for x, _ in dados)
a = num / den            # coeficiente angular
b = my - a * mx          # intercepto

print(round(a, 2), round(b, 2))
print("previsao x=5:", round(a * 5 + b, 2))

Dica: Mantenha a estrutura que já funcionou e altere uma decisão por vez.

Revisão

  • Machine learning aprende padrões de exemplos em vez de seguir regras escritas à mão. Sem dados representativos e limpos, nenhum modelo salva o projeto.
  • Isso é uma regressão linear na unha: o modelo é só um par de números que minimiza o erro. Bibliotecas fazem o mesmo em escala.
  • Evite: Avaliar o modelo com os dados de treino.
  • Evite: Confiar só na acurácia em problemas desbalanceados.

Exemplo comentado

# Sem bibliotecas externas: a lógica que importa
dados = [(1, 2.1), (2, 4.2), (3, 5.9), (4, 8.1)]   # (x, y)

n = len(dados)
mx = sum(x for x, _ in dados) / n
my = sum(y for _, y in dados) / n
num = sum((x - mx) * (y - my) for x, y in dados)
den = sum((x - mx) ** 2 for x, _ in dados)
a = num / den            # coeficiente angular
b = my - a * mx          # intercepto

print(round(a, 2), round(b, 2))
print("previsao x=5:", round(a * 5 + b, 2))

Isso é uma regressão linear na unha: o modelo é só um par de números que minimiza o erro. Bibliotecas fazem o mesmo em escala.

Erros comuns

  • Avaliar o modelo com os dados de treino.
  • Confiar só na acurácia em problemas desbalanceados.
  • Ignorar valores faltantes e outliers na limpeza.

Quiz e gabarito completo

  1. 1. Overfitting é quando o modelo:

    • a) Erra no treino e no teste
    • b) Acerta muito no treino e mal em dados novos
    • c) Treina devagar
    • d) Tem poucos dados

    Gabarito: b) Acerta muito no treino e mal em dados novos — Ele decorou ruído em vez de aprender o padrão.

  2. 2. Por que separar treino e teste?

    • a) Para economizar memória
    • b) Para medir o desempenho em dados que o modelo nunca viu
    • c) Exigência das bibliotecas
    • d) Para treinar mais rápido

    Gabarito: b) Para medir o desempenho em dados que o modelo nunca viu — É a única medida honesta de generalização.

Codding • Ciência de Dados com Python • Limpeza de dados • Prova final e certificado em codding.lovable.app/cursos/ciencia-de-dados/prova