Leitura de Dados a partir de arquivos Excel

Leitura de Dados a partir de arquivos ExcelObjetivoArquivo Exemplo ExcelCódigo Python/Keras para Leitura e ProcessamentoVersão Alternativa com Especificação Explícita das ColunasSeparação Personalizada de Treino/TesteDicas Adicionais1. Pré-processamentoO que fazem as funções fit_transform e transform?Função fit_transform()Sintaxe de UsoQuando Usar fit_transform()?Cuidados ImportantesReferências2. Validação de Dados 3. Manter Comentários


Objetivo

Suponha que se queria proceder à leitura de dados para conjuntos de treino e testes de uma rede neural usando Python/Keras, à partir de arquivos Excel usando Python/Pandas para ler o arquivo com os dados.

Arquivo Exemplo Excel

Segue abaixo um exemplo de arquivo Excel (dados_treinamento.xlsx):

TemperaturaUmidadePressaoVelocidadeVentoPrecipitacaoAlertaTempestadeComentario
28.50.65101312.30.00Dia normal
32.10.72100525.75.21Possível tempestade
22.30.5810188.10.00Dia fresco
30.70.8599035.215.81Tempestade iminente
.....................

Neste exemplo:

Código Python/Keras para Leitura e Processamento

Versão Alternativa com Especificação Explícita das Colunas

Se preferir especificar explicitamente quais colunas são entrada e saída:

Separação Personalizada de Treino/Teste

Se você quiser definir manualmente quais linhas são para treino e quais são para teste (por exemplo, usando uma coluna específica no Excel):

Dicas Adicionais

1. Pré-processamento

Normalize os dados antes do treinamento:

O que fazem as funções fit_transform e transform?

A função fit_transform() do StandardScaler no Scikit-Learn é uma ferramenta (essencial) para pré-processamento de dados em Machine Learning, especialmente útil para redes neurais e algoritmos sensíveis à escala dos dados.

Função fit_transform()
  1. Normalização dos Dados:
    Transforma os dados para ter média zero (μ = 0) e desvio padrão unitário (σ = 1).

    Ver: Importância de dados com média zero e desvio padrão unitário, se for o caso.
    Equação:

    • Onde:

      • valor original
      • média das features
      • desvio padrão das features
  2. Dupla Função:

    • fit(): Calcula a média e o desvio padrão dos dados.
    • transform(): Aplica a transformação (normalização).

    fit_transform() faz ambos de uma vez (otimizado para eficiência).

Sintaxe de Uso

Saída (dados normalizados):

Quando Usar fit_transform()?
  1. Antes de Algoritmos Sensíveis à Escala:

    • Redes neurais (Keras, PyTorch).
    • SVM (Support Vector Machines).
    • K-Means (clustering).
    • PCA (análise de componentes principais).
  2. Evitar Viés (Bias) em Features de Diferentes Escalas:

    • Exemplo: Se uma feature varia de 0 a 1 e outra de 0 a 1000, a segunda dominará o modelo se não for normalizada.
  3. Acelerar a Convergência em Gradiente Descendente (importante para deep learning).

 

Cuidados Importantes
  1. Só Use fit_transform() nos Dados de Treino!
    Para evitar data leakage, nunca use em dados de teste. Em vez disso:

  2. Não Use em Dados Categóricos (apenas numéricos contínuos).

  3. Se Houver Outliers, considere RobustScaler (baseado em medianas) em vez de StandardScaler.

Referências


2. Validação de Dados

A idéia aqui é "filtrar" os dados para evitar desde o problema mais óbvio de entradas inesperadads (por exemplo, strings em campos numéricos), mas também padrões inconsistentes ou incorretos que possam levar uma "polarização" (bias) indesejado, sobre-aprendizado sobre dados com muito ruído (a rede aprende com o ruído), falhas silenciosas (percebidas durante uso devido à previsões absurdas realizadas, o efeito "hallucination"), problemas de escalonamento (faixas absurdas de valores para algumas entradas) e vazamento de dados (maus conjuntos de treino e testes).

Para uma avaliação mais robusta, veja Validação de Dados.

 

3. Manter Comentários

Se quiser manter os comentários para eventuais futuras referências:


Fernando Passold, 29/03/2025