-> 데이터를 대충 보거나 EDA를 대충함.
kaggle에서 다른 사람들 노트북을 참고하거나 토론창에서 물어보거나 하면 좋다.
Data Leakage -> Test data를 활용하면 안되는데 사용함 : 정보 노출
데이터 스플릿 하기 전에 스케일링을 해버리고 스플릿을 하면 데이터 정보가 넘어가버림
전 대회에서는 ~모델 썼을 때 별로였으니까 이번에도 안될거야..
-> 상황마다 다르기 때문에 열린 생각 필요
데이터셋에 따라 다르기 때문에 성능이 좋다고 알려진 모델이 내 데이터셋에서도 좋다는 보장이없다.
대회에서는 앙상블을 하기 쉽기 때문에 안하면 손해.
할 수 있는 상황인데 안 할 이유가 없다.
손실함수, 평가지표 등 중요하다
정형데이터 같은 경우는 손실함수가 정해져 있는 경우가 많지만
XGBoost, LightGBM, Catboost 같은 경우 objective function 을 넣을 수 있다.
log loss, AUC, F1 score 등등 원하는 지표에 맞게 손실함수 넣으면 된다.
보통 public data 50% , private data 50% 가 존재하고 우리는 대회에서 public data만을 가지고 모델을 돌리는데 보통 대회가 끝나면 private data로 돌린 점수를 가지고 등수를 매긴다. 그런데 public data에 overfitting 되는 경우가 있다.
그래서 모델 검증을 잘 해야된다
-> 쉽게는 k-fold cross-validation 사용해서 해결 할 수 있다. 딥러닝에서는 gpu 사용량 때문에 너무 오래걸림. 이럴 경우는 validation data를 공들여서 잘 만들어야 한다. (seed를 바꿔가면서)
내가 이해한걸 팀원이 이해 못 할수도 있고, 반대로 팀원은 이해한 부분을 내가 이해를 못 해서 시간이 오래 걸릴 수 있다.
-> 모델 성능 기록툴을 이용해서 팀원에게 말하지 않아도 서로 성능이 어떻게 나왔는지 공유가 가능해짐
"어떤 모델이 제일 좋음?"
-> 알 수가 없다. 도메인, 데이터 셋에 따라 다 다르기 때문에 실험해봐야 안다.