В PySpark нет метода getVectors, доступного для Word2VecModel

Я пытаюсь получить доступ к getVectors() метод pyspark 1.2.0 версии Spark, но состояния pyspark -

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

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

Так что у меня есть единственный способ получить доступ к этому, используя Scala/Java, или я могу кое-что сделать.

1 ответ

Я пытаюсь создать воспроизводимый код с игрушечным файлом, работающим на 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() не является частью этого.

Get Vectors был добавлен в pyspark в версии 1.4

Другие вопросы по тегам