Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Realização | Engenharia de Recursos
Pré-processamento de Dados
course content

Conteúdo do Curso

Pré-processamento de Dados

Pré-processamento de Dados

1. Breve Introdução
2. Processamento de Dados Quantitativos
3. Processamento de Dados Categóricos
4. Processamento de Dados de Séries Temporais
5. Engenharia de Recursos
6. Passando para as Tarefas

Realização

Agora você tem uma ideia do que inclui o engenheiro de recursos. Vamos avançar para a implementação prática e observar o pipeline completo em ação.

Neste exemplo, demonstraremos todos os pipelines em um único programa para pré-processamento de dados usando o famoso conjunto de dados iris. Prepararemos os dados, extrairemos características, selecionaremos as características mais relevantes, criaremos novas características, normalizaremos e padronizaremos as características, mesclaremos as características, avaliaremos sua qualidade, realizaremos as características e as integraremos para uso em um modelo de aprendizado de máquina.

  1. Preparação de dados: utilizaremos o conjunto de dados iris da biblioteca scikit-learn, que já está pré-processado e limpo.
  2. Leitura de características: utilizaremos as seguintes características do conjunto de dados: Comprimento da sépala, Largura da sépala, Comprimento da pétala, Largura da pétala.
  3. Seleção de características: utilizaremos o método SelectKBest do scikit-learn para selecionar as 2 características mais relevantes com base em sua pontuação de informação mútua.
  4. Criação de características: criaremos uma nova característica chamada 'Razão Sépala para Pétala' dividindo o comprimento da sépala pelo comprimento da pétala.
  5. Padronização: utilizaremos o método StandardScaler do scikit-learn para escalar as características selecionadas.
  6. Fusão de características: mesclaremos as características selecionadas e recém-criadas em um único array.
  7. Avaliação de características: avaliaremos a qualidade das características calculando seus coeficientes de correlação. Características com alta correlação são mais dependentes linearmente e, portanto, têm quase o mesmo efeito na variável dependente. Então, quando duas características têm alta correlação, podemos descartar uma das duas.
  8. Integração e uso: finalmente, integraremos as características realizadas em um modelo de aprendizado de máquina para classificação.

Note que existe uma diferença entre seleção de características e criação de características: seleção de características refere-se ao processo de selecionar um subconjunto das características disponíveis em um conjunto de dados que seja mais relevante ou informativo para uma determinada tarefa de aprendizado de máquina. Criação de características, por outro lado, envolve gerar novas características a partir das existentes a fim de capturar relações mais complexas ou abstratas entre elas.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
# Import libraries from sklearn.datasets import load_iris from sklearn.feature_selection import SelectKBest, mutual_info_classif from sklearn.preprocessing import StandardScaler import numpy as np # Load dataset iris = load_iris() # Read features X = iris.data sepal_length = X[:, 0] sepal_width = X[:, 1] petal_length = X[:, 2] petal_width = X[:, 3] # Create new features sepal_to_petal_ratio = sepal_length / petal_length sepal_to_petal_ratio = np.reshape(sepal_to_petal_ratio, (-1, 1)) sepal_area = sepal_length * sepal_width petal_area = petal_length * petal_width ratio_sepal = sepal_length / sepal_width ratio_petal = petal_length / petal_width # Feature selection kbest = SelectKBest(mutual_info_classif, k=2) X_new = kbest.fit_transform(X, iris.target) # Feature creation X_new = np.hstack((X_new, sepal_to_petal_ratio)) # Scaling scaler = StandardScaler() X_new = scaler.fit_transform(X_new) # Feature merging X_new = np.hstack((X_new, sepal_area.reshape(-1, 1))) X_new = np.hstack((X_new, petal_area.reshape(-1, 1))) X_new = np.hstack((X_new, ratio_sepal.reshape(-1, 1))) X_new = np.hstack((X_new, ratio_petal.reshape(-1, 1))) # Feature evaluation correlation_matrix = np.corrcoef(X_new.T) print('Correlation Matrix:') print(correlation_matrix) X_new = np.array(X_new, np.float32) # Integration and usage # The realized features can now be used in a machine learning model for classification
copy

Qual é a diferença entre seleção de recursos e criação de recursos?

Selecione a resposta correta

Tudo estava claro?

Seção 5. Capítulo 2
We're sorry to hear that something went wrong. What happened?
some-alt