开始使用免费开始使用

更深入的特征

在前面的练习中,我们展示了将两个特征组合在一起可以为预测模型创造出有用的附加特征。在本练习中,您将把三个变量的影响合并为一个,生成"更深入"的特征。然后,您将检查更深入、也更复杂的特征是否一定会带来更好的预测效果。

本练习是课程的一部分

使用 PySpark 进行特征工程

查看课程

练习说明

  • 通过相加 SQFTBELOWGROUNDSQFTABOVEGROUND 来创建一个新特征,并生成新列 Total_SQFT
  • 基于 Total_SQFT,使用 BATHSTOTAL 再创建一个名为 BATHS_PER_1000SQFT 的特征。请务必将 Total_SQFT 按千为单位进行缩放。
  • 使用 describe() 查看我们最新特征 BATHS_PER_1000SQFT 的新最小值、最大值和均值。有没有发现什么异常?
  • 使用 Total_SQFTBATHS_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()
编辑并运行代码