Caractéristiques plus approfondies
Dans les exercices précédents, nous avons montré que combiner deux caractéristiques peut créer de bons attributs supplémentaires pour un modèle prédictif. Dans cet exercice, vous allez générer des caractéristiques « plus profondes » en combinant les effets de trois variables en une seule. Vous vérifierez ensuite si des caractéristiques plus profondes et plus complexes sont toujours de meilleurs prédicteurs.
Cet exercice fait partie du cours
<cours>Feature Engineering avec PySpark</cours>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. Veillez à ramenerTotal_SQFTà des milliers - Utilisez
describe()pour examiner les nouvelles valeurs min, max et mean de notre toute dernière caractéristiqueBATHS_PER_1000SQFT. Remarquez-vous quelque chose d’étrange ? - Créez deux
jointplots()avecTotal_SQFTetBATHS_PER_1000SQFTcomme valeurs en abscisse \(x\) etSALESCLOSEPRICEcomme ordonnée \(y\) pour 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()