Caractéristiques plus approfondies
Dans les exercices précédents, nous avons montré que combiner deux caractéristiques peut créer de bons ajouts pour un modèle prédictif. Dans cet exercice, vous allez générer des caractéristiques « plus profondes » en combinant l'effet de trois variables en une seule. Ensuite, vous vérifierez si des caractéristiques plus profondes et plus complexes donnent toujours de meilleurs prédicteurs.
Cette activité fait partie du cours
Ingénierie des caractéristiques avec PySpark
Instructions de l’exercice
- Créez une nouvelle caractéristique en additionnant
SQFTBELOWGROUNDetSQFTABOVEGROUNDpour créer une nouvelle colonneTotal_SQFT - À partir de
Total_SQFT, créez une autre caractéristique appeléeBATHS_PER_1000SQFTavecBATHSTOTAL. Assurez-vous d'échelonnerTotal_SQFTen milliers - Utilisez
describe()pour examiner les nouvelles valeurs min, max et la moyenne de notre toute dernière caractéristiqueBATHS_PER_1000SQFT. Remarquez-vous quelque chose d'étrange? - Créez deux
jointplots()avecTotal_SQFTetBATHS_PER_1000SQFTcomme valeurs \(x\) etSALESCLOSEPRICEcomme valeur $ypour voir lequel offre le meilleur ajustement R**2. Cette caractéristique plus complexe a-t-elle une relation plus forte avecSALESCLOSEPRICE`?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()