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 Esikäsittely Scikit-learnilla
Koneoppimisen Perusteet Scikit-learnilla

bookPuuttuvien Arvojen Käsittely

Vain rajallinen määrä koneoppimismalleja pystyy käsittelemään puuttuvia arvoja, joten aineisto on tarkistettava, jotta varmistetaan, ettei aukkoja jää. Jos puuttuvia arvoja löytyy, ne voidaan käsitellä kahdella tavalla:

  • Poistamalla rivit, jotka sisältävät puuttuvia arvoja;
  • Täyttämällä tyhjät solut korvaavilla arvoilla, prosessi tunnetaan nimellä imputointi.

Puuttuvien arvojen tunnistaminen

Yleisten tietojen tulostamiseen aineistosta ja puuttuvien arvojen tarkistamiseen voidaan käyttää DataFrame:n .info()-metodia.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Aineistossa on 344 havaintoa, mutta sarakkeissa 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' ja 'sex' on vähemmän kuin 344 ei-null-arvoa, mikä osoittaa puuttuvien tietojen olemassaolon.

Note
Huomautus

Null on toinen nimitys puuttuville arvoille.

Puuttuvien arvojen määrän tunnistamiseksi kussakin sarakkeessa käytetään .isna()-metodia ja sen jälkeen .sum()-metodia.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Rivit, jotka sisältävät puuttuvia arvoja, voidaan näyttää seuraavasti: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Rivien poistaminen

Ensimmäinen ja viimeinen rivi sisältävät vain kohteen ('species') ja 'island'-sarakkeen arvot, tarjoten liian vähän tietoa ollakseen hyödyllisiä. Nämä rivit voidaan poistaa säilyttämällä vain ne rivit, joissa on vähemmän kuin kaksi NaN-arvoa, ja tallentamalla ne uudelleen muuttujaan df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Sen sijaan jäljelle jäävät rivit sisältävät hyödyllistä tietoa, ja NaN-arvoja esiintyy vain 'sex'-sarakkeessa. Näiden rivien poistamisen sijaan puuttuvat arvot voidaan imputoida. Yleinen tapa on käyttää SimpleImputer-muuntajaa, jota käsitellään seuraavassa luvussa.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3

Kysy tekoälyä

expand

Kysy tekoälyä

ChatGPT

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

Suggested prompts:

Can you explain more about how imputing works?

What are some other ways to handle missing values besides removing or imputing?

Why is it important to handle missing values before training a machine learning model?

Awesome!

Completion rate improved to 3.13

bookPuuttuvien Arvojen Käsittely

Pyyhkäise näyttääksesi valikon

Vain rajallinen määrä koneoppimismalleja pystyy käsittelemään puuttuvia arvoja, joten aineisto on tarkistettava, jotta varmistetaan, ettei aukkoja jää. Jos puuttuvia arvoja löytyy, ne voidaan käsitellä kahdella tavalla:

  • Poistamalla rivit, jotka sisältävät puuttuvia arvoja;
  • Täyttämällä tyhjät solut korvaavilla arvoilla, prosessi tunnetaan nimellä imputointi.

Puuttuvien arvojen tunnistaminen

Yleisten tietojen tulostamiseen aineistosta ja puuttuvien arvojen tarkistamiseen voidaan käyttää DataFrame:n .info()-metodia.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

Aineistossa on 344 havaintoa, mutta sarakkeissa 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' ja 'sex' on vähemmän kuin 344 ei-null-arvoa, mikä osoittaa puuttuvien tietojen olemassaolon.

Note
Huomautus

Null on toinen nimitys puuttuville arvoille.

Puuttuvien arvojen määrän tunnistamiseksi kussakin sarakkeessa käytetään .isna()-metodia ja sen jälkeen .sum()-metodia.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Rivit, jotka sisältävät puuttuvia arvoja, voidaan näyttää seuraavasti: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Rivien poistaminen

Ensimmäinen ja viimeinen rivi sisältävät vain kohteen ('species') ja 'island'-sarakkeen arvot, tarjoten liian vähän tietoa ollakseen hyödyllisiä. Nämä rivit voidaan poistaa säilyttämällä vain ne rivit, joissa on vähemmän kuin kaksi NaN-arvoa, ja tallentamalla ne uudelleen muuttujaan df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Sen sijaan jäljelle jäävät rivit sisältävät hyödyllistä tietoa, ja NaN-arvoja esiintyy vain 'sex'-sarakkeessa. Näiden rivien poistamisen sijaan puuttuvat arvot voidaan imputoida. Yleinen tapa on käyttää SimpleImputer-muuntajaa, jota käsitellään seuraavassa luvussa.

Oliko kaikki selvää?

Miten voimme parantaa sitä?

Kiitos palautteestasi!

Osio 2. Luku 3
some-alt