invalid index to scalar variable 오류 원인
'csr_matrix' 행을 리스트로 변환하지 않고 sorted 함수를 사용하여 정렬하려고 하였더니 발생하였다.
def get_recommendations(title, cosine_sim=cosine_sim):
#선택한 영화의 타이틀로부터 해당 영화의 인덱스를 받아옴
idx = title_to_index[title]
#해당 영화와 모든 영화와의 유사도를 가져온다
sim_scores = cosine_sim[idx]
#print(sim_scores.empty().sum())
#유사도에 따라 영화들을 정렬한다
sim_scores = sorted(sim_scores, key = lambda x:x[1],reverse=True)
#가장 유사한 10개의 영화를 받아온다
sim_scores = sim_scores[1:11]
#가장 유사한 10개의 영화의 인덱스를 얻는다
movie_indices = [idx for idx,score in sim_scores]
#가장 유사한 10개의 영화의 제목을 리턴한다.
return data['title'].iloc[movie_indices]
해결방안
# 수정 전 코드
sim_scores = cosine_sim[idx]
# 수정 후 코드
sim_scores = list(enumerate(cosine_sim[idx]))
'머신러닝 > error' 카테고리의 다른 글
KoBERT with Hugging Face 관련 오류 해결방법 (2024.06) (0) | 2024.06.22 |
---|