当在管道内给出时,Spark / pyspark的RFormula是否可以替代VectorAssembler和Indexers?

问题描述

我是Spark / pyspark的新手,可能对RFormula对象功能有误解。它的源代码很难被察觉。

根据示例,单独使用RFormula肯定会在调用.fit().transform()方法时进行线性估计。 但是,当它在Pipeline()内部不适合使用时,它似乎只是显示因变量的一种简洁方法,并且应在应用“ ML”方法之前对数据进行哪些预转换(无需进行线性模型估算)。

问题是-由于RFormula属于pyspark的ml.feature模块-是否有可能将其用作管道的第一阶段,以取代笨拙的VectorAssembler()和StringIndexer()? (最后对于为定性数据(例如鸢尾花的花朵)创建ID /索引至关重要。

当我尝试将两个模型与Fischer的Iris Iris.csv数据集一起使用时, 第一个RFormula("Series ~ . -Id")DecisionTreeClassifier()的管道, 第二个是VectorAssembler(<input-Cols>,"features")StringIndexer("Species","indexedLabel")DecisionTreeClassifier("indexedLabel","features")的管道, 在.RowPredictions列中获得的结果高度依赖于所做的确切操作, 完全相同。
发生这种情况是因为RFormula实际上没有在此处将列映射到决策树估计器,而不计算任何内容吗?

解决方法

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

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

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