Noçõ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.
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.
1234567891011121314151617181920212223242526import 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))
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.
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.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 8.33
Noçõ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.
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.
1234567891011121314151617181920212223242526import 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))
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.
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.
Obrigado pelo seu feedback!