Tratando dados ausentes

Praticando perguntas de entrevista de Machine Learning em Python

Lisa Stuart

Data Scientist

Pré-requisitos

Praticando perguntas de entrevista de Machine Learning em Python

Descrição do curso

  • Capítulo 1: Pré-processamento e visualização
    • Dados ausentes, outliers, normalização
  • Capítulo 2: Supervised Learning
    • Seleção de features, regularização, engenharia de features
  • Capítulo 3: Unsupervised Learning
    • Escolha de algoritmo de cluster, extração de features, redução de dimensionalidade
  • Capítulo 4: Seleção e avaliação de modelos
    • Generalização e avaliação de modelos, seleção de modelos
Praticando perguntas de entrevista de Machine Learning em Python

Pipeline de Machine Learning (ML)

Visão geral do pipeline

Praticando perguntas de entrevista de Machine Learning em Python

Nosso pipeline de ML

Pipeline

Praticando perguntas de entrevista de Machine Learning em Python

Dados ausentes

  • Impacto de diferentes técnicas
  • Encontrar valores ausentes
  • Estratégias de tratamento
Praticando perguntas de entrevista de Machine Learning em Python

Técnicas

  1. Omissão
    • Remover linhas --> .dropna(axis=0)
    • Remover colunas --> .dropna(axis=1)
  2. Imputação
    • Preencher com zero --> SimpleImputer(strategy='constant', fill_value=0)
    • Imputar média -> SimpleImputer(strategy='mean')
    • Imputar mediana --> SimpleImputer(strategy='median')
    • Imputar moda --> SimpleImputer(strategy='most_frequent')
    • Imputação iterativa --> IterativeImputer()
Praticando perguntas de entrevista de Machine Learning em Python

Por que se importar?

  • Reduz a chance de introduzir viés
  • A maioria dos algoritmos de ML exige dados completos
Praticando perguntas de entrevista de Machine Learning em Python

Efeitos da imputação

  • Dependem de:
    • Valores ausentes
    • Variância original
    • Presença de outliers
    • Tamanho e direção da assimetria
  • Omissão --> Pode remover demais
  • Zero --> Viés para baixo
  • Média --> Mais afetada por outliers
  • Mediana --> Melhor com outliers
  • Moda e imputação iterativa --> Experimente
Praticando perguntas de entrevista de Machine Learning em Python
Função retorna
df.isna().sum() quantidade ausente
df['feature'].mean() média da feature
.shape dimensões (linhas, colunas)
df.columns nomes das colunas
.fillna(0) preenche ausentes com 0
select_dtypes(include = [np.number] ) colunas numéricas
select_dtypes(include = ['object'] ) colunas string
.fit_transform(numeric_cols) ajusta e transforma
Praticando perguntas de entrevista de Machine Learning em Python

Efeitos de valores ausentes

Quais são os efeitos de valores ausentes em um cenário de Machine Learning (ML)? Selecione a opção verdadeira:

  • Valores ausentes não são problema, já que a maioria dos algoritmos do sklearn lida com eles.
  • Remover observações ou features com valores ausentes geralmente é uma boa ideia.
  • Dados ausentes tendem a introduzir viés e levar a resultados enganosos, então não podem ser ignorados.
  • Preencher valores ausentes com zero vai enviesar os resultados para cima.
Praticando perguntas de entrevista de Machine Learning em Python

Efeito de valores ausentes: resposta

Quais são os efeitos de valores ausentes em um cenário de Machine Learning (ML)? A resposta correta é:

  • Dados ausentes tendem a introduzir viés e levar a resultados enganosos, então não podem ser ignorados. (Preencher testando o que menos impacta a variância do conjunto de dados é a melhor abordagem.)
Praticando perguntas de entrevista de Machine Learning em Python

Efeitos de valores ausentes: respostas incorretas

Quais são os efeitos de valores ausentes em um cenário de Machine Learning (ML)?

  • Valores ausentes não são problema... (A maioria dos algoritmos do sklearn não lida com valores ausentes e gera erro.)
  • Remover observações ou features com valores ausentes... (A menos que o conjunto seja grande e a proporção de ausentes pequena, remover linhas/colunas costuma encolher demais o conjunto para ser útil em ML.)
  • Preencher valores ausentes com zero vai enviesar os resultados para cima. (É o oposto: preencher com zero enviesa para baixo.)
Praticando perguntas de entrevista de Machine Learning em Python

Vamos praticar!

Praticando perguntas de entrevista de Machine Learning em Python

Preparing Video For Download...