Pyspark-TypeError:在Spark MLlib中使用OneHotEncoder时无法调用'Column'对象

问题描述

我是pyspark和Apache Spark机器学习库的新手。 我正在尝试将OneHotEncoder应用于Spark MLlib中的几个分类列。 首先,我使用stringIndexer,它可以正常工作。

categoricalColumns是我在数据集中的分类列的列表。

stringIndexer = StringIndexer(
    inputCols=[categoricalCol for categoricalCol in categoricalColumns],outputCols=[categoricalCol + "_index" for categoricalCol in categoricalColumns]
)
mod_si = stringIndexer.fit(spark_df)
indexed_si = mod_si.transform(spark_df)
indexed_si.printSchema()

一个OneHotEncoder

encoder = OneHotEncoder(
    inputCols=[indexer.getoutputCol() for indexer in indexed_si],outputCols=["_encoded".format(indexer.getoutputCol()) for indexer in indexed_si]
)

我不断收到此错误

TypeError: 'Column' object is not callable

我阅读了编程指南,但仍无法解决。感谢您的帮助。

https://spark.apache.org/docs/latest/ml-features.html#onehotencoder

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)