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 tietoja 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, jolla puuttuvat arvot täytetään. Oletusarvo on 'mean';
  • fill_value: määrittää arvon, jolla puuttuvat arvot täytetään, 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.

Valintaa ohjataan strategy-parametrilla:

  • strategy='mean': imputoi kunkin sarakkeen keskiarvolla;
  • strategy='median': imputoi kunkin sarakkeen mediaanilla;
  • strategy='most_frequent': imputoi kunkin 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 joissakin aineistoissa se voi olla tyhjä merkkijono '' tai muu paikkamerkki.

Note
Huomio

SimpleImputer ja monet muut muuntimet toimivat vain DataFramejen kanssa, eivät pandas Series -olioiden kanssa. Yhden sarakkeen valitseminen DataFramesta df['column'] palauttaa Series-olion. Tämän välttämiseksi voit käyttää kaksois-sulkuja df[['column']], jolloin palautetaan 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äen SimpleImputer-luokkaa. Koska kyseessä on kategorinen sarake, korvaa NaN-arvot yleisimmällä arvolla.

  1. Tuo SimpleImputer-luokka.
  2. Luo SimpleImputer-olio halutulla strategy-parametrilla.
  3. Täydennä 'sex'-sarakkeen puuttuvat arvot käyttäen 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

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 tietoja 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, jolla puuttuvat arvot täytetään. Oletusarvo on 'mean';
  • fill_value: määrittää arvon, jolla puuttuvat arvot täytetään, 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.

Valintaa ohjataan strategy-parametrilla:

  • strategy='mean': imputoi kunkin sarakkeen keskiarvolla;
  • strategy='median': imputoi kunkin sarakkeen mediaanilla;
  • strategy='most_frequent': imputoi kunkin 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 joissakin aineistoissa se voi olla tyhjä merkkijono '' tai muu paikkamerkki.

Note
Huomio

SimpleImputer ja monet muut muuntimet toimivat vain DataFramejen kanssa, eivät pandas Series -olioiden kanssa. Yhden sarakkeen valitseminen DataFramesta df['column'] palauttaa Series-olion. Tämän välttämiseksi voit käyttää kaksois-sulkuja df[['column']], jolloin palautetaan 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äen SimpleImputer-luokkaa. Koska kyseessä on kategorinen sarake, korvaa NaN-arvot yleisimmällä arvolla.

  1. Tuo SimpleImputer-luokka.
  2. Luo SimpleImputer-olio halutulla strategy-parametrilla.
  3. Täydennä 'sex'-sarakkeen puuttuvat arvot käyttäen 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!

Osio 2. Luku 4
single

single

some-alt