pairwise_tukeyhsd() missing 1 required positional argument: 'groups'中文回答
时间: 2023-11-03 20:04:56 浏览: 191
这个错误提示通常是因为在调用 `pairwise_tukeyhsd()` 函数时没有传递正确的参数。具体来说,这个函数需要传递两个参数:`groups` 和 `endog`,分别表示待比较的组和对应的因变量。请检查一下你的代码,确认是否正确传递了这两个参数,并且它们的值符合你的预期。如果还有疑问,可以贴出相关的代码,方便更好地帮助你解决问题。
相关问题
上述代码运行后报错了怎么修改,报错信息:Traceback (most recent call last): File "E:/PyCharm Community Edition 2020.2.2/Project/WordDict/newsim.py", line 279, in <module> sim = cosine_similarity(word_tensor, encoded_layers[0][1:-1])[0].max() TypeError: cosine_similarity() missing 1 required positional argument: 'topics'
根据报错信息,`cosine_similarity()` 函数缺少一个名为 `topics` 的参数,因此需要检查一下函数的参数是否正确。
`cosine_similarity()` 函数的正确用法应该是 `cosine_similarity(X, Y=None, dense_output=True)`,其中 `X` 为形状为 `(n_samples_X, n_features)` 的数组,`Y` 为形状为 `(n_samples_Y, n_features)` 的数组,`dense_output` 为布尔值,表示是否返回密集的输出。
因此,你需要修改 `cosine_similarity()` 函数的调用方式,确保传入了正确的参数。具体来说,你需要将 `encoded_layers[0][1:-1]` 作为第一个参数 `X`,`word_tensor` 作为第二个参数 `Y`,并将 `dense_output` 设置为 `False`,以便返回稀疏矩阵。
修改后的代码如下所示:
```
from sklearn.metrics.pairwise import cosine_similarity
...
for i in range(1, len(tokens)-1):
word = tokens[i]
if word in seed_words:
continue
word_tensor = encoded_layers[0][i].reshape(1, -1)
sim = cosine_similarity(encoded_layers[0][1:-1], word_tensor, dense_output=False)[0].max()
```
注意,新的调用方式中,`encoded_layers[0][1:-1]` 被作为第一个参数传入,而 `word_tensor` 被作为第二个参数传入。此外,`dense_output` 被设置为 `False`,以便返回稀疏矩阵。
pairwise_tukeyhsd怎么安装
`pairwise_tukeyhsd`是`statsmodels`库中的一个功能,用于进行多重比较后的Tukey HSD( Honestly Significant Difference)检验。如果你想要在Python中使用这个功能,首先你需要确保已经安装了`statsmodels`库,因为`pairwise_tukeyhsd`是它的一部分。
如果你还没有安装`statsmodels`,你可以通过pip来安装:
```bash
pip install statsmodels
```
或者如果你使用的是conda环境,可以在命令行输入:
```bash
conda install -c anaconda statsmodels
```
安装完成后,`pairwise_tukeyhsd`就可以直接在你的Python环境中导入并使用了。
如果你已经安装了`statsmodels`但是找不到`pairwise_tukeyhsd`,可能是版本不够新,你可以尝试更新到最新版:
```bash
pip install statsmodels --upgrade
```
或者
```bash
conda update statsmodels
```
阅读全文