codestates / codestates/ds-TIL
[TIL] 김민채_201028
- Dominant language
- No language data
- Stars
- 2
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
### Today I learn_38
**1. permutation importance , boosting (gradient boosting)**
- 모델을 만들거나 만든 모델의 성능을 평가할 때 영향을 미치는 중요한 특성인지는 상당히 중요하다.
- 지금까지는 보통 feature_importaces 를 통해 해결했지만 단점이 있다.
사실상 모델 성능과 상관없는 녀석이더라도 범주가 많다는 이유만으로 feature importaces에서 상위권 진입이 된다는 것.
- 따라서 다른 방법을 통해서 확인해야 한다.
- 그중 column을 drop 시키기 전/후 를 직접 계산하면 확실히 중요한 특성인지 여부를 알 수 있겠지만
features 의 수가 적지 않은 경우 굉장한 시간적, 인적 비용을 발생시킨다는 단점이 있다.
- permutation importance 은 실제 중요한 특성인지를 확실히 가려주면서도 굳이 drop을 하지 않음으로써 시간적 비용을 절약해주는 큰 장점이 있다.
- 순열이라는 말 그대로 feature의 기존값을 순서만 바꾼 채 순서를 매기고 나열한다.
- 마치 drop을 한 것마냥 순열 과정을 거친 feature는 영향력이 작아지게 되고
- 결국 모델에서 영향력이 제외된 채 성능을 계산함으로써 중요한 역할인지 여부를 판단할 수 있는 것이다.
- gradient boosting 은 특이하게 residual(잔차)를 계산한 후 이전 tree의 residual을 다음 tree가 연이어 학습함으로써 더 이상 residual 차이가 없을 때까지 학습시킨다.
- 실제로 굉장히 빨랐고, 바로 과적합이 적을 수 있는 모델을 만들 수 있었다.
**2. Impression from Today**
- feature importance 를 바로 알 수 있는 총 3가지 방법을 배울 수 있었다.
- 그래도 전보다는 알아먹는 게 많아지는거 같아서 기분은 좋았다.
- 물론 gradient boosting 은 정확히 이론을 알아듣진 못했지만, 사용해보면서 감을 만드는 중이다.
- 자꾸만 피곤해져서 걱정이다.
- 내가 선택한 dataset에서는 어떻게 해야 할지, 고민이 된다.
- 이미 과적합 여부가 별로 없는 상황인데 제대로 공부하기 위해 다른 dataset을 선택해야 하는 걸까.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.