#python #scikit-learn #valueerror
#python #scikit-learn #ошибка значения
Вопрос:
Пытаюсь работать с файлом .csv для создания базовой рекомендации к фильму.
from sklearn.metrics.pairwise import linear_kernel
tfidf_matrix = tfidf_vector.fit_transform(movie_data['overview'])
sim_matrix = linear_kernel(tfidf_matrix, tfidf_matrix)
Последняя строка вызывает всплывающее сообщение об ошибке «ошибка значения: массив слишком большой; arr.size * arr.dtype.itemsize
больше максимально возможного размера». Есть мысли о том, как я могу решить эту проблему?
Комментарии:
1. Было бы полезно полное сообщение об ошибке, включая трассировку, оно сообщает вам, где именно произошла ошибка.
maximum possible size
может ссылаться на внутренний предел в sklearn или на вашу доступную память. Векторы TFIDF обычно разрежены. Вы работаете с разреженными массивами?2. Полное сообщение об ошибке ValueError: массив слишком большой; arr.size * arr.dtype.itemsize больше максимально возможного размера, и трассировка указывает на последнюю строку в этом коде как создающую ошибку. Это мой первый проект в области машинного обучения, поэтому я не понимаю, что вы подразумеваете под разреженными массивами. Есть ли какой-нибудь способ решить проблему ограничения памяти?
3. Обратная трассировка сообщает вам, какая строка в исходном коде sklearn привела к этой ошибке. Пожалуйста, отредактируйте свой вопрос, добавив полную обратную трассировку. Если у вас
tfidf_vector
есть sklearn.feature_extraction.text. TfidfVectorizer , попробуйте использовать set a maximum number of features (max_features
) , чтобы уменьшить размер массива.