开始使用免费开始使用

纠正右偏数据

在幻灯片中,我们演示了如何用对数变换来修正正偏数据(分布主要集中在左侧的数据)。要矫正负偏(分布主要在右侧),在应用 \(\log\) 的逆(写作 1/$\log\()使数据更接近正态分布之前,您需要额外执行一步"反射"。对数据进行反射可使用以下公式对每个值进行变换:\)(x_{\text{max}} + 1) - x$。

本练习是课程的一部分

使用 PySpark 进行特征工程

查看课程

练习说明

  • 使用聚合函数 skewness() 验证 'YEARBUILT' 为负偏。
  • 使用 withColumn() 创建新列 'Reflect_YearBuilt',对 'YEARBUILT' 的取值进行反射。
  • 基于 'Reflect_YearBuilt' 列,通过对其取值执行 1/log(),创建另一列 'adj_yearbuilt'

交互式实操练习

通过完成这段示例代码来试试这个练习。

from pyspark.sql.functions import log

# Compute the skewness
print(df.____({____: ____}).____())

# Calculate the max year
max_year = df.____({____: ____}).____()[0][0]

# Create a new column of reflected data
df = df.____(____, (max_year + 1) - df[____])

# Create a new column based reflected data
df = df.____(____, 1 / ____(df[____]))
编辑并运行代码