본문 바로가기
배움 기록

처음으로 돌아가기

by 작지만 중요한 것들을 발견하는 블로그. 2024. 6. 18.

캐글을 하다보면 뭔가 금방 빨리 잘하고싶어져서 이것 저것 손을 대보곤 한다.

재미있어 보이기도하고, 빨리 잘하고싶은 마음에 잘 알지도 못하는 부분들을 서성거리곤 한다. 

생각해보면 무언가 대단하게 잘 하려고 하기보다는 사실은 간단히고 기본적인 것들을 잘하고 싶은것이다.(지금은 그렇다)

 

데이터를 탐색해서 중요한 포인트를 시각화해서 끄집어내고,

손질하고(결측치 채우고, 극단치 버리고 - 머리 꼬리 자르고, 원 핫 인코딩 슉슉 데이터를 컴퓨터에게 먹기 좋게 대령하고)

모델을 만들어서 돌린다.

 

지금까지 배운 지식으로는

모델을 만들고 층을 쌓고, 층 개수와 유닛을 적절하게 지정해주고

활성화 함수 잘 넣어주고, 손실함수와, 옵티마이저, 메트릭을 적절히 지정해준 후

에포크와 배치사이즈를 잘 지정해주고

데이터를 적절한 사이즈로 train data와 validation data를 분리해준 후 모델을 훈련시킨다.

그리고 train data와 validation data를 그래프로 그려서 과대적합이 되는 지점을 확인하고,

하이퍼 파라미터를 이렇게 저렇게 수정해보고, 튜닝을 시도한다. 규제와 정규화를 해보기도한다. 그리고 data셋을 나누지않고, train을 시킨 후 test data를 예측한다.

 

사실, 지금 실력에서 사실 튜닝이라고 함은 좋은 코드를 보고 따라해보는 것이다.

좋은 코드는 앙상블 기법( SVC, DecisionTree, XGBoost, AdaBoost ,ExtraTrees, RandomForest, gsadaDTC, GradientBoosting, SGD ....)을 따라해보는 것, K-fold 적용해보기, 캐글의 좋은 코드들을 분석해보는 것이다.

 

결과와 feature importance, 여러 시각화 자료들을 통해 어떤 데이터 예측이 틀렸는지?

확인해보고 그 데이터와 관련된 값을 찾아서 고려해봐야할 것 같은데 아직 이부분까지는 오지 못했다.

그리고 나서 결국 깨닫게 되는 것은 여러가지 질문을 가지고 다시 기본으로 돌아오게 되는 것 같다.

 

우선은 여러가지 경험을 해보고 싶은데

결국 계속 타이타닉 예제로 돌아오고있다..ㅋㅋ

타이타닉부터 마스터해봐야겠다.