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
Oefeninstructies
- Maak een nieuwe feature door
SQFTBELOWGROUNDenSQFTABOVEGROUNDop te tellen en maak een nieuwe kolomTotal_SQFT - Gebruik
Total_SQFTom nóg een feature te maken,BATHS_PER_1000SQFT, metBATHSTOTAL. Zorg dat jeTotal_SQFTschaalt naar duizendtallen - Gebruik
describe()om de nieuwe min, max en mean van onze nieuwste featureBATHS_PER_1000SQFTte bekijken. Valt je iets geks op? - Maak twee
jointplots()metTotal_SQFTenBATHS_PER_1000SQFTals de \(x\)-waarden enSALESCLOSEPRICEals de \(y\)-waarde om te zien welke een betere R**2-fit heeft. Heeft deze ingewikkeldere feature een sterkere relatie metSALESCLOSEPRICE?
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()