Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grundlæggende om Feature Selection | Feature Engineering for Maskinlæring
Datapræprocessering og Feature Engineering

bookGrundlæggende om Feature Selection

Feature selection forbedrer modelpræstationen ved kun at beholde de mest relevante features, reducere kompleksiteten og hjælpe med at forhindre overfitting forårsaget af irrelevante eller redundante data.

Note
Definition

Feature selection er processen med at vælge et delmængde af inputvariabler (features) fra dine data, som er mest relevante for det prædiktive modelleringsproblem.

Metoder til feature selection omfatter manuel gennemgang og automatiserede teknikker. Ved klassifikationsopgaver anvendes statistiske tests til at vurdere features og vælge dem, der har den stærkeste relation til målvariablen.

De mest populære metoder til feature selection falder i tre kategorier:

  • Filtermetoder: Udvælger features baseret på statistiske mål, såsom korrelationskoefficienter eller univariate tests, uafhængigt af en maskinlæringsmodel;
  • Wrappermetoder: Anvender en prædiktiv model til at evaluere forskellige kombinationer af features, for eksempel med recursive feature elimination (RFE), og vælger det delmængde, der giver den bedste modelpræstation;
  • Indlejrede metoder: Udfører feature selection som en del af modeltræningen, såsom Lasso-regularisering, der automatisk fjerner mindre vigtige features ved at reducere deres koefficienter til nul.

Hver metode balancerer kompromiser mellem beregningsomkostning, fortolkelighed og prædiktiv styrke.

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

I dette eksempel anvendes SelectKBest fra scikit-learn med scoringsfunktionen f_classif til at udvælge de fem mest relevante features—pclass, sex, parch, fare og embarked—fra Titanic-datasættet. Denne metode evaluerer hver feature individuelt ved hjælp af ANOVA F-værdier og vælger dem med de højeste scorer. Det er effektivt til klassifikationsopgaver, da det fokuserer på features, der bedst adskiller målklasserne.

Note
Bemærk

Udvælgelse af for mange features, især irrelevante, kan føre til overfitting, hvor modellen præsterer godt på træningsdata, men dårligt på nye, usete data. Omhyggelig feature-udvælgelse reducerer denne risiko og giver mere robuste modeller.

Feature selection handler ikke kun om at forbedre nøjagtighed—det gør også dine modeller hurtigere og nemmere at fortolke. Ved kun at fokusere på de vigtigste features forenkler du dine modeller og mindsker risikoen for at lære støj fra dataene.

question mark

Hvilket af følgende udsagn om feature selection er sand?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 8.33

bookGrundlæggende om Feature Selection

Stryg for at vise menuen

Feature selection forbedrer modelpræstationen ved kun at beholde de mest relevante features, reducere kompleksiteten og hjælpe med at forhindre overfitting forårsaget af irrelevante eller redundante data.

Note
Definition

Feature selection er processen med at vælge et delmængde af inputvariabler (features) fra dine data, som er mest relevante for det prædiktive modelleringsproblem.

Metoder til feature selection omfatter manuel gennemgang og automatiserede teknikker. Ved klassifikationsopgaver anvendes statistiske tests til at vurdere features og vælge dem, der har den stærkeste relation til målvariablen.

De mest populære metoder til feature selection falder i tre kategorier:

  • Filtermetoder: Udvælger features baseret på statistiske mål, såsom korrelationskoefficienter eller univariate tests, uafhængigt af en maskinlæringsmodel;
  • Wrappermetoder: Anvender en prædiktiv model til at evaluere forskellige kombinationer af features, for eksempel med recursive feature elimination (RFE), og vælger det delmængde, der giver den bedste modelpræstation;
  • Indlejrede metoder: Udfører feature selection som en del af modeltræningen, såsom Lasso-regularisering, der automatisk fjerner mindre vigtige features ved at reducere deres koefficienter til nul.

Hver metode balancerer kompromiser mellem beregningsomkostning, fortolkelighed og prædiktiv styrke.

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

I dette eksempel anvendes SelectKBest fra scikit-learn med scoringsfunktionen f_classif til at udvælge de fem mest relevante features—pclass, sex, parch, fare og embarked—fra Titanic-datasættet. Denne metode evaluerer hver feature individuelt ved hjælp af ANOVA F-værdier og vælger dem med de højeste scorer. Det er effektivt til klassifikationsopgaver, da det fokuserer på features, der bedst adskiller målklasserne.

Note
Bemærk

Udvælgelse af for mange features, især irrelevante, kan føre til overfitting, hvor modellen præsterer godt på træningsdata, men dårligt på nye, usete data. Omhyggelig feature-udvælgelse reducerer denne risiko og giver mere robuste modeller.

Feature selection handler ikke kun om at forbedre nøjagtighed—det gør også dine modeller hurtigere og nemmere at fortolke. Ved kun at fokusere på de vigtigste features forenkler du dine modeller og mindsker risikoen for at lære støj fra dataene.

question mark

Hvilket af følgende udsagn om feature selection er sand?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 3. Kapitel 1
some-alt