inflearn logo
강의

Course

Instructor

(UPDATED) Personalized Recommendation Systems using Python | Recommendation Algorithms | Recommendation AI

CF considering user evaluation trends

CF_knn_bias 실습에서 not in index error 발생합니다.

Resolved

704

wannaway

2 asked

0


movie_ratings = movie_ratings[user_idx][-neighbor_size:]
에서 아래와 같은 에러가 발생합니다

KeyError: '[68, 70, 62, 31, 7, 73, 84, 1, 52, 0, 89, 6, 33, 53, 14, 26, 82, 23, 46, 63, 12, 39, 19, 44, 4, 30, 81, 10, 27, 79, 21, 45, 25, 87, 57, 40, 80, 78, 24, 86, 88, 76, 64, 2, 28, 71, 11, 37, 85, 55, 54, 66, 9, 42, 75, 36, 67, 43, 32, 50, 29, 58, 61, 72, 34, 74, 18, 22, 77, 60, 3, 47, 49, 15, 51, 56, 65, 69, 90, 16, 41] not in index'


movie_ratings 프린트 결과는 아래와 같이 나옵니다!
movie_ratings user_id 

5 -1.816794
8 -1.636364
13 -0.064990
17 -1.761905
20 0.833333
...
881 -1.340206
882 -0.097087
887 -2.796875
901 -1.817204
938 0.740741
Name: 243, Length: 91, dtype: float64


실습 데이터 말고 colab 코드도 제공받을 수 있나요?

확인부탁드립니다!

감사합니다 :)

딥러닝 추천-시스템

Answer 3

0

거친코딩

안녕하세요.

코드 확인 결과, 올려주신 코드에 오타가 있네요.

movie_raitngs = np.array(movie_ratings)

movie_raitngs -> movie_ratings로 수정해서 다시 해보시면 될 것 같습니다.

감사합니다.

-거친코딩 드림-

0

wannaway

 
# 사용자 평가 경향을 고려한 함수 #

# full matrix 에서 사용자의 평점 평균을 구한다.

rating_mean = rating_matrix.mean(axis=1)

# 영화 평점과 각 사용자의평균과의 차이 (평점편차)를 구한다.

rating_bias = (rating_matrix.T - rating_mean).T

# 사용자 평가 경향을 고려한 함수

def CF_knn_bias(user_id, movie_id, neighbor_size=0):

if movie_id in rating_bias.columns:

sim_scores = user_similarity[user_id].copy()

movie_ratings = rating_bias[movie_id].copy()

none_rating_idx = movie_ratings[movie_ratings.isnull()].index

movie_ratings = movie_ratings.drop(none_rating_idx) # CF_knn에서는 dropna() 사용했었음

sim_scores = sim_scores.drop(none_rating_idx)

if neighbor_size==0:

prediction = np.dot(sim_scores, movie_ratings) / sim_scores.sum()

prediction = prediction + rating_mean[user_id]

else:

if len(sim_scores) > 1:

neighbor_size = min(neighbor_size, len(sim_scores))

sim_scores = np.array(sim_scores)

movie_raitngs = np.array(movie_ratings)

user_idx = np.argsort(sim_scores)

sim_scores = sim_scores[user_idx][-neighbor_size:]

movie_ratings = movie_ratings[user_idx][-neighbor_size:]

prediction = np.dot(sim_scores, movie_ratings) / sim_scores.sum()

prediction = prediction + rating_mean[user_id]




else:

prediction = rating_mean[user_id]

else:

prediction = rating_mean[user_id]




return prediction

score(CF_knn_bias, 30)


CF_knn은 정상 동작합니다!
코드 첨부드리니 한번 확인 부탁드립니다.

감사합니다.



 

0

거친코딩

안녕하세요.

 CF_knn_bias에서 에러가 난다고 하셨는데,

혹시 동일한 로직을 품고 있던 이전 챕터 CF_knn에서는 해당 에러가 발생하지 않았나요?

해당 부분 한번 확인해보시구

그래도 여전히 에러가 난다면 타이핑 하신 코드를 함께 첨부해주시면 확인해보도록 하겠습니다.

감사합니다.

-거친코딩 드림-

 

model.predict 의 결과 값 index가 왜 movie id ?

0

402

3

model.predict에 특정 user id로 상위 movie 5개 출력?

0

372

3

새로운 회원이 선택한 영화를 모델로 넘기는 방법 질문

0

297

1

올려주신 파일과 sparse matrix

0

335

1

Unable to allocate 55.9 GiB for an array with shape (25000, 100000, 3) and data type int64

0

993

3

사용자 집단별 추천 코드

0

246

1

무비렌즈 최신 데이터를 이용하고싶은데요~

1

325

2

추천시스템의 이진데이터 적용

1

336

1

평가 관련

1

269

1

딥러닝 추천시스템 변수추가 부분 코드 관련 질문입니다.

1

3531

1

딥러닝을 위한 추천시스템 원핫 인코딩 질문

0

284

1

MergeError가 납니다

0

555

2

sparse matrix를 추천 알고리즘에 적용하기에서

0

281

1

코드 오류 질문입니다!

1

604

3

코드를 똑같이 따라햇을때

1

369

1

강의자료는 어디서 다운로드 받을 수 있나요?

0

312

1

train,test 분리 MF알고리즘에서 결과가 출력이 안되요 ㅠㅠ

1

389

1

알고리즘을 프로젝트에서 써보고 싶은데요

1

196

1

ML 방식 모델 활용방안에 대해서

1

247

1

그 외의 CF 정확도 개선방법에서

1

179

1

화면이 안나오는데 정상인가요?

1

210

1

아이템 기반 CF 코드 질문

1

297

3

실시간 처리 질문

1

201

1

CF 관련 질문

1

325

3