train_test_split에 관한 질문입니다.
안녕하세요, 수업을 들으면서 궁금한 점이 생겨 여쭤봅니다. train_test_split() 메소드를 쓰실 때, x 값으로 ratings 을 사용하고, y값으로 user_id 를 사용했는데, 이 부분이 제 직관과 다른것 같습니다. x, y 값을 설정할 땐 학습하려는 데이터를 x, 결과를 얻고싶은 데이터를 y로 설정하는게 맞지 않나요? 즉 여기서는 x를 user_id, movie_id 등으로 설정하고, y를 rating으로 설정하는것이 학습 -> 예측 관계에 맞는것 같아 이부분이 잘 이해되지 않아서 여쭤봅니다. 또한 x데이터 안에 user_id가 이미 있는데, 예측하고자 하는 y를 user_id 로 설정하는 것 또한 잘 이해가 되지 않습니다! 혹시 이부분에 왜 그렇게 했는지 설명 부탁드려도 될까요?
Answer 1
0
안녕하세요.
거친코딩 입니다.
질문주신 부분에 답변드리겠습니다.
학습자님께서 질문하신 부분은 기본적으로 row하나당 다른 row와의 1:1 비교를 통한 loss 값을 계산하기 위해서는 rating을 y로 쓰는게 맞습니다 (보편적인 ML방식)
사실 이것도 크게 다르지는 않지만, 다른점 두가지를 말씀드립니다.
1) 해당 데이터는 한 row로는 표현할수없다. 해당 데이터에는 유저1명이 1개 이상의 영화에 대해서 평점을 내렸기 때문에 어떻게 보면, 이전의 1:1row를 비교한 것처럼 유저1:유저2를 비교하기위해서는 y값에 일반적인 rating을 넣으면 안됩니다.
2) 해당 마지막 score라는 function을 보시면 결국 user_similarity에서 나온값으로 loss를 비교하고 있고, 그 인자값으로 user_id를 넣게 되어있습니다.
결론은 이거는 row:row비교가 아닌,
유저:유저비교 이기때문에 y값에 rating이 아닌,
유저id가 들어가게됩니다.
감사합니다.
거친코딩 드림
강의 자료 이게 맞나요?
0
69
3
6장 Keras로 MF 구현하기 학습 결과
0
164
2
초심자의 질문
0
120
1
코드 공유 폴더가 비어 있습니다.
0
186
1
코드 공유 관련 부탁드립니다.
1
260
2
section 4 네번째 강의에서 pd.merge(x_train, users) 에러 발생
0
289
1
section 2 네번째 강의 score(cf_gender) 실행하면 Error 발생합니다.
0
201
1
MF알고리즘에서 질문이있습니다.
0
365
1
ean_rating = np.dot(sim_scores,movie_ratings) / sim_scores.sum() 부분에서 질문이있습니다.
0
310
1
score를 실행하면 항상 nan이 출력됩니다
0
328
1
user_id가 인덱스범위를 벗어난 값으로 들어옵니다
0
255
1
인덱스 칼럼은 어떻게 접근해야하나요
0
226
1
제공해주신 데이터링크에 들어가면 404가 뜨는데요?
0
365
1
코드 자동완성 속도가 상당히 느린데 개선할 방법이 있을까요?
0
302
1
ValueError: setting an array element with a sequence
0
473
1
users에 대한 인덱스 설정 기준
0
289
1
ppt 자료
0
286
1
Timestamp 제거 이유
0
397
1
사용자 집단별 추천 강의 11:56 부분에 성별에 따른 예측값 계산에서 MergeError가 발생합니다.
0
436
1
local variable 'movie_ratings' referenced before assignment
0
258
2
3장 CF_knn 코드 질문
0
263
1
실습 중 에러 'numpy.ndarray' object has no attribute 'drop'
0
1165
2
IntCastingNaNError: 관련 에러
0
438
1
인구통계학적 추천 알고리즘
0
346
1

