Tiefere Features
In vorherigen Übungen haben wir gezeigt, wie das Kombinieren zweier Features zusätzliche, nützliche Features für ein Vorhersagemodell erzeugen kann. In dieser Übung erzeugst du „tiefere“ Features, indem du die Effekte von drei Variablen in einem zusammenfasst. Anschließend prüfst du, ob tiefere und kompliziertere Features immer bessere Prädiktoren sind.
Diese Übung ist Teil des Kurses
<Kurs>Feature Engineering mit PySpark</Kurs>Übungsanweisungen
- Erzeuge ein neues Feature, indem du
SQFTBELOWGROUNDundSQFTABOVEGROUNDaddierst und eine neue SpalteTotal_SQFTanlegst - Verwende
Total_SQFT, um ein weiteres Feature namensBATHS_PER_1000SQFTmitBATHSTOTALzu erstellen. Achte darauf,Total_SQFTauf Tausender zu skalieren - Nutze
describe(), um das neue Minimum, Maximum und den Mittelwert unseres neuesten FeaturesBATHS_PER_1000SQFTzu betrachten. Fällt dir etwas Seltsames auf? - Erstelle zwei
jointplots()mitTotal_SQFTundBATHS_PER_1000SQFTals \(x\)-Werten undSALESCLOSEPRICEals \(y\)-Wert, um zu sehen, welches die bessere R2-Anpassung hat. Hat dieses komplexere Feature eine stärkere Beziehung zuSALESCLOSEPRICE?
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()