如何从“名字”中获取虚拟变量

数据挖掘 大数据 特征提取 分类数据 pyspark 虚拟变量
2022-03-10 22:41:20

我打算预测使用某些功能的客户的年龄。在建模阶段之前,我需要将一些分类特征转换为虚拟变量。

由于数据集太大(数百万行),当我在 pyspark 中使用 StringIndexer 从名字中获取假人时,我收到以下错误:

org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 25.0 failed 4 times, most recent failure: Lost task 0.3 in stage 25.0 (TID 399, 10.139.64.28, executor 2): org.apache.spark.SparkException: Failed to execute user defined function(StringIndexerModel$$Lambda$6517/699548305: (string) => double)

您能建议任何更好的方法将名字转换为虚拟变量吗?

1个回答

看来您正在编写一个用户定义的函数来解析数据Failed to execute user defined function(StringIndexerModel$$Lambda$6517/699548305: (string)最好使用内置的 Spark 功能(更具可扩展性)。

解析字符串后,使用OneHotEncoderEstimator生成虚拟变量。