Začněte nyníZačněte zdarma

Odstranění statistických odlehlých hodnot

Odstraňování horních N % dat je sice užitečné pro eliminaci zjevně chybných hodnot, ale má jednu nevýhodu: vždy odstraní stejný podíl bodů, i když jsou data správná. Běžně používanou alternativou je odstranit hodnoty, které leží více než tři směrodatné odchylky od průměru. Nejprve vypočítáš průměr a směrodatnou odchylku příslušného sloupce, abys určil/a horní a dolní mez, a tyto meze pak použiješ jako masku pro DataFrame. Tato metoda zajišťuje, že se odstraní jen data skutečně odlišná od zbytku, a pokud jsou hodnoty blízko u sebe, odstraní se jich méně.

Toto cvičení je součástí kurzu

Feature Engineering for Machine Learning in Python

Zobrazit kurz

Pokyny k cvičení

  • Vypočítej směrodatnou odchylku a průměr sloupce ConvertedSalary v DataFrame so_numeric_df.
  • Vypočítej horní a dolní mez jako trojnásobek směrodatné odchylky od průměru v obou směrech.
  • Ořež DataFrame so_numeric_df tak, aby obsahoval pouze řádky, kde hodnota ConvertedSalary leží mezi mezemi lower a upper.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Find the mean and standard dev
std = so_numeric_df['ConvertedSalary'].____
mean = so_numeric_df['ConvertedSalary'].____

# Calculate the cutoff
cut_off = std * 3
lower, upper = mean - cut_off, ____

# Trim the outliers
trimmed_df = so_numeric_df[(so_numeric_df['ConvertedSalary'] < ____) \ 
                           & (so_numeric_df['ConvertedSalary'] > ____)]

# The trimmed box plot
trimmed_df[['ConvertedSalary']].boxplot()
plt.show()
Upravit a spustit kód