predict_rating_topsim함수
324
작성한 질문수 10
predict_rating_topsim을 강사님이 작성하신 함수를 보고 조금 수정해서 작성해봤는데요.. mse계산을 하면 다르게 나와서 무엇이 잘못된건지 알고싶습니다!!
*****강사님 코드******
def predict_rating_topsim(ratings_arr, item_sim_arr, n=20):
# 사용자-아이템 평점 행렬 크기만큼 0으로 채운 예측 행렬 초기화
pred = np.zeros(ratings_arr.shape)
# 사용자-아이템 평점 행렬의 열 크기만큼 Loop 수행.
for col in range(ratings_arr.shape[1]):
# 유사도 행렬에서 유사도가 큰 순으로 n개 데이터 행렬의 index 반환
top_n_items = [np.argsort(item_sim_arr[:, col])[:-n-1:-1]]
# 개인화된 예측 평점을 계산
for row in range(ratings_arr.shape[0]):
pred[row, col] = item_sim_arr[col, :][top_n_items].dot(ratings_arr[row, :][top_n_items].T)
pred[row, col] /= np.sum(np.abs(item_sim_arr[col, :][top_n_items]))
return pred
******다르게 작성해본 코드******
def predict_rating_topsim(ratings_arr, item_sim_arr, n=20):
# 미리 0으로 초기화된 행렬만들어놓자
pred = np.zeros(ratings_arr.shape)
for col in range(ratings_arr.shape[1]):
top_n_items = [np.argsort(item_sim_arr[:,col])[-n: ]]
for row in range(ratings_arr.shape[0]):
pred[row,col] = ratings_arr[row, :][top_n_items].dot(item_sim_arr[: ,col][top_n_items].T)
pred[row,col] /= np.sum(np.abs(item_sim_arr[col, : ][top_n_items]))
return pred
바꾼부분을 bold처리 해놨습니다.
첫번째 부분은 유사도가 가장 높은 20개를 가져오는 것이라 [-n: ]으로 바꿨습니다
두번째 부분은 내적부분을 수정했습니다.
그렇게 한뒤 mse를 측정해보면
ratings_pred = predict_rating_topsim(ratings_matrix.values , item_sim_df.values, n=20)
print('아이템 기반 인접 TOP-20 이웃 MSE: ', get_mse(ratings_pred, ratings_matrix.values ))의 출력결과가
이이와같습니다
답변 1
안녕하세요 열심히 수강중인 학생입니다
0
60
2
정수 인덱싱
0
68
2
넘파이 오류
0
83
2
11강 numpy의 axis 축 질문 드립니다.
0
85
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
77
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
69
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
64
2
5강 강의 오류가 있어요.
0
83
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
72
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
69
3
파이썬 다운그레이 후 사이킷런 재설치
0
116
2
좋은 강의 감사합니다.
0
72
2
scoring 함수 음수값
0
67
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
99
2
분류 평가 정확도 예측
0
76
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
98
1
카카오톡 채널 있나요
0
106
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
189
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
171
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
146
2
실루엣 스코어..
0
84
2
float64 null 값 처리 방법
0
102
2





