Głębsze cechy
W poprzednich ćwiczeniach pokazaliśmy, jak łączenie dwóch cech może tworzyć przydatne dodatkowe cechy dla modelu predykcyjnego. W tym ćwiczeniu wygenerujesz „głębsze" cechy, łącząc wpływ trzech zmiennych w jedną. Następnie sprawdzisz, czy bardziej złożone cechy zawsze przekładają się na lepsze predyktory.
To ćwiczenie jest częścią kursu
Inżynieria cech z PySpark
Instrukcje do ćwiczenia
- Utwórz nową cechę, dodając
SQFTBELOWGROUNDiSQFTABOVEGROUND, i zapisz wynik w nowej kolumnieTotal_SQFT - Korzystając z
Total_SQFT, utwórz kolejną cechę o nazwieBATHS_PER_1000SQFTprzy użyciuBATHSTOTAL. Pamiętaj, aby przeskalowaćTotal_SQFTdo tysięcy - Użyj
describe(), aby sprawdzić nowe wartości min, max i średnią dla najnowszej cechyBATHS_PER_1000SQFT. Czy coś rzuca się w oczy? - Utwórz dwa wykresy
jointplot()zTotal_SQFTiBATHS_PER_1000SQFTjako wartościami \(x\) orazSALESCLOSEPRICEjako wartością \(y\), aby sprawdzić, który zapewnia lepsze dopasowanie R**2. Czy ta bardziej skomplikowana cecha wykazuje silniejszy związek zSALESCLOSEPRICE?
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()