Haaste: 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ä onnp.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, kunstrategy
on'constant'
. Oletuksena tämä onNone
.
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äänfill_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.
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.
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.
- Tuo
SimpleImputer
. - Luo
SimpleImputer
-olio halutullastrategy
-parametrilla. - 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
.
Kiitos palautteestasi!
single
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
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?
Awesome!
Completion rate improved to 3.13
Haaste: 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ä onnp.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, kunstrategy
on'constant'
. Oletuksena tämä onNone
.
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äänfill_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.
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.
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.
- Tuo
SimpleImputer
. - Luo
SimpleImputer
-olio halutullastrategy
-parametrilla. - 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
.
Kiitos palautteestasi!
Awesome!
Completion rate improved to 3.13single