Python Academy · leksjon

Funksjonsutvikling og -utvelging

Oppdag teknikker for å forbedre modellenes prediksjonsevne.

Leksjon 4 av 611 trinn

Funksjonsutvikling og -utvelging er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 4 av 6. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 6 leksjoner.

Feature engineering og utvelging

Feature engineering og utvelging er avgjørende trinn når De bygger effektive maskinlæringsmodeller. Disse prosessene innebærer å opprette nye egenskaper og velge ut de mest relevante for å forbedre modellens ytelse.

I denne leksjonen lærer De teknikker for feature engineering og utvelging som kan forbedre prediksjonsnøyaktigheten.

Funksjonsutvikling og -utvelging — illustrasjon 1

Hva er feature engineering?

Feature engineering innebærer å opprette nye egenskaper fra rådata for å gjøre maskinlæringsmodeller mer effektive. Eksempler er:

  • Å hente ut tidsbaserte egenskaper som dag, måned eller time fra tidsstempler.
  • Å kombinere flere egenskaper til en ny egenskap.
  • Å skalere numeriske egenskaper for å standardisere området deres.

Opprette nye egenskaper

La oss opprette nye egenskaper basert på eksisterende data:

# Example: Creating new features
import pandas as pd

data = {'Timestamp': ['2025-01-01 12:00:00', '2025-01-02 15:30:00']}
df = pd.DataFrame(data)
df['Hour'] = pd.to_datetime(df['Timestamp']).dt.hour
df['Day'] = pd.to_datetime(df['Timestamp']).dt.day
print(df)

Skalere egenskaper

Skalering sørger for at alle numeriske egenskaper er på samme skala, noe som forbedrer modellens ytelse:

# Example: Scaling features
from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler()
values = [[10], [20], [30]]
scaled_values = scaler.fit_transform(values)
print(scaled_values)

Utvelging av egenskaper

Utvelging av egenskaper innebærer å velge de mest relevante egenskapene for modellen. Vanlige teknikker omfatter:

  • Filtermetoder: Å velge ut egenskaper basert på statistiske mål som korrelasjon.
  • Wrapper-metoder: Å bruke algoritmer som Recursive Feature Elimination (RFE).
  • Innebygde metoder: Å velge ut egenskaper under modelltreningen, for eksempel Lasso-regresjon.

Korrelasjonsbasert utvelging av egenskaper

Svært korrelerte egenskaper kan være overflødige. Bruk Pandas til å beregne korrelasjoner:

# Example: Correlation-based feature selection
import pandas as pd

data = {'Feature1': [1, 2, 3], 'Feature2': [2, 4, 6], 'Feature3': [1, 1, 1]}
df = pd.DataFrame(data)
print(df.corr())

Recursive Feature Elimination (RFE)

RFE er en wrapper-metode som trinnvis fjerner de minst viktige egenskapene:

# Example: RFE
from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = LogisticRegression()
rfe = RFE(model, n_features_to_select=2)
rfe.fit(X, y)
print("Selected Features:", rfe.support_)

Egenskapsviktighet med trebaserte modeller

Trebaserte modeller som Random Forests gir poengsummer for egenskapenes viktighet:

# Example: Feature importance
from sklearn.ensemble import RandomForestClassifier

X = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
y = [0, 1, 0]
model = RandomForestClassifier()
model.fit(X, y)
print("Feature Importances:", model.feature_importances_)

Vanlige feil ved feature engineering

Her er noen feil De bør unngå:

  • Å opprette for mange egenskaper, noe som kan føre til overtilpasning.
  • Å overse behovet for skalering i avstandsbaserte algoritmer.
  • Å bruke svært korrelerte egenskaper, noe som fører til overflødig informasjon.

Hva har De lært?

I denne leksjonen har De lært:

  • Hvor viktig feature engineering og utvelging er i maskinlæring.
  • Teknikker for å opprette nye egenskaper og skalere numeriske egenskaper.
  • Hvordan De velger ut relevante egenskaper ved hjelp av metoder som RFE og trebaserte modeller.
  • Vanlige feil De bør unngå under feature engineering.

Godt jobbet! La oss gå videre til neste tema.

Funksjonsutvikling og -utvelging — illustrasjon 11
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Funksjonsutvikling og -utvelging» gratis?

Ja – hele teksten i «Funksjonsutvikling og -utvelging» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 6 leksjoner.

Hva lærer jeg i «Funksjonsutvikling og -utvelging»?

Oppdag teknikker for å forbedre modellenes prediksjonsevne. Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 6.

Hvor lang tid tar leksjonen «Funksjonsutvikling og -utvelging»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Introduksjon til maskinlæring
  2. Veiledet læring med Scikit-Learn
  3. Ikke-veiledet læring
  4. Funksjonsutvikling og -utvelging
  5. Introduksjon til nevrale nettverk
  6. Introduksjon til TensorFlow og Keras
← Tilbake til Python Academy