Kontrola chybějících dat v poznámkových blocích

Dokončeno

Chybějící data odkazují na nedostatek hodnot v určitých proměnných v datové sadě.

Identifikace a zpracování chybějících dat je zásadním aspektem fáze zkoumání a předběžného zpracování dat v projektu strojového učení a způsob jejich zpracování může výrazně ovlivnit výkon modelu.

Mezi klíčové kroky pro zpracování chybějících dat patří vyhodnocení množství chybějících dat, identifikace povahy chybějících dat a výběr nejlepší metody pro zpracování chybějících hodnot dat.

Identifikace chybějících dat

Pokud chcete zjistit, jestli v datové sadě chybí nějaká data, můžete použít funkce isnull() nebo isna() pandas.

import pandas as pd
import numpy as np

# Create a sample DataFrame with some missing values
data = {
    'A': [1, 2, np.nan],
    'B': [4, np.nan, np.nan],
    'C': [7, 8, 9]
}
df = pd.DataFrame(data)

# Check for missing data
print(df.isnull())

Výsledky:

       A      B      C
0  False  False  False
1  False   True  False
2   True   True  False

Tím se vypíše datový rámec se stejnou velikostí jako df, ale s hodnotou True na pozicích, kde chybí hodnoty (NaN) a False jinde.

Pokud chcete získat celkový počet chybějících hodnot v datovém rámci, můžete použít df.isnull().sum(). Tím se vrátí počet chybějících hodnot pro každý sloupec.

df.isnull().sum()

Výsledky:

A    1
B    2
C    0
dtype: int64

Vyhodnocení povahy chybějících hodnot

V projektu datových věd může dojít k chybějícím hodnotám z různých důvodů a pochopení jejich povahy je pro jejich správné zpracování zásadní.

Tady jsou některé typy chybějících hodnot:

  • Chybí zcela náhodně (MCAR):: Chybějící data nesouvisí s žádnými hodnotami jiných proměnných a je náhodná. Toto je ideální scénář, ale často se nejedná o případ v reálných datech.

  • Chybí náhodně (MAR):: Chybějící data souvisí s hodnotami některých dalších proměnných, ale ne s chybějícími daty. Pokud jsou například ženy s větší pravděpodobností odhalovat svůj počet denních kroků než muži, pak údaje o denních krocích jsou MAR.

  • Missing Not at Random (MNAR):: Chybějící data se vztahují k hodnotám samotných chybějících dat. Například lidé s vyššími platy můžou být méně pravděpodobné, že zpřístupní svůj příjem. Odebráním těchto záznamů by mohlo do modelu dojít k předsudkům, což by zabránilo přesnému vyjádření úplných informací obsažených v datech.

Vysvětlení povahy chybějících hodnot v datové sadě vás může vést k jejich zpracování. V případě MCAR a MAR můžete zvolit metody odstranění nebo imputace. U MNAR by tyto metody mohly představovat předsudky, takže může být lepší shromáždit více dat nebo použít metody založené na modelu, které můžou zpracovávat chybějící hodnoty.

Rozhodnutí o zpracování chybějících dat

Přístup ke zpracování chybějících dat může výrazně ovlivnit výsledky analýzy a výkon modelu. Tady jsou některé strategie, které byste mohli zvážit.

  • Ignorovat: Pokud chybí jenom malé množství dat, nemusí mít významný dopad na výkon modelu.

  • Odebrat: Pokud má určitý řádek nebo sloupec mnoho chybějících hodnot, může být nejlepší ho úplně odebrat.

  • Impute: Vyplňte chybějící hodnoty zadanou hodnotou nebo odhadem (například střední hodnotu, medián, režim nebo pomocí algoritmu strojového učení, jako jsou K-Nearest Neighbors (KNN)).

  • Použijte ji jako novou funkci: Někdy může být skutečnost, že chybí hodnota, použita jako samotná informace. Například v průzkumu produktů můžou nezodpovězené otázky týkající se doporučení produktu znamenat neuspokojení zákazníka. V tomto případě může být nová funkce, která indikuje pravděpodobnost, že zákazník neuspokojuje.

Pro zpracování chybějících dat neexistuje žádné řešení, které by vyhovovalo velikosti. Nejlepší přístup závisí na konkrétních specifikách vaší datové sady a na otázce, na kterou se pokoušíte odpovědět.