Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Haaste: Puuttuvien Arvojen Imputointi | Datan Esikäsittely Scikit-learnilla
Koneoppimisen Perusteet Scikit-learnilla

bookHaaste: Puuttuvien Arvojen Imputointi

SimpleImputer-luokka on suunniteltu käsittelemään puuttuvia arvoja korvaamalla ne automaattisesti.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Luokan alustusta voidaan mukauttaa asettamalla sen parametreja:

  • missing_value: määrittää puuttuvien arvojen paikkamerkin. Oletuksena tämä on np.nan;
  • strategy: strategia, jota käytetään puuttuvien arvojen imputointiin. Oletusarvo on 'mean';
  • fill_value: määrittää arvon, jota käytetään puuttuvien arvojen täyttämiseen, kun strategy on 'constant'. Oletuksena tämä on None.

Koska kyseessä on muunnin (transformer), sillä on seuraavat metodit:

On myös tarpeen päättää, mitä arvoja käytetään imputointiin.

Yleinen tapa on korvata puuttuvat numeeriset arvot keskiarvolla ja puuttuvat kategoriset arvot moodilla (yleisin arvo), koska tämä vääristää aineiston jakaumaa mahdollisimman vähän.

Valinta tehdään strategy-parametrilla:

  • strategy='mean': imputoi sarakkeen keskiarvolla;
  • strategy='median': imputoi sarakkeen mediaanilla;
  • strategy='most_frequent': imputoi sarakkeen moodilla;
  • strategy='constant': imputoi vakiolla, joka määritetään fill_value-parametrissa.

missing_values-parametri määrittää, mitkä arvot tulkitaan puuttuviksi. Oletuksena tämä on NaN, mutta joissain aineistoissa se voi olla tyhjä merkkijono '' tai jokin muu paikkamerkki.

Note
Huom

SimpleImputer ja monet muut muuntimet toimivat vain DataFramejen kanssa, eivät pandas Series -olioiden kanssa. Kun valitset yksittäisen sarakkeen DataFramesta df['column'], tuloksena on Series. Tämän välttämiseksi voit käyttää kaksoissulkuja df[['column']], jolloin tuloksena on DataFrame:

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

Kun .fit_transform()-luokan SimpleImputer-metodia käytetään, se palauttaa 2D-taulukon. Yhden sarakkeen arvojen asettaminen pandas DataFrameen vaatii 1D-taulukon (tai Seriesin).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

.ravel()-metodia voidaan käyttää taulukon litistämiseen 1D-muotoon ennen sijoitusta:

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

Tämä varmistaa, että imputoidut arvot ovat oikeassa muodossa ja tallennetaan DataFrame-sarakkeeseen.

Tehtävä

Swipe to start coding

Täydennä puuttuvat arvot 'sex'-sarakkeessa käyttämällä SimpleImputer-luokkaa. Koska kyseessä on kategorinen sarake, korvaa NaN-arvot yleisimmällä arvolla.

  1. Tuo SimpleImputer.
  2. Luo SimpleImputer-olio halutulla strategy-parametrilla.
  3. Täydennä 'sex'-sarakkeen puuttuvat arvot käyttämällä imputer-oliota.

Ratkaisu

Hienoa! Käsittelimme puuttuvien arvojen ongelman aineistossamme. Poistimme rivit, joissa oli useampi kuin yksi puuttuva arvo, ja imputoimme 'sex'-sarakkeen yleisimmällä arvolla – MALE.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 4
single

single

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme

Suggested prompts:

Can you explain how to use SimpleImputer for categorical columns?

What are some best practices for choosing the right imputation strategy?

How do I handle missing values that are not NaN, like empty strings?

close

Awesome!

Completion rate improved to 3.13

bookHaaste: Puuttuvien Arvojen Imputointi

Pyyhkäise näyttääksesi valikon

SimpleImputer-luokka on suunniteltu käsittelemään puuttuvia arvoja korvaamalla ne automaattisesti.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Luokan alustusta voidaan mukauttaa asettamalla sen parametreja:

  • missing_value: määrittää puuttuvien arvojen paikkamerkin. Oletuksena tämä on np.nan;
  • strategy: strategia, jota käytetään puuttuvien arvojen imputointiin. Oletusarvo on 'mean';
  • fill_value: määrittää arvon, jota käytetään puuttuvien arvojen täyttämiseen, kun strategy on 'constant'. Oletuksena tämä on None.

Koska kyseessä on muunnin (transformer), sillä on seuraavat metodit:

On myös tarpeen päättää, mitä arvoja käytetään imputointiin.

Yleinen tapa on korvata puuttuvat numeeriset arvot keskiarvolla ja puuttuvat kategoriset arvot moodilla (yleisin arvo), koska tämä vääristää aineiston jakaumaa mahdollisimman vähän.

Valinta tehdään strategy-parametrilla:

  • strategy='mean': imputoi sarakkeen keskiarvolla;
  • strategy='median': imputoi sarakkeen mediaanilla;
  • strategy='most_frequent': imputoi sarakkeen moodilla;
  • strategy='constant': imputoi vakiolla, joka määritetään fill_value-parametrissa.

missing_values-parametri määrittää, mitkä arvot tulkitaan puuttuviksi. Oletuksena tämä on NaN, mutta joissain aineistoissa se voi olla tyhjä merkkijono '' tai jokin muu paikkamerkki.

Note
Huom

SimpleImputer ja monet muut muuntimet toimivat vain DataFramejen kanssa, eivät pandas Series -olioiden kanssa. Kun valitset yksittäisen sarakkeen DataFramesta df['column'], tuloksena on Series. Tämän välttämiseksi voit käyttää kaksoissulkuja df[['column']], jolloin tuloksena on DataFrame:

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

Kun .fit_transform()-luokan SimpleImputer-metodia käytetään, se palauttaa 2D-taulukon. Yhden sarakkeen arvojen asettaminen pandas DataFrameen vaatii 1D-taulukon (tai Seriesin).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

.ravel()-metodia voidaan käyttää taulukon litistämiseen 1D-muotoon ennen sijoitusta:

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

Tämä varmistaa, että imputoidut arvot ovat oikeassa muodossa ja tallennetaan DataFrame-sarakkeeseen.

Tehtävä

Swipe to start coding

Täydennä puuttuvat arvot 'sex'-sarakkeessa käyttämällä SimpleImputer-luokkaa. Koska kyseessä on kategorinen sarake, korvaa NaN-arvot yleisimmällä arvolla.

  1. Tuo SimpleImputer.
  2. Luo SimpleImputer-olio halutulla strategy-parametrilla.
  3. Täydennä 'sex'-sarakkeen puuttuvat arvot käyttämällä imputer-oliota.

Ratkaisu

Hienoa! Käsittelimme puuttuvien arvojen ongelman aineistossamme. Poistimme rivit, joissa oli useampi kuin yksi puuttuva arvo, ja imputoimme 'sex'-sarakkeen yleisimmällä arvolla – MALE.

Switch to desktopVaihda työpöytään todellista harjoitusta vartenJatka siitä, missä olet käyttämällä jotakin alla olevista vaihtoehdoista
Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

close

Awesome!

Completion rate improved to 3.13
Osio 2. Luku 4
single

single

some-alt