본문 바로가기
머신러닝/error

invalid index to scalar variable

by su0a 2024. 5. 16.

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