Tratamento de Dados Ausentes com Pandas

empreteiro






Tratamento de Dados com Pandas

O tratamento de dados ausentes é uma etapa crucial na análise de dados. No Pandas, existem várias funções para lidar com valores faltantes, sendo df.info(), df.dropna() e df.fillna(valor) algumas das mais importantes.

Funções Principais para Dados Ausentes

df.info()

A função info() fornece um resumo conciso do DataFrame, incluindo:

  • Número de entradas não nulas por coluna
  • Tipo de dados de cada coluna
  • Uso de memória

É útil para identificar rapidamente colunas com valores ausentes.

Exemplo de uso:

df.dropna()

A função dropna() remove linhas ou colunas que contenham valores ausentes.

Parâmetros importantes:

  • axis: 0 para linhas, 1 para colunas
  • how: ‘any’ (remove se algum valor for NA) ou ‘all’ (remove se todos os valores forem NA)
  • subset: colunas específicas para verificar valores NA

Exemplo de uso:

df.fillna(valor)

A função fillna() preenche valores ausentes com um valor específico.

Pode receber como argumento:

  • Um valor escalar (preenche todos os NAs com esse valor)
  • Um dicionário mapeando colunas para valores
  • Métodos como ‘ffill’ (forward fill) ou ‘bfill’ (backward fill)

Exemplo de uso:

Comparativo entre as Abordagens

Vantagens de df.dropna()

  • Remove completamente os dados problemáticos
  • Mantém a integridade dos dados restantes
  • Simples de implementar

Desvantagens de df.dropna()

  • Pode resultar em perda significativa de dados
  • Pode introduzir viés se os valores ausentes não forem completamente aleatórios
  • Não é adequado quando há muitos valores ausentes

Vantagens de df.fillna()

  • Preserva o tamanho do dataset
  • Mantém outras variáveis inalteradas
  • Permite uso de diferentes estratégias de preenchimento

Desvantagens de df.fillna()

  • Pode distorcer distribuições estatísticas
  • Pode introduzir viés se o método de preenchimento for inadequado
  • Valores preenchidos podem não representar a realidade

Conclusão

O tratamento de dados ausentes é fundamental para uma análise precisa. A escolha entre dropna() e fillna() depende do contexto:

  • Use info() para diagnosticar a extensão dos dados ausentes
  • Prefira dropna() quando a perda de dados for aceitável e os valores ausentes forem escassos
  • Use fillna() com estratégias adequadas quando precisar manter todas as observações

Lembre-se que não existe uma solução única – a abordagem deve ser adaptada a cada conjunto de dados e pergunta de pesquisa.

Referências

  • Pandas Documentation: Handling Missing Data
  • McKinney, W. (2017). Python for Data Analysis.
  • VanderPlas, J. (2016). Python Data Science Handbook.


Descoberta de conhecimento e Aprendizado de Máquina

cientista

Descoberta de conhecimento em bancos de dados

KDD é o processo de várias etapas, não trivial , interativo e iterativo.

  • Interativo porquê existe interações homem e máquina.
  • Iterativo porquê sofre refinamentos sucessívos.
  • Objetivo do processo do KDD é a busca pela forma da representação do conhecimento por meio da identificação de padrões (compreensíveis, válidos ao contexto, novos e úteis)

No KDD devemos manter o foco na descoberta de padrões significativos (não apenas técnico, mas também na tomada de decisão).

A busca por padrões úteis nos dados já recebeu nome de:

  • Descoberta de informação,
  • Data Mining (Mineração de Dados),
  • extração de conhecimento,
  • descoberta de informação,
  • arqueologia de dados e
  • processamento de dados

O KDD pode ser dividido em 9 etapas:

  1. Desenvolver um conhecimento prévio para identificar o objetivo do ponto de vista do cliente e compreender a sua aplicação prática no mundo real.
  2. Selecionar um conjunto de dados de onde pretendemos extrair o conhecimento
  3. Limpeza de dados, pré-processamento, remoção de ruídos. Nesta faze utilizamos o Pandas.
  4. Redução e projeção de dados. Encontrar características úteis que representa a função do objetivo da tarefa.
  5. Corrrespodência dos objetivos do processo KDD (primeiros passos), nesta etapa podemos fazer um resumo, classificação por classes, regressão, agrupamento etc.
  6. Análise exploratória e seleção de modelos e hipóteses: Decidir que modelos e parâmetros serão mais apropriados na extração dos padrões.
  7. Prospecção de dados usando aprendizado de máquina
  8. Interpretação de padrões minerados, regressando possivelmente aos passos anteriores.
  9. Atuar na fronteira do conhecimento descoberto ao utilizar diretamente o conhecimento, classificando o conhecimento em outro sistema para ação futura, ou, simplesmente, documentando e comunicando às partes interessadas. Esse processo inclui também a verificação e a resolução de conflitos potenciais com conhecimentos previamente obtidos.

Técnicas Principais:

  • Classificação, hierarquização dos dados baseada em estágios de decisão (nós) e na separação de classes e subconjuntos. (ex: árvores de decisão)
  • Clusterização, se baseia no método do vizinho mais próximo, combina e compara atributos para estabelecer hierarquia de semelhança. (ex: K-means)
  • Algorítmos genéticos, são métodos gerais de busca e otimização, inspirados na Teoria da Evolução, na qual, a cada nova geração, herda características de seus descendentes possibilitando a evolução e aprimoramento.
  • Associação, estabelece uma correlação estatística entre atributos de dados e conjunto de dados. (ex: regras “se…então”)
  • Redes Neurais Artificiais, são modelos inspirados na fisiologia do cérebro, onde o conhecimento é fruto do mapa das conexões neuronais. As conexões são fruto do somatório de pesos calculados no treinamento de máquina.
  • Detecção de anomalias

 

Pode ser Classificado:

  • Tarefas Preditivas
    • Classificação
    • Regresção
  • Tarefas Descritivas
    • Regras de Associação
    • Clustering
    • Sumarização
    • Outras

Pode usar algoritmos de Aprendizado de Máquina, mas também métodos estatísticos e de banco de dados.

O KDD envolve as disciplinas :

  • estatística,
  • banco de dados,
  • inteligência artificial e
  • aprendizado de máquina.

Aprendizado de Máquina

É uma ferramenta/disciplina que tem crescido e se desenvolvido em conjunto com o KDD possibilitando soluções tecnológicas inovadoras na busca de padrões.

Pirâmide do Conhecimento

DADO INFORMAÇÃO CONHECIMENTO SABEDORIA
Dados no Big Data Dados de Interesse Dados processados Dados formatados Dados com contexto Conhecimento

Fluxo KDD

Coleta de Dados Seleção Pré-Processamento Transformação Mineração de Dados Interpretação ou Avaliação
  • Dado bruto
  • Selecionar um sub-conjunto de dados (data set)
  • Seleçãode dados
  • Limpezade Dados
  • Integração dos Dados
  • Transformação dos Dados
  • Redução dos Dados
  • Normalização
  • Agregação
  • Criação de novos atributos
  • Redução
  • Sintetização dos dados
  • Criar modelos
  • Aplicar técnicas de Mineração de Dados
  • Descobrir novos padrões de forma autonoma
  • (Preditiva ou Descritiva)
  • avaliação estatística
  • avaliação dos profissionais de negócio

CRISP_DM

Dado Entendimento do Negócio Entendimento dos Dados Preparação de Dados Modelagem Avaliação Implantação