Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Noções Básicas de Seleção de Atributos | Engenharia de Atributos para Aprendizado de Máquina
Pré-Processamento de Dados e Engenharia de Features

bookNoções Básicas de Seleção de Atributos

A seleção de características melhora o desempenho do modelo ao manter apenas as características mais relevantes, reduzindo a complexidade e ajudando a prevenir o overfitting causado por dados irrelevantes ou redundantes.

Note
Definição

Seleção de características é o processo de escolher um subconjunto de variáveis de entrada (features) dos seus dados que são mais relevantes para o problema de modelagem preditiva.

Os métodos de seleção de características incluem revisão manual e técnicas automatizadas. Em tarefas de classificação, utilize testes estatísticos para pontuar as características e selecionar aquelas mais fortemente relacionadas à variável alvo.

Os métodos de seleção de características mais populares se enquadram em três categorias:

  • Métodos filtro: Selecionam características com base em medidas estatísticas, como coeficientes de correlação ou testes univariados, independentemente de qualquer modelo de aprendizado de máquina;
  • Métodos wrapper: Utilizam um modelo preditivo para avaliar diferentes combinações de características, como na eliminação recursiva de características (RFE), e selecionam o subconjunto que proporciona o melhor desempenho do modelo;
  • Métodos embutidos: Realizam a seleção de características como parte do processo de treinamento do modelo, como a regularização Lasso, que remove automaticamente características menos importantes ao reduzir seus coeficientes a zero.

Cada método equilibra compensações entre custo computacional, interpretabilidade e poder preditivo.

1234567891011121314151617181920212223242526
import pandas as pd import seaborn as sns from sklearn.feature_selection import SelectKBest, f_classif from sklearn.preprocessing import LabelEncoder # Load Titanic dataset train = sns.load_dataset('titanic') # Select numeric and categorical columns (excluding target) features = ['pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked'] X = train[features].copy() y = train['survived'] # Encode categorical features X['sex'] = LabelEncoder().fit_transform(X['sex'].astype(str)) X['embarked'] = LabelEncoder().fit_transform(X['embarked'].astype(str)) # Handle missing values by filling with median (for simplicity) X = X.fillna(X.median(numeric_only=True)) # Select top 5 features based on ANOVA F-value selector = SelectKBest(score_func=f_classif, k=5) X_new = selector.fit_transform(X, y) selected_features = X.columns[selector.get_support()] print("Selected features:", list(selected_features))
copy

Neste exemplo, utiliza-se o SelectKBest da scikit-learn com a função de pontuação f_classif para selecionar as cinco características mais relevantes—pclass, sex, parch, fare e embarked—do conjunto de dados Titanic. Este método avalia cada característica individualmente utilizando os valores F de ANOVA e seleciona aquelas com as maiores pontuações. É eficaz para tarefas de classificação, pois foca nas características que melhor separam as classes alvo.

Note
Nota

Selecionar muitas características, especialmente as irrelevantes, pode levar ao overfitting, onde o modelo apresenta bom desempenho nos dados de treinamento, mas desempenho insatisfatório em novos dados não vistos. A seleção criteriosa de características ajuda a reduzir esse risco e resulta em modelos mais robustos.

A seleção de atributos não se trata apenas de melhorar a precisão—ela também torna seus modelos mais rápidos e mais fáceis de interpretar. Ao focar apenas nos atributos mais importantes, você simplifica seus modelos e reduz a chance de aprender ruídos dos dados.

question mark

Qual das seguintes afirmações sobre seleção de atributos é verdadeira?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 8.33

bookNoções Básicas de Seleção de Atributos

Deslize para mostrar o menu

A seleção de características melhora o desempenho do modelo ao manter apenas as características mais relevantes, reduzindo a complexidade e ajudando a prevenir o overfitting causado por dados irrelevantes ou redundantes.

Note
Definição

Seleção de características é o processo de escolher um subconjunto de variáveis de entrada (features) dos seus dados que são mais relevantes para o problema de modelagem preditiva.

Os métodos de seleção de características incluem revisão manual e técnicas automatizadas. Em tarefas de classificação, utilize testes estatísticos para pontuar as características e selecionar aquelas mais fortemente relacionadas à variável alvo.

Os métodos de seleção de características mais populares se enquadram em três categorias:

  • Métodos filtro: Selecionam características com base em medidas estatísticas, como coeficientes de correlação ou testes univariados, independentemente de qualquer modelo de aprendizado de máquina;
  • Métodos wrapper: Utilizam um modelo preditivo para avaliar diferentes combinações de características, como na eliminação recursiva de características (RFE), e selecionam o subconjunto que proporciona o melhor desempenho do modelo;
  • Métodos embutidos: Realizam a seleção de características como parte do processo de treinamento do modelo, como a regularização Lasso, que remove automaticamente características menos importantes ao reduzir seus coeficientes a zero.

Cada método equilibra compensações entre custo computacional, interpretabilidade e poder preditivo.

1234567891011121314151617181920212223242526
import pandas as pd import seaborn as sns from sklearn.feature_selection import SelectKBest, f_classif from sklearn.preprocessing import LabelEncoder # Load Titanic dataset train = sns.load_dataset('titanic') # Select numeric and categorical columns (excluding target) features = ['pclass', 'sex', 'age', 'sibsp', 'parch', 'fare', 'embarked'] X = train[features].copy() y = train['survived'] # Encode categorical features X['sex'] = LabelEncoder().fit_transform(X['sex'].astype(str)) X['embarked'] = LabelEncoder().fit_transform(X['embarked'].astype(str)) # Handle missing values by filling with median (for simplicity) X = X.fillna(X.median(numeric_only=True)) # Select top 5 features based on ANOVA F-value selector = SelectKBest(score_func=f_classif, k=5) X_new = selector.fit_transform(X, y) selected_features = X.columns[selector.get_support()] print("Selected features:", list(selected_features))
copy

Neste exemplo, utiliza-se o SelectKBest da scikit-learn com a função de pontuação f_classif para selecionar as cinco características mais relevantes—pclass, sex, parch, fare e embarked—do conjunto de dados Titanic. Este método avalia cada característica individualmente utilizando os valores F de ANOVA e seleciona aquelas com as maiores pontuações. É eficaz para tarefas de classificação, pois foca nas características que melhor separam as classes alvo.

Note
Nota

Selecionar muitas características, especialmente as irrelevantes, pode levar ao overfitting, onde o modelo apresenta bom desempenho nos dados de treinamento, mas desempenho insatisfatório em novos dados não vistos. A seleção criteriosa de características ajuda a reduzir esse risco e resulta em modelos mais robustos.

A seleção de atributos não se trata apenas de melhorar a precisão—ela também torna seus modelos mais rápidos e mais fáceis de interpretar. Ao focar apenas nos atributos mais importantes, você simplifica seus modelos e reduz a chance de aprender ruídos dos dados.

question mark

Qual das seguintes afirmações sobre seleção de atributos é verdadeira?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 3. Capítulo 1
some-alt