我们正在将在线机器学习线性回归模型从 Vowpal Wabbit 转换为 Spark MLLib。 Vowpal Wabbit 通过在链表支持的权重上训练模型来允许任意稀疏特征,而 Spark MLLib 在由固定长度数组支持的权重 MLLib Vector
上进行训练。
我们传递给模型的特征是任意字符串而不是类别。 Vowpal Wabbit 使用哈希将这些特征映射到 1.0
的权重值。我们可以在 MLLib 中进行相同的映射,但仅限于固定长度的数组。是否可以在特征空间大小未知的 MLLib 中训练这样的模型?
最佳答案
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
关于apache-spark - Spark MLLib : convert arbitrary,稀疏特征到固定长度向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35711652/