html标签 对word2vec,python-尝试运行Word2Vec示例时PySpark中出现错误

在尝试运行PySpark中的Word2Vec简单示例时遇到了TypeError,原因在于使用了ml库中的Word2Vec但从mllib包中导入。解决方案是正确导入pyspark.ml.feature包中的Word2Vec。修复后,成功展示了词向量和同义词。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我正在尝试运行文档中给出的Word2Vec的非常简单的示例:

from pyspark import SparkContext, SQLContext

from pyspark.mllib.feature import Word2Vec

sqlContext = SQLContext(sc)

sent = ("a b " * 100 + "a c " * 10).split(" ")

doc = sqlContext.createDataFrame([(sent,), (sent,)], ["sentence"])

model = Word2Vec(vectorSize=5, seed=42, inputCol="sentence", outputCol="model").fit(doc)

model.getVectors().show()

model.findSynonyms("a", 2).show()

TypeError Traceback (most recent call last)

in ()

5 sent = ("a b " * 100 + "a c " * 10).split(" ")

6 doc = sqlContext.createDataFrame([(sent,), (sent,)], ["sentence"])

----> 7 model = Word2Vec(vectorSize=5, seed=42, inputCol="sentence", outputCol="model").fit(doc)

8 model.getVectors().show()

9 model.findSynonyms("a", 2).show()

TypeError: __init__() got an unexpected keyword argument 'vectorSize'

知道为什么这失败了吗?

解决方法:

您是指ml中的文档,但是从mllib包中导入的.在mllib中,Word2Vec在__init__中不接受任何参数.

您打算:

from pyspark.ml.feature import Word2Vec

输出:

+----+--------------------+

|word| vector|

+----+--------------------+

| a|[-0.3511952459812...|

| b|[0.29077222943305...|

| c|[0.02315592765808...|

+----+--------------------+

+----+-------------------+

|word| similarity|

+----+-------------------+

| b|0.29255685145799626|

| c|-0.5414068302988307|

+----+-------------------+

标签:word2vec,apache-spark,pyspark,machine-learning,python

来源: https://codeday.me/bug/20191119/2036599.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值