Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Oppiskele Puuttuvien Arvojen Käsittely | Datan Puhdistuksen Perusteet
Datan Esikäsittely ja Ominaisuuksien Rakentaminen

bookPuuttuvien Arvojen Käsittely

Puuttuvat tiedot ovat yleisiä todellisissa tietoaineistoissa ja voivat vaikuttaa analyysiin tai malleihin. Puuttuvien tietojen kolme päätyyppiä ovat:

  • Missing Completely at Random (MCAR): puuttuminen ei liity mihinkään tietoihin;
  • Missing at Random (MAR): puuttuminen liittyy vain havaittuihin tietoihin;
  • Missing Not at Random (MNAR): puuttuminen riippuu puuttuvista arvoista itsestään.

Oikean käsittelystrategian valinta riippuu puuttuvien tietojen tyypistä. Huono käsittely voi aiheuttaa harhaisia tuloksia, heikompaa analyysiä ja epäluotettavia ennusteita.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Määritelmä

Imputointi tarkoittaa puuttuvien arvojen korvaamista muilla arvoilla, kuten keskiarvolla, mediaanilla tai moodilla jne. Imputointi auttaa säilyttämään tietoaineiston rakenteen ja koon jatkoanalyysiä tai mallinnusta varten.

Imputointimenetelmien tyypit

Eri tietotyypit vaativat erityisiä imputointistrategioita puuttuvien arvojen käsittelemiseksi tehokkaasti:

  • Keskiarvoimputointi: käytetään numeerisille ominaisuuksille; korvaa puuttuvat arvot havaittujen arvojen keskiarvolla;
  • Mediaani-imputointi: käytetään numeerisille ominaisuuksille, erityisesti vinoissa jakaumissa; korvaa puuttuvat arvot mediaanilla;
  • Moodin imputointi: käytetään kategorisille ominaisuuksille; korvaa puuttuvat arvot yleisimmällä luokalla tai arvoilla;
  • Vakioarvoimputointi: käytetään sekä numeerisille että kategorisille ominaisuuksille; täyttää puuttuvat arvot kiinteällä arvolla, kuten 0, -1 tai 'unknown';
  • Forward fill (ffill): käytetään aikasarjoille tai järjestetyille tiedoille; siirtää viimeisimmän kelvollisen havainnon eteenpäin täyttämään aukot;
  • Backward fill (bfill): käytetään aikasarjoille tai järjestetyille tiedoille; käyttää seuraavaa kelvollista havaintoa täyttämään aukot taaksepäin;
  • Interpolointi: käytetään numeerisille ominaisuuksille, erityisesti aikasarjoissa; arvioi puuttuvat arvot naapuripisteiden perusteella lineaarisilla tai muilla matemaattisilla menetelmillä.

Valitse imputointimenetelmä, joka sopii parhaiten tietotyyppiin ja analyysin kontekstiin.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Huomio

Puuttuvien arvojen poistaminen on nopeaa ja yksinkertaista, mutta voi johtaa arvokkaan datan menetykseen, erityisesti jos puuttuvia arvoja on paljon. Imputointi säilyttää enemmän dataa, mutta voi aiheuttaa harhaa, jos menetelmää ei valita huolellisesti. Harkitse puuttuvien arvojen määrää ja jakautumista sekä ominaisuuden merkitystä ennen kuin päätät poistamisesta tai imputoinnista.

question mark

Missä seuraavista tilanteista on tarkoituksenmukaisinta poistaa rivit, joissa on puuttuvia arvoja, sen sijaan että ne imputoitaisiin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain why you chose mean imputation for 'age' and mode for 'deck'?

What are some potential drawbacks of dropping columns with missing values?

How do I decide which imputation method is best for my dataset?

Awesome!

Completion rate improved to 8.33

bookPuuttuvien Arvojen Käsittely

Pyyhkäise näyttääksesi valikon

Puuttuvat tiedot ovat yleisiä todellisissa tietoaineistoissa ja voivat vaikuttaa analyysiin tai malleihin. Puuttuvien tietojen kolme päätyyppiä ovat:

  • Missing Completely at Random (MCAR): puuttuminen ei liity mihinkään tietoihin;
  • Missing at Random (MAR): puuttuminen liittyy vain havaittuihin tietoihin;
  • Missing Not at Random (MNAR): puuttuminen riippuu puuttuvista arvoista itsestään.

Oikean käsittelystrategian valinta riippuu puuttuvien tietojen tyypistä. Huono käsittely voi aiheuttaa harhaisia tuloksia, heikompaa analyysiä ja epäluotettavia ennusteita.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Määritelmä

Imputointi tarkoittaa puuttuvien arvojen korvaamista muilla arvoilla, kuten keskiarvolla, mediaanilla tai moodilla jne. Imputointi auttaa säilyttämään tietoaineiston rakenteen ja koon jatkoanalyysiä tai mallinnusta varten.

Imputointimenetelmien tyypit

Eri tietotyypit vaativat erityisiä imputointistrategioita puuttuvien arvojen käsittelemiseksi tehokkaasti:

  • Keskiarvoimputointi: käytetään numeerisille ominaisuuksille; korvaa puuttuvat arvot havaittujen arvojen keskiarvolla;
  • Mediaani-imputointi: käytetään numeerisille ominaisuuksille, erityisesti vinoissa jakaumissa; korvaa puuttuvat arvot mediaanilla;
  • Moodin imputointi: käytetään kategorisille ominaisuuksille; korvaa puuttuvat arvot yleisimmällä luokalla tai arvoilla;
  • Vakioarvoimputointi: käytetään sekä numeerisille että kategorisille ominaisuuksille; täyttää puuttuvat arvot kiinteällä arvolla, kuten 0, -1 tai 'unknown';
  • Forward fill (ffill): käytetään aikasarjoille tai järjestetyille tiedoille; siirtää viimeisimmän kelvollisen havainnon eteenpäin täyttämään aukot;
  • Backward fill (bfill): käytetään aikasarjoille tai järjestetyille tiedoille; käyttää seuraavaa kelvollista havaintoa täyttämään aukot taaksepäin;
  • Interpolointi: käytetään numeerisille ominaisuuksille, erityisesti aikasarjoissa; arvioi puuttuvat arvot naapuripisteiden perusteella lineaarisilla tai muilla matemaattisilla menetelmillä.

Valitse imputointimenetelmä, joka sopii parhaiten tietotyyppiin ja analyysin kontekstiin.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Huomio

Puuttuvien arvojen poistaminen on nopeaa ja yksinkertaista, mutta voi johtaa arvokkaan datan menetykseen, erityisesti jos puuttuvia arvoja on paljon. Imputointi säilyttää enemmän dataa, mutta voi aiheuttaa harhaa, jos menetelmää ei valita huolellisesti. Harkitse puuttuvien arvojen määrää ja jakautumista sekä ominaisuuden merkitystä ennen kuin päätät poistamisesta tai imputoinnista.

question mark

Missä seuraavista tilanteista on tarkoituksenmukaisinta poistaa rivit, joissa on puuttuvia arvoja, sen sijaan että ne imputoitaisiin?

Select the correct answer

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 1. Luku 2
some-alt