Kaggle and Data Analytics 3

선형회귀 모형의 규제(Regularization) - 리지(Ridge), 라소(Lasso)

아래의 내용들은 [Introduction to Machine Learning with Python (O'Reilly)]를 참고하였습니다. 선형회귀 모형의 경우 컬럼이 너무 많아지면 Training Samples에 과대적합되어서(Large Variance) Test Set에서는 낮은 성능을 보이는 문제가 발생할 수 있다. 이를 규제(Regularization)이라고 한다. 1. Ridge Regression (L2) \( \lambda \) 값이 커질수록 Penalty가 커지고, 각각의 컬럼의 weight이 작아진다. 따라서 모든 컬럼이 동일한 가중치로 모델링에 반영되는 것이 아니라, 과대적합을 일으키는 컬럼들에는 weight를 매우 작게 줘서 덜 반영되게 한다. 단, 데이터가 많아질수록 선형회귀 모형 자..

Boosting Models - CatBoost, XGBoost, L-GBM 비교해보기

※수식과 증명은 추가 예정입니다 :) 0. Boosting Model이란? 참고 자료: https://www.youtube.com/watch?v=3CC4N4z3GJc&t=311s 간단하게 말하면 Boosting 모델은 각각의 트리들이 서로를 참고하며 더 나은 트리를 만들어나가는 것을 말한다. Gradient Boosting Boosting Model에서의 learning rate은 각각의 트리에서 생성된 Psudo Residual에 곱해지는 수를 말한다. (속도 조절 역할) 1) Boosting Model에서는 먼저 예측값의 평균을 구한다(아래 예제에서는 71.2) 그리고 평균과 관측값의 차이를 'psudo residual'값으로 두고, 이 값을 기준으로 트리모델을 만든다. 두 개 이상의 output을 ..

결정나무(Decision Tree),랜덤포레스트 (Random Forest), 그래디언트부스팅(Gradient Boosting) + 배깅(Bagging)

아래의 내용들은 [Introduction to Machine Learning with Python (O'Reilly)]를 참고하였습니다. 0. 언제 트리모델을 써야할까? 트리모델들은 컬럼이 너무 많아지면 (>1,000 columns) 차원의 저주가 발생한다. 따라서 1,000개 미만의 column이 있을 때 트리모델을 쓰면 좋은데, 그렇다면 Bagging/Boosting 선택은 어떤 기준으로 할까? 1. Decision Tree의 장단점 장점: 시각화가 쉽다. 스케일에 구애받지 않는다. 단점: Max_depth를 지정해주어도(사전 가지치기) 과대적합되는 경향이 있다. Decision Tree의 치명적인 단점인 과대적합을 극복하기 위해서 보통 앙상블(Ensemble) 모델을 사용한다. 우선, 트리모델을 사..