spark:ml管道添加列会产生成本吗?

lmyy7pcs  于 2021-05-24  发布在  Spark
关注(0)|答案(0)|浏览(255)

我是spark的新手,我想使用mllib库中的ml管道来进行特征提取,然后使用它们构建子管道,将它们连接到更大的管道中,等等。我的主要动机是我使用了scikit学习库中的pipeline类,这非常方便。
然而,一位更善于激发灵感的同事向我建议,这不是最佳的方式。原因是:每次我添加一个新列时,我基本上都在复制整个数据,而且越往下走,复制的次数就越多(编辑:这也会影响洗牌的成本)。
我认为优化器在转换过程中不会复制任何内容,当我执行一个操作时,它会构建一个计算图(或计划?),以避免这些类型的问题(即,它不会仅仅因为我添加了一个列就具体化原始数据的两个或多个副本)。
我的问题是:我是否应该避免使用ml管道,并编写自己的用于特征提取的自定义函数,这些函数将存储生成的列,然后将它们连接到最终的特征矩阵中,从而避免任何虚假的数据复制/混洗?

暂无答案!

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

相关问题