728x90
인프런에서 타이타닉 데이터를 다뤄보기는 했지만, 캐글을 처음해보므로 복습차원에서 타이타닉 데이터를 분석해보고자 한다. 개념적인 부분보다는 실제 캐글 노트북을 제출해봄으로써 시각화라던가 코딩적인 부분 등에서 얻을 것이 있을 것이다.
[핸즈온 머신러닝] 책과 아래의 캐글 노트북을 참조했다.
www.kaggle.com/ash316/eda-to-prediction-dietanic
1. 부스팅
- AdaBoost : 경사하강법과 비슷한 알고리즘이다. 한 예측기로 분류를 하고, 예측기의 에러율과 가중치를 계산하고 그 가중치로 해당 예측기에서 잘못예측한 샘플들에 대해 업데이트를 실시한다.
- Gradient Boosting: 그래디언트 부스팅은 예측기를 순차적으로 적용하는 방식은 같지만, 잔여 오차에 새로운 예측기를 학습시킨다.
from sklearn.tree import DecisionTreeRegressor
tree_reg1 = DecisionTreeRegressor(max_depth = 2)
tree_reg1.fit(X, Y)
y2 = y - tree_reg1.predict(X) # y2 는 잔차 (실제값 y - 예측값 y_hat(1))
tree_reg2 = DecisionTreeRegressor(max_depth = 2)
tree_reg2.fit(X, y2)
y3 = y2 - tree_reg2.predict(X)
tree_reg3 = DecisionTreeRegressor(max_depth = 2)
tree_reg3.fit(X, y3)
# 위와 같이 3개의 예측기를 학습시킴.
y_pred = sum(tree.predict(X_test) for tree in (tree_reg1, tree_reg2, tree_reg3))
# 학습시킨 예측기를 토대로 예측값을 산출
# y = tree_reg1.predict(X) + tree_reg2.predict(X) + y3 이다.
원래는 정리를 좀 해보려 했는데, 참조한 캐글노트북이 너무 잘되어 있어서 달리 추가할게 없다.
728x90
'캐글도전기' 카테고리의 다른 글
[캐글] 5. 코로나 확진자수, 사망자수 예측 (0) | 2021.02.11 |
---|---|
[캐글] 4. Predict Future Sales 데이터(시계열) (0) | 2021.01.25 |
[캐글] 2. NLP with disaster tweets (0) | 2021.01.06 |