Глибші ознаки
У попередніх вправах ми показали, як поєднання двох ознак може дати корисні додаткові ознаки для прогностичної моделі. У цій вправі ви згенеруєте «глибші» ознаки, поєднавши вплив трьох змінних в одну. Потім перевірите, чи завжди глибші й складніші ознаки є кращими предикторами.
Ця вправа є частиною курсу
Опрацювання ознак у PySpark
Інструкції до вправи
- Створіть нову ознаку, додавши
SQFTBELOWGROUNDіSQFTABOVEGROUND, і створіть новий стовпецьTotal_SQFT - Використовуючи
Total_SQFT, створіть ще одну ознаку під назвоюBATHS_PER_1000SQFTзBATHSTOTAL. Обов'язково масштабутеTotal_SQFTдо тисяч - Використайте
describe(), щоб переглянути нові мінімум, максимум і середнє для нашої найновішої ознакиBATHS_PER_1000SQFT. Чи не помітили чогось дивного? - Створіть два
jointplots()зTotal_SQFTіBATHS_PER_1000SQFTяк значеннями \(x\) таSALESCLOSEPRICEяк значенням \(y\), щоб побачити, яка з ознак має кращу підгонку R**2. Чи має ця складніша ознака сильніший зв'язок ізSALESCLOSEPRICE?
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()