Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära Utmaning: Imputering av saknade värden | Förbehandling av Data med Scikit-learn
Introduktion till maskininlärning med Python
Avsnitt 2. Kapitel 4
single

single

Utmaning: Imputering av saknade värden

Svep för att visa menyn

Klassen SimpleImputer ersätter saknade värden automatiskt.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Viktiga parametrar:

  • missing_value: platshållare som behandlas som saknad (standard np.nan);
  • strategy: metod för att fylla luckor (standard är 'mean');
  • fill_value: används när strategy='constant'.

Som en transformer tillhandahåller den metoder som .fit(), .transform() och .fit_transform().

Valet av metod för att fylla saknade data är avgörande. En vanlig metod:

  • numeriska variabler → medelvärde;
  • kategoriska variabler → mest frekventa värde.

Alternativ för strategy:

  • 'mean' — fyll med medelvärde;
  • 'median' — fyll med median;
  • 'most_frequent' — fyll med typvärde;
  • 'constant' — fyll med ett angivet värde via fill_value.

missing_values definierar vilka värden som behandlas som saknade (standard är NaN, men kan vara '' eller annan markör).

Note
Observera

SimpleImputer förväntar sig en DataFrame, inte en Series. En DataFrame med en kolumn måste väljas med dubbla hakparenteser:

imputer.fit_transform(df[['column']])

fit_transform() returnerar en 2D-array, men tilldelning tillbaka till en DataFrame-kolumn kräver en 1D array. Platta ut resultatet med .ravel():

df['column'] = imputer.fit_transform(df[['column']]).ravel()
Uppgift

Svep för att börja koda

Du har fått en DataFrame df som innehåller pingvindata. Kolumnen 'sex' har saknade värden. Fyll i dessa med den mest frekventa kategorin.

  1. Importera SimpleImputer;
  2. Skapa en imputer med strategy='most_frequent';
  3. Applicera den på df[['sex']];
  4. Tilldela de imputerade värdena tillbaka till df['sex'].

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 2. Kapitel 4
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

some-alt