更深入的特征
在前面的练习中,我们展示了将两个特征组合在一起可以为预测模型创造出有用的附加特征。在本练习中,您将把三个变量的影响合并为一个,生成"更深入"的特征。然后,您将检查更深入、也更复杂的特征是否一定会带来更好的预测效果。
本练习是课程的一部分
使用 PySpark 进行特征工程
练习说明
- 通过相加
SQFTBELOWGROUND和SQFTABOVEGROUND来创建一个新特征,并生成新列Total_SQFT。 - 基于
Total_SQFT,使用BATHSTOTAL再创建一个名为BATHS_PER_1000SQFT的特征。请务必将Total_SQFT按千为单位进行缩放。 - 使用
describe()查看我们最新特征BATHS_PER_1000SQFT的新最小值、最大值和均值。有没有发现什么异常? - 使用
Total_SQFT和BATHS_PER_1000SQFT作为 \(x\) 值,SALESCLOSEPRICE作为 \(y\) 值,各创建一个jointplots(),以比较哪个具有更好的 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()