Spark R - 什么是 Spark R 中的 `factors()`?

Spark R - What is the equivalent of `factors()` in Spark R?

从 R 中,我们有函数 factors()。我想通过 Spark R 以并行方式使用此函数。

我的Spark版本是1.6.2,在documentation. I thought I could do it with a map, but I am not certain I understand 中找不到对应的版本,应该有更简单的方法。

所以简单地说:Spark R 中的 factors() 相当于什么?

没有直接的等价物。 Spark 使用双精度数字对每种类型的变量进行编码,并使用元数据来区分不同类型。对于 ML 算法,您可以使用自动对列进行编码的公式。

有两种转换分类变量的方法 -

  1. StringIndexer():这会将字符串值转换为数字,您可以使用 IndextoString() 取回原始值。 StringIndexer 是一个 Estimator,因此我们需要使用 fit() 然后使用 transform() 来获取转换后的值。

  2. 使用 OneHotEncoder():这会将类别转换为稀疏向量。您可以通过将 DropLast 设置为 false 来控制是否删除最后一个类别。这是一个 Transformer,因此 tranform() 就足够了。

有关详细信息,请参阅此 link: http://spark.apache.org/docs/latest/ml-features.html#stringindexer