pyspark typeerror:在spark mllib中使用onehotencoder时,无法调用“column”对象

pw136qt2  于 2021-05-19  发布在  Spark
关注(0)|答案(0)|浏览(437)

我是pyspark和ApacheSpark机器学习库的新手。我正在尝试将onehotencoder应用于spark mllib中的几个分类列。我遵循编程指南。
https://spark.apache.org/docs/latest/ml-features.html#onehotencoder
首先我使用了stringindexer,它可以工作。

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)

categoricalcolumns是数据集中我的分类列的列表。
然后是一个热编码器;

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

感谢您的帮助。如果不解决这个问题,我就不能继续下一步的工作。非常感谢你。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题