Caracteristici mai profunde
În exercițiile anterioare am arătat cum combinarea a două caracteristici poate genera atribute suplimentare utile pentru un model predictiv. În acest exercițiu, vei crea caracteristici „mai profunde" combinând efectele a trei variabile într-una singură. Apoi vei verifica dacă atributele mai complexe conduc întotdeauna la predicții mai bune.
Acest exercițiu face parte din cursul
Feature Engineering cu PySpark
Instrucțiuni pentru exercițiu
- Creează o nouă caracteristică adunând
SQFTBELOWGROUNDșiSQFTABOVEGROUNDși salvează rezultatul într-o nouă coloană numităTotal_SQFT - Folosind
Total_SQFT, creează o altă caracteristică numităBATHS_PER_1000SQFTîmpreună cuBATHSTOTAL. Asigură-te că scaleziTotal_SQFTla mii - Folosește
describe()pentru a inspecta noul minim, maxim și medie ale caracteristiciiBATHS_PER_1000SQFT. Observi ceva neobișnuit? - Creează două grafice
jointplots()cuTotal_SQFTși, respectiv,BATHS_PER_1000SQFTca valori pe axa \(x\) șiSALESCLOSEPRICEca valoare pe axa \(y\), pentru a vedea care dintre ele are un coeficient R**2 mai bun. Această caracteristică mai complexă are o relație mai puternică cuSALESCLOSEPRICE?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()