从R开始,我们有函数factors()
。我想以并行方式使用此函数,使用Spark R.
我的Spark版本是1.6.2,我找不到documentation中的等价物。我以为我可以用地图来做,但我不确定我理解this answer,应该有一个更简单的方法。
简单地说: Spark R中factors()
的等价物是什么?
答案 0 :(得分:1)
没有直接的等价物。 Spark使用双精度数对每种类型的变量进行编码,并使用元数据来区分不同类型。对于ML算法,您可以使用自动编码列的公式。
答案 1 :(得分:0)
有两种转换分类变量的方法 -
StringIndexer():这会将字符串值转换为数字,您可以使用IndextoString()获取原始值。 StringIndexer是一个Estimator,所以我们需要使用fit()然后transform()来获取转换后的值。
使用OneHotEncoder():这会将类别转换为稀疏向量。您可以通过将DropLast设置为false来控制是否删除最后的分类。这是一个Transformer,因此tranform()就足够了。
请参阅此链接以获取更多详细信息: http://spark.apache.org/docs/latest/ml-features.html#stringindexer