본문 바로가기

sklearn

(4)
[ML] Scikit-learn을 이용한 Stacking 구현하기 이번 포스팅에서는 저번 시간에 다루었던 Ensemble(앙상블)모델의 연장선인 Stacking에 대해 알아보려고 한다. Stacking에 대한 개념과 동작 방법에 대해 시각적으로 알아보고 이를 Python과 Scikit-learn을 이용해 직접 구현하는 방법에 대해 살펴본다. 목차는 다음과 같다. 1. Stacking이란? 2. Stacking이 동작하는 방식 3. Scikit-learn을 이용해 Stacking을 구현해보기 1. Stacking이란? Stacking의 'Stack'의 사전적 의미는 '쌓다' 정도로 볼 수 있다. 컴퓨터의 자료구조 중 하나로서 '스택'이라는 개념도 존재하는데, 의미가 완전하게 동일하진 않지만 '쌓다' 라는 의미의 관점에서는 통한다고 볼 수 있을 것 같다.(지극히 개인적인 ..
[ML] Scikit-learn을 이용해 Ensemble 모델들 구현하기 이번 포스팅에서는 Scikit-learn library를 이용해서 여러가지 Ensemble 모델들을 구현해보는 방법에 대해서 알아보려고 한다. 해당 포스팅에서는 Ensemble에 대한 이론적인 부분은 주요내용으로 다루지 않으므로 이론적인 내용에 대해 궁금하다면 여기를 참고하자. 구현해볼 여러가지 앙상블 모델들에 대한 목차는 다음과 같다. 1. Simple Voting 2. Bagging - Random Forest 3. Boosting - GBM 4. Boosting - XGBoost 5. Boosting - LightGBM 1. Simple Voting Voting이라는 방법은 앙상블 모델의 기본적인 방법론 중 하나라고 볼 수 있다. 이 Voting도 구체적으로는 2가지 종류로 나누어 질 수 있다. H..
[ML] Precision 과 Recall의 Trade-off, 그리고 ROC Curve 이번 포스팅에서는 분류 문제 성능을 평가하는 대표적인 metric으로서 Precision과 Recall에 대해 알아보고 이 둘 간의 관계, 그리고 ROC Curve와 이를 Score로 환산한 AUC에 대해서 알아보려고 한다. 그리고 Scikit-learn을 통해서 구현하는 방법에 대해서도 소개한다. 목차는 다음과 같다. 1. Precision 과 Recall 2. Precision과 Recall의 Trade-off 3. F1 - Score 4. ROC Curve와 AUC 본격적인 내용에 들어가기 앞서 Cofusion Matrix에 대한 사전적인 지식이 필요하다. 이에 대한 개념을 모른다면 다음의 포스팅 내용들 중 Confusion Matrix에 대한 내용을 숙지하자. #https://techblog-hi..
[ML] Cross validation과 GridSearch하는 방법 이번 포스팅에서는 머신러닝 모델의 성능을 중간에 평가하는 즉, 해당 모델을 Test 데이터로 검증하기 전에 모델의 성능을 중간점검 하는 하나의 객관적인 방법으로서 교차 검증(Cross validation)을 Scikit-learn 라이브러리를 이용해서 어떻게 해보는지에 대해 다루려고 한다. 그리고 모델링의 가장 최적의 하이퍼파라미터 값을 찾기 위해 일일이 모두 다 해보는 방법인 GridSearch를 코드상에서 어떻게 수행할 수 있는지 소개한다. 여기서 소개할 교차 검증방법으로는 일반적으로 사용되는 K-Fold 방법과 Stratified K-Fold를 소개한다. 그리고 앞의 교차 검증방법을 하나의 함수로 단 한번에 해결할 수 있는 Scikit-learn 라이브러리의 cross_val_score함수에 대해 ..