Zacznij terazZacznij za darmo

Usuwanie wartości odstających metodą statystyczną

Usuwanie górnych N% danych jest przydatne, gdy chcemy pozbyć się wyraźnie błędnych punktów, ale ma jedną wadę: zawsze eliminuje tę samą proporcję danych, nawet jeśli są one prawidłowe. Popularną alternatywą jest usuwanie obserwacji oddalonych o więcej niż trzy odchylenia standardowe od średniej. Aby to zrealizować, oblicz średnią i odchylenie standardowe odpowiedniej kolumny, wyznacz górną i dolną granicę, a następnie zastosuj je jako maskę dla ramki danych. Ta metoda usuwa tylko dane naprawdę różniące się od reszty – jeśli dane są skupione blisko siebie, usuniętych punktów będzie mniej.

To ćwiczenie jest częścią kursu

Inżynieria cech w uczeniu maszynowym w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Oblicz odchylenie standardowe i średnią kolumny ConvertedSalary z ramki danych so_numeric_df.
  • Wyznacz górną i dolną granicę jako wartości oddalone o trzy odchylenia standardowe od średniej w obu kierunkach.
  • Ogranicz ramkę danych so_numeric_df do wierszy, w których wartość ConvertedSalary mieści się między lower a upper.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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()
Edytuj i uruchom kod