작성
·
516
0
답변 1
0
안녕하십니까,
early stopping 된 best 모델을 저장하는 것은 early stopping 된 모델 객체를 pickle을 호출하여 저장하면 됩니다. 전체 iteration을 다 수행하지 않고 early stopping 만큼의 iteration으로 학습한 모델이 메모리에 있으므로 그대로 저장하시면 됩니다.
saved_lgbm = pickle.dumps(lgbm_wrapper)
그런데 이걸 원하시는게 아니라 Keras와 같은 Deep learnng framework에서 iteration 마다 모델을 파일로 저장하는 로직을 원하신다면 별도의 Callback 객체로 이를 수행해야 합니다.
모델을 pickle을 통해 파일로 저장하는 로직을 만들어서 이를 Callback 객체로 만든 후에 Lightgbm 학습시 등록해야 합니다. 근데 이렇게 하면 몇백번씩 iteration할때 마다 별도의 파일을 만들게 되어서 학습 시간이 많이 걸립니다. 이 방식은 크게 효용성이 떨어진다고 생각됩니다만, 이걸 원하시면 다시 말씀해 주십시요.
xgboost도 마찬가지 입니다.
감사합니다.