Spark R - Spark R中的`factors()`相当于什么?

时间:2016-07-19 18:00:23

标签: r apache-spark sparkr

从R开始,我们有函数factors()。我想以并行方式使用此函数,使用Spark R.

我的Spark版本是1.6.2,我找不到documentation中的等价物。我以为我可以用地图来做,但我不确定我理解this answer,应该有一个更简单的方法。

简单地说: Spark R中factors()的等价物是什么?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

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

  3. 请参阅此链接以获取更多详细信息: http://spark.apache.org/docs/latest/ml-features.html#stringindexer