inflearn logo
강의

Course

Instructor

[Revised Edition] The Complete Guide to Python Machine Learning

Implementation of item-based nearest neighbor collaborative filtering movie recommendation

넘파이 행렬로 변환

222

Moonkyung Yang

14 asked

0

##아이템 기반 인접 이웃 협업 필터링으로 개인화된 영화 추천

1)

def predict_rating(ratings_arr, item_sim_arr ):

    ratings_pred = ratings_arr.dot(item_sim_arr)/ np.array([np.abs(item_sim_arr).sum(axis=1)])

    return ratings_pred

2)

ratings_pred = predict_rating(ratings_matrix.values , item_sim_df.values)

ratings_pred_matrix = pd.DataFrame(data=ratings_pred, index= ratings_matrix.index,

                                   columns = ratings_matrix.columns)

print(ratings_pred_matrix.shape)

ratings_pred_matrix.head(3)

------------------------------------------

이 코드에서 ratings_arr과 item_sim_arr이 각각 rating_matrix와 item_sim_df를 넘파이 행렬로 변환시킨 값이라고 책에서 설명하셨는데, 이 부분이 잘 이해가 가지 않습니다.

데이터프레임을 넘파이로 변환시킬때, 주로 .values를 사용하는 것으로 알려져있고, 2) 부분의 코드에서 ratings_matrix.values와 item_sim_df.values를 적용하는 것으로 책에 나와있습니다. 

ratings_arr과 item_sim_arr처럼 뒤에 _arr이 붙으면 넘파이값으로 변형이 되는것인가요?

ratings_arr과 item_sim_arr을 넘파이값으로의 정의를 이전에 해주어야 하는 거 아닌가요? 근데 책의 코드에는 따로 ratings_arr과 item_sim_arr을 정의해 주는 부분없이 그냥 바로 def 함수를 적용하더라구요. 

수업을 듣다가 아무리 구글링을 해도 이해가 가지 않아..두서없이 질문드립니다.. 

답변 기다리겠습니다. 감사합니다. 

통계 python 머신러닝 배워볼래요?

Answer 2

1

dooleyz3525

안녕하십니까,

파이썬 프로그램이 변수의 타입을 지정하지 않다보니, 그렇게 이해하실 수도 있겠군요.

def predict_rating(ratings_arr, item_sim_arr ) 함수 에서 인자로 선언된 ratings_arr, item_sim_arr은 호출시에 numpy array로 입력이 된다는 것입니다.

ratings_pred = ratings_arr.dot(item_sim_arr)/ np.array([np.abs(item_sim_arr).sum(axis=1)])

은 ratings_arr, item_sim_arr이 numpy array로 입력된다고 가정하고, dot(), abs(), sum() 연산을 수행하였습니다.

그리고 호출 시에 predict_rating(ratings_matrix.values , item_sim_df.values)로 numpy array를 입력했습니다. 즉 ratings_arr=ratings_matrix.values,  item_sim_arr = item_sim_df.values 로 할당이 됩니다.

그리고 함수 선언시에 아래와 같이 인자의 타입을 지정할 수 있습니다.

def predict_rating(ratings_arr: np.array, item_sim_arr: np.array )

감사합니다.

0

Moonkyung Yang

정말 감사합니다!! 답변 한글자 한글자 다 이해가 되었습니다!!

모델 서빙과 관련된 강좌가 출시되는지 질문드립니다.

0

34

2

안녕하세요 열심히 수강중인 학생입니다

0

75

2

정수 인덱싱

0

77

2

넘파이 오류

0

100

2

11강 numpy의 axis 축 질문 드립니다.

0

95

2

Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.

0

85

2

Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.

0

75

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

79

2

타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.

0

68

2

5강 강의 오류가 있어요.

0

87

1

실무에서 LTV 관련 모델 선택 질문입니다!

0

77

2

14강 강의 듣는중에 궁금한게 있어서 질문합니다~

0

71

3

파이썬 다운그레이 후 사이킷런 재설치

0

124

2

좋은 강의 감사합니다.

0

76

2

scoring 함수 음수값

0

69

2

6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?

0

106

2

분류 평가 정확도 예측

0

83

2

안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.

0

105

1

카카오톡 채널 있나요

0

111

1

혹시 강의에서 사용하시는 ppt 받을 수 있는건가요

0

191

2

pca 스케일링 관련하여 질문드립니다.

0

106

2

주피터 대신 구글 코랩

0

177

2

강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?

0

149

2

실루엣 스코어..

0

88

2