Ich habe den folgenden Code geschrieben, um die Kosinusähnlichkeit zwischen einer Anzahl vorverarbeiteter Dokumente zu berechnen (Stoppwortentfernung, Stemming und Häufigkeit der Häufigkeits-inversen Dokumente).Berechnen der Kosinusähnlichkeit mit Python
print(X.shape)
similarity = []
for each in X:
similarity.append(cosine_similarity(X[i:1], X))
print(cosine_similarity(X[i:1], X))
i = i+1
Allerdings, wenn ich es laufen erhalte ich dieses:
(2235, 7791)
[[ 1. 0.01490594 0.11752643 ..., 0.00941571 0.03652551
0.]]
Traceback (most recent call last):
File "...", line 83, in <module>
similarity.append(cosine_similarity(X[i:1], X))
File "/Users/.../anaconda/lib/python3.5/site-packages/sklearn/metrics/pairwise.py", line 881, in cosine_similarity
X, Y = check_pairwise_arrays(X, Y)
File "/Users/.../anaconda/lib/python3.5/site-packages/sklearn/metrics/pairwise.py", line 96, in check_pairwise_arrays
X = check_array(X, accept_sparse='csr', dtype=dtype)
File "/Users/.../anaconda/lib/python3.5/site-packages/sklearn/utils/validation.py", line 407, in check_array
context))
ValueError: Found array with 0 sample(s) (shape=(0, 7791)) while a minimum of 1 is required.
[Finished in 56.466s]
Sie verwenden X [i: 1] innerhalb Ihrer Schleife. Wenn ich 1 erreiche, greifen Sie auf X [1: 1] zu, das eine leere Liste zurückgibt. Das verursacht den Fehler. –
@DileepKumarPatchigolla Wie kann ich es dann tun? – user7347576
Ich bin nicht vertraut mit der Kosinus-Ähnlichkeit. Kannst du mir ein Beispiel dafür geben, wie X aussieht, damit ich es ausprobieren kann? –