我目前正在研究一个波光粼粼的水应用程序,并且我是spark和h2o中的初学者。如何使用spark从word2vec模型获取数据框
我想要做什么:
- 加载文本文件
- 一个输入创建word2vec模型
- 创建一个数据框与列字和使用列矢量
- 数据帧作为h2o的输入
通过创建模型我得到一张地图,但我不知道如何创建它的数据框。输出应该如下所示:
word | Vector
assert | [0.3,0.4 .....]
sense | [0.6,0.2 .....] 等等。
这是我到目前为止的代码:
from pyspark import SparkContext
from pyspark.mllib.feature import Word2Vec
from pysparkling import *
import h2o
from pyspark.sql import SQLContext
from pyspark.mllib.linalg import Vectors
from pyspark.sql import Row
# Starting h2o application on spark cluster
hc = H2OContext(sc).start()
# Loading input file
inp = sc.textFile("examples/custom/text8.txt").map(lambda row: row.split(" "))
# building the word2vec model with a vector size of 10
word2vec = Word2Vec()
model = word2vec.setVectorSize(10).fit(inp)
# Sanity check
model.findSynonyms("property",5)
# assign vector representation (map to variable
wordVectorsDF = model.getVectors()
# Transform wordVectorsDF word into dataframe
是否有任何方法,它或火花所提供的功能?
在此先感谢
Spark中有2个ML包,一个是旧的,另一个是针对DataFrame的新包 - 旧的是为了向后兼容 –