안녕하세요 함수,넘파이,values 관련한 질문입니다.
294
작성한 질문수 20
안녕하세요. 강의 잘 듣고 있습니다!
일단 질문은 크게 2가지 입니다.
<1번질문>
함수를 이렇게 설정하셨는데요
여기서 np.array([np.abs(item_sim_arr).sum(axis=1)]) 이 부분을 변경해서

np.abs(item_sim_df.values).sum(axis=1)로 바꾸어도 동일하게 작동하더라구요.
그래서 따로 떼어 결과를 비교해보니


이렇게 각각 괄호가 [[]] 이렇게 감싸져 있는가 [] 이렇게 감싸져있는가의 차이인 것 같습니다.
두 경우에 무슨 차이가 있는 것인지 알 수 있을까요?
<2번질문>

위에 주어진 함수를 적용했을 시에 인자에 .values를 적어주셨는데

.values를 빼고 데이터프레임 자체를 넣어도 똑같은 결과로 동작을 합니다.
그렇다면 사실 굳이 .values를 인자값으로 넣어주지 않아도 되는건가요?
답변 1
0
안녕하십니까,
2번을 먼저 말씀 드리겠습니다.
잘 아시다시피, DataFrame에 values를 호출하면 numpy array로 변환을 합니다. DataFrame은 numpy array 에 인터페이스를 편하게 하기 위해 여러 API가 있을 뿐 내부적으로는 모두 numpy array로 저장이 됩니다.
predict_rating() 함수는 인자로 numpy array를 입력 받아서 이를 dot 연산을 하도록 만들었습니다. 하지만 DataFrame 도 dot 연산을 할 수 있으며 결국은 내부 numpy array의 dot 연산을 호출하도록 만들어져 있습니다. 일반적으로 dot 연산은 보통 numpy array 로 호출합니다. DataFrame의 dot 연산은 잘 호출하지 않습니다. 이유는 dot 연산을 하는 것들은 보통은 배열의 low level 연산이고, DataFrame은 주로 데이터(업무적인) 처리에 사용되기 때문입니다.
때문에 저도 predict_rating() 함수시 numpy array로 인자를 입력해서 연산을 하도록 만들었습니다.
그리고 1번 질문 중 [[]]와 [] 의 차이는 [[]]는 2차원, []는 일차원 배열을 의미합니다.
np.array([ np.abs(.....).sum(axis=1) ]) 이 2차원이 된 이유는 np.abs(...).sum(..)결과가 1차원인데 여기에 다시 np.array( [ np.abs(.....) ] ) 와 같이 [ ] 를 씌웠기 때문입니다.
감사합니다.
안녕하세요 열심히 수강중인 학생입니다
0
60
2
정수 인덱싱
0
68
2
넘파이 오류
0
85
2
11강 numpy의 axis 축 질문 드립니다.
0
85
2
Kaggle 에서 Santander customer satisfaction data 를 다운로드 되지가 않습니다.
0
77
2
Feature importances 를 보여주는 barplot 이 그래프로 안보여져요.
0
70
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
75
2
타이타닉 csv 파일이 주피터 화면에 보이지 않습니다.
0
64
2
5강 강의 오류가 있어요.
0
84
1
실무에서 LTV 관련 모델 선택 질문입니다!
0
72
2
14강 강의 듣는중에 궁금한게 있어서 질문합니다~
0
69
3
파이썬 다운그레이 후 사이킷런 재설치
0
117
2
좋은 강의 감사합니다.
0
72
2
scoring 함수 음수값
0
67
2
6번 강의에 사이킷런, 파이썬, 아나콘다 각각 버전 일치 안 시키고 진행해도 강의 따라가 지나요?
0
100
2
분류 평가 정확도 예측
0
76
2
안녕하세요. 강의 들으면서 업무에 적용하고 싶은 수강생입니다.
0
98
1
카카오톡 채널 있나요
0
106
1
혹시 강의에서 사용하시는 ppt 받을 수 있는건가요
0
189
2
pca 스케일링 관련하여 질문드립니다.
0
100
2
주피터 대신 구글 코랩
0
172
2
강의에서 사용하는 pdf or ppt자료는 따로 없는 건가요?
0
147
2
실루엣 스코어..
0
84
2
float64 null 값 처리 방법
0
102
2





