인프런 커뮤니티 질문&답변

한창현님의 프로필 이미지
한창현

작성한 질문수

[개정판] 파이썬 머신러닝 완벽 가이드

스태킹 모델 소개 - 교차검증 스태킹

스태킹 모델 활용 문의드립니다.

작성

·

193

0

만약 스태킹 모델(lr_final)을 pickle 등 객체로 저장하여

경연 등에서 정답 분류에 사용하고자 할 때,

스태킹 모델인 lr_final뿐 아니라 lr_final 모델을 만드는데 사용한 knn_clf, rf_clf, dt_clf, ada_clf 4개의 classifier 모두 객체로 저장해야 하는걸까요?

 

5개의 classifier를 모두 불러온 후 예측하고자 하는 데이터셋을 개별 모델들의 predict 함수의 인자로 넣어준 후, 이를 스태킹 모델의 인자로 다시 넣어주는게 맞는 순서인건가요??!!

답변 2

1

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

스태킹의 경우 pickle로 모델을 저장해서 predict를 하려면 일반적으로는 메타 모델이 사용할 테스트 데이터를 다시 만들어야 합니다. 이 경우에는 개별 모델(knn, rf, dt, ada)들이 모두 pickle로 저장되어 있어야 합니다.

그러니까 메타 모델은 일반적으로 주어지는 테스트 데이터가 아니라 stacking형태로 된 테스트 데이터가 주어져야 합니다. 이를 위해서 개별 모델을 이용해서 다시 테스트 데이터를 만들어 줘야 합니다.

그리고

"5개의 classifier를 모두 불러온 후 예측하고자 하는 데이터셋을 개별 모델들의 predict 함수의 인자로 넣어준 후, 이를 스태킹 모델의 인자로 다시 넣어주는게 맞는 순서인건가요??!!"

는 5개의 classifier를 모두 불러온 후 예측하고자 하는 데이터셋을 개별 모델들의 predict 함수의 인자로 넣어줘서 테스트 데이터를 만든 후 이를 스태킹 모델의 predict 인자로 넣어서 예측을 해줘야 합니다.

 

감사합니다.

 

0

한창현님의 프로필 이미지
한창현
질문자

답변 감사합니다, 책이나 강의 예시에서는 knn, rf, dt, ada 4가지 개별 분류 기법을 stacking 하는 방식으로 구현하셨는데,

혹시 경연(대회) 등에서 정확도 향상 등을 목적으로 XGBoost와 LGBM, CatBoost와 같은 부스팅 알고리즘을 stacking 할 수도 있는걸까요???

권 철민님의 프로필 이미지
권 철민
지식공유자

네 그렇게 하셔도 됩니다

한창현님의 프로필 이미지
한창현

작성한 질문수

질문하기