Aan de slagBegin gratis

Diepere features

In eerdere oefeningen lieten we zien hoe het combineren van twee features goede extra features kan opleveren voor een voorspellend model. In deze oefening ga je ‘diepere’ features maken door de effecten van drie variabelen te combineren tot één. Daarna kijk je of diepere en ingewikkeldere features altijd betere voorspellers opleveren.

Deze oefening maakt deel uit van de cursus

Feature Engineering met PySpark

Bekijk cursus

Oefeninstructies

  • Maak een nieuwe feature door SQFTBELOWGROUND en SQFTABOVEGROUND op te tellen en maak een nieuwe kolom Total_SQFT
  • Gebruik Total_SQFT om nóg een feature te maken, BATHS_PER_1000SQFT, met BATHSTOTAL. Zorg dat je Total_SQFT schaalt naar duizendtallen
  • Gebruik describe() om de nieuwe min, max en mean van onze nieuwste feature BATHS_PER_1000SQFT te bekijken. Valt je iets geks op?
  • Maak twee jointplots() met Total_SQFT en BATHS_PER_1000SQFT als de \(x\)-waarden en SALESCLOSEPRICE als de \(y\)-waarde om te zien welke een betere R**2-fit heeft. Heeft deze ingewikkeldere feature een sterkere relatie met SALESCLOSEPRICE?

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

# Create new feature by adding two features together
df = df.____(____, df[____] + df[____])

# Create additional new feature using previously created feature
df = df.____(____, df[____] / (df[____] / ____))
df[[____]].____().show()

# Sample and create pandas dataframe
pandas_df = df.sample(False, 0.5, 0).toPandas()

# Linear model plots
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
sns.jointplot(x=____, y=____, data=pandas_df, kind="reg", stat_func=r2)
plt.show()
Code bewerken en uitvoeren