predict 를 직접 구하는 방법에 대한 질문
444
작성한 질문수 2
질문1)
질문1-1)
reg.predict(x_test) 할 때 x_test의 각각의 genre_cols(독립변수)들을 reg가 어떻게 찾는지 궁금합니다.
reg.coef_ 해보면 array로 나와서 그냥 순서로 보는건지 아닌지가 헷갈려서 그렇습니다.
질문1-2) 만약 reg의 각 coef_에 column(독립변수) 정보가 있어서 그걸로 매칭하는 거라면 그 정보는 어떻게 확인하고 어떻게 접근하는지 궁금합니다.
질문1-3) 만약 reg의 coef_순서와 x_test cols의 순서를 매칭해서 계산한다면 테스트셋과 reg의 독립변수의 순서가 항상 동일하다는 가정하에 진행하는 건지 그래서 항상 순서가 엉키지 않도록 구성해야하는 건지 궁금합니다.
질문2)
비슷한 질문인데요
predict = reg.predict(x_test) 의 return 으로
[array, shape (n_samples,)] predicted values.
가 온다는데
predict가 array 형식이라면 rmse 계산을 위해 mean_squeared_error(y_test, predict) 할 때 이것도 movie 순서로 비교하는 것인지 그렇다면 두 인자가 같은 영화에 대한 평점을 비교할 것이라고 어떻게 보장하는지 궁금합니다.
(질문1과 다르게 같은 테스트 셋을 역할에 맞게 쪼갠 거(x_test, y_test)라서 순서가 어느정도 보장될 거 같기는 합니다.)
질문3)
사실 질문1, 2는 아래와 같이 reg.predict() 대신 직접 구하려다보니 생긴 질문이었는데요.
두 세트(reg.coef, x_test)를 컬럼의 순서로 매칭을 시키고 그 순서가 보장됐다는 가정 하에 아래와 같이 짜보았고 값도 predict 함수와 같은 값을 잘 구할 수 있었습니다.
predict = []
for i in range(len(x_test)):
result = reg.intercept_
for y in range(0, len(genres.columns)):
result += x_test.iloc[i, y] * reg.coef_[y]
predict.append(result)
predict
질문3-1)
직접 짤 경우에 이렇게 짜는게 맞는지 궁금합니다. 맞다면 독립변수 순서가 다르면 안 돼서 안전하게 columns sorting을 하는게 좋겠죠?
질문3-2)
제가 위에를 직접 짜기 위해서 dataFrame for문 돌리는 거 하나하나 다 찾아봐서 제가 원하는 형식의 loop를 찾아서 하기는 했는데요.
직접 predict를 만들고 싶은 경우에 loc나 다른 for문이나 groupby나 사용해서 저것보다 더 간단하게 하는 방법이 있는지도 궁금합니다.
답변 1
1
질문 1, 2)
컬럼과 로우의 순서에 따라 계산합니다.
https://stackoverflow.com/questions/51663071/sklearn-fit-vs-predict-order-of-columns-matters
질문 3)
sklearn의 linear_model에서 predict를 어떻게 구현하고 있는지 직접 보시는게 도움이 될 것 같습니다 :)
https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LinearRegression.html
에서, predict에 대한 설명으로 가시면 오른쪽에 [source]가 있어요. 클릭하면 이 함수가 어떻게 구현이 되어있는지를 직접 볼 수 있습니다.
공부하시는데 도움이 되었으면 좋겠어요. 강의를 적극적으로 들어주셔서 감사합니다!
강의자료 requirements.txt 파일 위치?
0
401
2
추천시스템 심화 강의는 언제 올라오나요?
0
395
1
list of list 사용 이유
0
277
1
Lasso 하이퍼 파라미터 튜닝 강의 부분에서 질문드립니다.
0
397
1
현업에서 어떠한 방식으로 진행하는지 궁금합니다
1
268
1
train / test 구분하여 생기는 문제에 대해서
1
270
1
list(zip 사용하는 부분에서 질문드립니다.
1
257
1
predict 만드는 부분에서 질문합니다.
1
199
1
쿼리질문합니다!
0
240
1
1분 질문
0
272
1
4:37 부분 질문입니다
1
249
1
1:50에 나오는 주석?처리 단축키가 뭔가요?
1
213
1
[강사님] Content_based가 이게 맞나요?
1
216
1
user_profile_list 및 리니어/라쏘 모델 설치 질문
0
249
1
실제 서비스에서 추천시스템을 사용하려면 매번 db의 모든 유저정보를 csv파일로 가져와서 알고리즘을 사용해야하나요?
0
252
1
regex 추출 한줄로
2
296
1
requirements.txt
1
192
1
Google Colaboratory 설치
1
225
2
오버피팅 방지 방법 관련 참고할 수 있는 코드가 있을까요?
1
339
2
sunplot
5
216
1
숙제3, 숙제4 결과 분석에 대한 질문입니다.
2
251
2
보충자료 링크 확인 부탁드립니다.
1
205
2
다음강의 시간
0
196
1
다른 확장자를 가지는 파일에 대한 분석
1
236
1





