Open niffler92 opened 6 years ago
어제부터 돌려 놓은 결과를 정리해 보았는데, 그 중 Hyperparam Cross validation Best 모델입니다.
개별 Best는 아래입니다.
추가:
Ensemble.py 를 완성하였는데,
python train_batch.py
로 돌리고 나서 python ensemble.py
실행하면 자동으로 앙상블해주는 파일입니다.
다만 약간 이상한 것을 발견하였는데, 조교님의 F1_score과 sklearn의 F1_score가 다르게 나오네요.. 확인해보고 업데이트 하겠습니다~
TODO
@wonheeML 새로운 커밋 내용입니다. 앙상블 가능하면서도 Train_batch의 결과를 보기 쉽게 정리할 수 있도록 코드를 바꾸어 보았습니다.
설명을 함께 첨부 하는 것이 좋을 것 같아서
train_batch.py
를 돌렸을때의 결과를 첨부합니다. 두 가지 키를 만들었습니다.unique_key
: 한 hyperparam의 train결과로, 1:1대응으로unique_key
에 해당하는 ckpt파일(파일명에unique_key
포함)을 갖고 있습니다. 물론 save_ckpt를 안하면 key만 저장이 됩니다.cv_key
: Cross-validation key로, 같은cv_key
를 가진unique_key
들은 같은 hyperparameter를 공유하면서 다른 val_set으로 트레이닝 한 결과들입니다. 다른 모델을 쓸 때, hyperparamㄷter key가 바뀌어도 results.txt에 새로 추가되면서 없는 부분은 NaN이 되기 때문에 flexible한 것 같습니다.이런 방법으로 아래와 같이
result.txt
를 뽑아서 hyperparameter를 튜닝할 수 도 있고, 아니면 마음에 드는 것들의unique_key
를 골라서 ensemble에 이용하면 될 것 같습니다.ensemble.py
는 내일 만들어보겠습니다!P.S. 아래
unique_key
가 없는 row의 이유는 크게 중요하진 않은데, Cross validation F1 average를 그냥 따로 추가해줬기 때문입니다. ㅎㅎ 원래는 테이블 데이터 groupby로 f1 mean을 생성하면 되긴하는데, 이미 만들어져있어서unique_key
없이 추가했습니다~!