Spark MLLib:将任意稀疏特征转换为固定长度的Vector

时间:2016-02-29 23:14:34

标签: apache-spark machine-learning regression apache-spark-mllib vowpalwabbit

我们正在将在线机器学习线性回归模型从Vowpal Wabbit转换为Spark MLLib。 Vowpal Wabbit通过在链表支持的权重上训练模型来允许任意稀疏特征,而Spark MLLib训练MLLib Vector权重,由固定长度数组支持。

我们传递给模型的特征是任意字符串而不是类别。 Vowpal Wabbit使用哈希将这些功能映射到1.0的权重值。我们可以在MLLib中执行相同的映射,但仅限于固定长度的数组。是否可以在MLLib中训练这样的模型,其中特征空间的大小未知?

1 个答案:

答案 0 :(得分:1)

FeatureHasher将执行此操作,并且与Vowpal Wabbit(MurmurHash3)相同。 VowpalWabbit和FeatureHasher的默认特征数量均为2 ^ 18

https://spark.apache.org/docs/2.3.1/api/java/org/apache/spark/ml/feature/FeatureHasher.html