将星期几二值化
在之前的视频中,我们看到房源在周末发布的可能性非常小。让我们创建一个新字段,用来标记房源是否在工作日发布。在本例中,有一个名为 List_Day_of_Week 的字段,其中周一标记为 1.0,周日为 7.0。我们要把它转换为二值字段:工作日为 0,周末为 1。我们可以使用 PySpark 的特征变换器 Binarizer 来完成。
本练习是课程的一部分
使用 PySpark 进行特征工程
练习说明
- 从
pyspark的ml.feature模块导入特征变换器Binarizer。 - 使用
Binarizer()创建变换器,将设置为 1 的阈值设为周五之后,即 5.0,然后将输入列设为List_Day_of_Week,输出列设为Listed_On_Weekend。 - 使用
transform()在df上应用二值化变换。 - 通过选择
List_Day_of_Week和Listed_On_Weekend列并调用show()来验证变换是否正确。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Import transformer
from pyspark.____.____ import ____
# Create the transformer
binarizer = ____(threshold=____ inputCol=____, outputCol=____)
# Apply the transformation to df
df = binarizer.____(____)
# Verify transformation
df[[____, ____]].____()