Traceback (most recent call last): File "E:/PyCharm Community Edition 2020.2.2/Project/WordDict/newsim.py", line 410, in <module> similarities = cosine_similarity(seed_vectors + corpus_vectors) File "E:\anaconda\envs\TF2.4\lib\site-packages\sklearn\metrics\pairwise.py", line 1251, in cosine_similarity X, Y = check_pairwise_arrays(X, Y) File "E:\anaconda\envs\TF2.4\lib\site-packages\sklearn\metrics\pairwise.py", line 153, in check_pairwise_arrays estimator=estimator, File "E:\anaconda\envs\TF2.4\lib\site-packages\sklearn\utils\validation.py", line 796, in check_array % (array.ndim, estimator_name) ValueError: Found array with dim 3. check_pairwise_arrays expected <= 2. 怎么修改这个错误
时间: 2023-07-21 07:21:05 浏览: 202
linux 下 pip3 报错“ File “/usr/bin/pip3”, line 9, in from pip import mainImportError: canno”处理
5星 · 资源好评率100%
这个错误的原因是输入的数组维度超过了 `check_pairwise_arrays` 函数的限制。这个函数只能处理二维数组。你需要先将三维数组转换成二维数组,然后再进行相似性计算。可以使用 NumPy 库中的 `reshape()` 函数,将三维数组转换成二维数组。具体的修改方法如下:
1. 导入 NumPy 库:
```
import numpy as np
```
2. 将三维数组 `seed_vectors` 和 `corpus_vectors` 转换成二维数组:
```
seed_vectors = np.reshape(seed_vectors, (seed_vectors.shape[0], -1))
corpus_vectors = np.reshape(corpus_vectors, (corpus_vectors.shape[0], -1))
```
3. 然后再进行相似性计算:
```
similarities = cosine_similarity(seed_vectors + corpus_vectors)
```
这样应该就可以解决这个错误了。
阅读全文