Conteúdo do Curso
Pré-processamento de Dados
Pré-processamento de Dados
Ideia de Técnica
Engenharia de características - é um processo utilizado em aprendizado de máquina que envolve o uso de dados disponíveis para gerar variáveis adicionais que não existem no conjunto de dados original. Essa técnica pode ser aplicada tanto na aprendizagem supervisionada quanto não supervisionada, com o objetivo de otimizar e acelerar o processamento de dados e também melhorar a precisão do modelo. O objetivo é construir novas características que possam aprimorar o poder preditivo do modelo.
Dependendo da tarefa, o algoritmo de preparação de dados pode mudar, mas o pipeline completo de engenharia de características geralmente se apresenta da seguinte forma:
Vamos passar imediatamente para um exemplo simples para entender a essência da abordagem. Podemos criar novas funcionalidades a partir dos dados de preços de ações usando as bibliotecas pandas
e numpy
:
import pandas as pd import numpy as np # Read the dataset df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/9c23bf60-276c-4989-a9d7-3091716b4507/datasets/stock_prices.csv') # Remove missing values df.dropna(inplace=True) # Normalize the data df['price'] = (df['price'] - df['price'].mean()) / df['price'].std() # Create new features df['price_sq'] = df['price'] ** 2 df['price_diff'] = df['price'].diff() df['price_pct_change'] = df['price'].pct_change() # Create interactive features df['price_company_mean'] = df.groupby('company')['price'].transform('mean') df['price_company_std'] = df.groupby('company')['price'].transform('std') # Convert categorical data to numerical data df = pd.get_dummies(df, columns=['company']) print(df)
Neste exemplo, criamos 5 novas funcionalidades com base nas 2 variáveis originais.
Outro exemplo do que novos dados podemos extrair do que já possuímos. Suponha que você tenha um conjunto de dados com vendas online na sua loja. Ele se parece com isto:
Com base na variável 'Date'
, você pode criar um token booleano para um fim de semana:
Devido a isso, por exemplo, um modelo ARIMA para previsão de vendas funcionará melhor pois será capaz de detectar a relação entre o valor positivo da coluna 'Weekend'
e o aumento das vendas.
Vários métodos são utilizados na implementação de engenharia de recursos, incluindo a remoção de valores discrepantes e faltantes, a normalização de dados, a criação de novos recursos baseados em existentes, a conversão de dados categóricos para numéricos, a criação de recursos interativos, entre outros.
Como avaliar a eficácia de novos ou até mesmo de recursos existentes?
- O desempenho do modelo pode então ser comparado com e sem os novos recursos para ver se eles melhoraram a precisão do modelo;
- Outra abordagem é usar técnicas de importância de recursos, como a importância de permutação ou pontuações de importância de recursos, para determinar a contribuição de cada recurso para a precisão do modelo.
Obrigado pelo seu feedback!