Eliminarea valorilor aberante statistice
Deși eliminarea primelor N% din date este utilă pentru a scăpa de punctele cu adevărat eronate, are dezavantajul că îndepărtează întotdeauna aceeași proporție de puncte, chiar dacă datele sunt corecte. O alternativă frecvent utilizată este eliminarea datelor situate la mai mult de trei abateri standard față de medie. Poți implementa această abordare calculând mai întâi media și abaterea standard ale coloanei relevante pentru a determina limitele superioară și inferioară, apoi aplicând aceste limite ca mască pe DataFrame. Această metodă garantează că sunt eliminate doar datele cu adevărat diferite de restul și va elimina mai puține puncte atunci când datele sunt grupate strâns.
Acest exercițiu face parte din cursul
Ingineria caracteristicilor pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Calculează abaterea standard și media coloanei
ConvertedSalarydinso_numeric_df. - Calculează limitele superioară și inferioară ca trei abateri standard față de medie, în ambele direcții.
- Filtrează DataFrame-ul
so_numeric_dfpentru a păstra doar rândurile în careConvertedSalaryse încadrează între limitelelowerșiupper.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()