본문 바로가기

cross validation

(2)
[ML] Scikit-learn을 이용한 Stacking 구현하기 이번 포스팅에서는 저번 시간에 다루었던 Ensemble(앙상블)모델의 연장선인 Stacking에 대해 알아보려고 한다. Stacking에 대한 개념과 동작 방법에 대해 시각적으로 알아보고 이를 Python과 Scikit-learn을 이용해 직접 구현하는 방법에 대해 살펴본다. 목차는 다음과 같다. 1. Stacking이란? 2. Stacking이 동작하는 방식 3. Scikit-learn을 이용해 Stacking을 구현해보기 1. Stacking이란? Stacking의 'Stack'의 사전적 의미는 '쌓다' 정도로 볼 수 있다. 컴퓨터의 자료구조 중 하나로서 '스택'이라는 개념도 존재하는데, 의미가 완전하게 동일하진 않지만 '쌓다' 라는 의미의 관점에서는 통한다고 볼 수 있을 것 같다.(지극히 개인적인 ..
[ML] Cross validation과 GridSearch하는 방법 이번 포스팅에서는 머신러닝 모델의 성능을 중간에 평가하는 즉, 해당 모델을 Test 데이터로 검증하기 전에 모델의 성능을 중간점검 하는 하나의 객관적인 방법으로서 교차 검증(Cross validation)을 Scikit-learn 라이브러리를 이용해서 어떻게 해보는지에 대해 다루려고 한다. 그리고 모델링의 가장 최적의 하이퍼파라미터 값을 찾기 위해 일일이 모두 다 해보는 방법인 GridSearch를 코드상에서 어떻게 수행할 수 있는지 소개한다. 여기서 소개할 교차 검증방법으로는 일반적으로 사용되는 K-Fold 방법과 Stratified K-Fold를 소개한다. 그리고 앞의 교차 검증방법을 하나의 함수로 단 한번에 해결할 수 있는 Scikit-learn 라이브러리의 cross_val_score함수에 대해 ..