PySpark没有可用于Word2VecModel的getVectors方法

时间:2015-04-06 10:47:56

标签: apache-spark pyspark

我正在尝试访问pyspark 1.2.0 Spark版本的getVectors()方法,但是pyspark状态 -

input.cache()
word2vec = Word2Vec()
model = word2vec.fit(input)
vector = model.getVectors()

AttributeError: 'Word2VecModel' object has no attribute 'getVectors'

所以我只能使用Scala / Java访问它,或者我可以做些什么。

2 个答案:

答案 0 :(得分:0)

我正在尝试使用在Spark 1.2上运行的玩具文件创建可重现的代码

# cat data.txt
crazy crazy fox jumped
crazy fox jumped
fox is fast
fox is smart
dog is smart

>> lines = sc.textFile('data.txt', 1);
>> lines.collect()
[
 u'crazy crazy fox jumped', 
 u'crazy fox jumped', 
 u'fox is fast', 
 u'fox is smart', 
 u'dog is smart'
]

from pyspark.mllib.feature import Word2Vec       
model = Word2Vec().fit(lines)

现在,如果我运行dir(model),则输出为

['__class__',
 '__del__',
 '__delattr__',
 '__dict__',
 '__doc__',
 '__format__',
 '__getattribute__',
 '__hash__',
 '__init__',
 '__module__',
 '__new__',
 '__reduce__',
 '__reduce_ex__',
 '__repr__',
 '__setattr__',
 '__sizeof__',
 '__str__',
 '__subclasshook__',
 '__weakref__',
 '_java_model',
 '_sc',
 'call',
 'findSynonyms',
 'transform']

其中最后3个是成员方法,而getvectors()不是其中的一部分。

答案 1 :(得分:0)

getVectors已在1.4版中添加到pyspark