본문 바로가기

캐글도전기

[캐글] 1. 타이타닉 데이터

728x90

 인프런에서 타이타닉 데이터를 다뤄보기는 했지만, 캐글을 처음해보므로 복습차원에서 타이타닉 데이터를 분석해보고자 한다. 개념적인 부분보다는 실제 캐글 노트북을 제출해봄으로써 시각화라던가 코딩적인 부분 등에서 얻을 것이 있을 것이다. 

 [핸즈온 머신러닝] 책과 아래의 캐글 노트북을 참조했다. 

 

www.kaggle.com/ash316/eda-to-prediction-dietanic

 

EDA To Prediction(DieTanic)

Explore and run machine learning code with Kaggle Notebooks | Using data from Titanic - Machine Learning from Disaster

www.kaggle.com

 

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