Filtrarea câmpurilor numerice condiționat
Înțelegerea contextului datelor tale este extrem de importantă. Vrem să știm care este intervalul normal de prețuri de vânzare pentru case. Asigură-te că excludem locuințele atipice care s-au vândut cu mult peste sau sub medie. Vom calcula media și deviația standard, pe care le vom folosi pentru a filtra câmpul aproximativ normal log_SalesClosePrice.
Acest exercițiu face parte din cursul
Feature Engineering cu PySpark
Instrucțiuni pentru exercițiu
- Importă
mean()șistddev()dinpyspark.sql.functions. - Folosește
agg()pentru a calcula media și deviația standard pentru'log_SalesClosePrice'cu funcțiile importate. - Creează limitele superioară și inferioară adăugând, respectiv scăzând,
mean_val+/- 3 înmulțit custddev_val. - Creează un filtru
where()pentru'log_SalesClosePrice'folosind atâtlow_bound, cât șihi_bound.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
from ____ import ____, ____
# Calculate values used for outlier filtering
mean_val = df.____({____: ____}).collect()[0][0]
stddev_val = df.____({____: ____}).collect()[0][0]
# Create three standard deviation (μ ± 3σ) lower and upper bounds for data
low_bound = ____ - (3 * ____)
hi_bound = ____ + (3 * ____)
# Filter the data to fit between the lower and upper bounds
df = df.____((df[____] < ____) ____ (df[____] > ____))