Loading...
2024. 8. 30. 21:00

여러가지 ensemble learning 방법들

1. background ensemble이란 단일 알고리즘보다 적당히 여러개 알고리즘을 조합해서 성능이 향상되길 기대하는 것 모든 데이터셋에 대한 우수한 알고리즘이 존재하는가?    위 그림에서 x축은 데이터셋이고 y축은 알고리즘의 상대적인 에러이고 각 line은 알고리즘에 따른 그래프 그림을 보면 모든 알고리즘 각각이 모든 데이터셋에 우수하진 않다 neural network도 Diabetes라는 데이터에는 에러율이 높다 특정 알고리즘이 모든 데이터셋에 대해 항상 열등한가? 우월한가? 그것은 아니다  따라서 하나의 알고리즘을 쓰는 것보다 여러 알고리즘을 모두 쓰는 것이 좋은 인사이트를 얻을 수 있다   2. ensemble learning  여러 개의 분류기를 생성하고 그 예측을 결합함으로써 보다 정확한..

2024. 8. 25. 22:33

정형데이터를 위한 딥러닝 모델 TabNet 간단하게

1. introduction 정형 데이터를 위한 딥러닝 모델 테이블 형식의 데이터에 적합한 학습 아키텍처  전처리 과정이 필요없음   기존에는 feature 선택과 모델 학습 과정이 나누어져 있지만 TabNet은 한번에 가능하게 만듦  각 의사결정 단계에서 순차적인 attention으로 추론할 feature를 선택함 feature의 선택으로 어떠한 feature가 중요한 특징을 가지는지 설명도 가능함 label이 없는 데이터가 많을 때 self-supervised learning으로 representation에 효과적인 성능 향상을 보여줌 의사결정 각각 에서 왜 그 feature를 선택했는지 local interpretability와  모델이 만들어지면서 어떤 근거로 feature들이 선택되었는지 glo..

2024. 4. 3. 02:30

정형데이터 분석에서 feature selection하는 몇가지 방법

1. introduction 머신러닝 모델에서 직접 사용할 feature를 선택하는 과정 머신러닝 모델이 target변수를 예측하는데 유용한 feature와 유용하지 않은 feature를 구분해서 유용한 feature를 선택하는 과정 feature selection을 하면 모델의 복잡도를 낮춰주고 overfitting을 방지하며 속도를 높여주는 효과 그다지 도움이 되지 않는 noise feature를 제거하면 모델 성능이 오를 수도 있음 2. filter method model과는 상관없이 통계적인 측정방법으로 feature들의 상관관계를 알아내어 selection을 하는 방식 feature간의 상관계수를 이용하는 이 방식이 모델에 반드시 적합하다고 보기는 어려운데 계산속도 빠르고 간단하면서 featur..

2023. 12. 8. 01:40

정형데이터 분석에서 feature importance와 permutation importance

1. introduction target 변수를 예측하는데 얼마나 유용한지에 따라 feature에 적절한 점수를 할당하여 중요도를 측정함 model-specific한 방법은 머신러닝 모델 자체에서 feature importance를 계산하게 해주는 기능을 제공함 model-agnostic한 방법은 머신러닝 모델에서 제공하는 기능에 의존하지 않고 모델을 학습한 후에 적용되는 feature importance를 계산하는 방식 2. boosting tree model-specific feature importance 2-1) LightGBM training된 LightGBM class에 feature_importance를 호출함 importance_type을 인자로 받는데 기본값은 'split'으로 tree ..

2023. 12. 7. 01:49

cross validation out of fold prediction

model training시 cross validation을 통해서 model의 fold를 여러개 나눠서 out of fold validation 성능을 측정하고 test data예측을 통해 성능 향상을 유도 대충 데이터가 다음과 같이 생겼는데 2009/12~2011/11까지 데이터가 존재하고 우리가 예측해야할 것은 2011/12 train data는 2009/12~2011/11이고 test data는 2011/12 1) 2009/12~2011/11에서 적절하게 train과 validation을 label별로 고른 비율을 가지도록 stratified k fold split함 2) 각 fold별로 validation 예측을 하고 예측한 것을 out of fold에 하나 하나 다 모으는 거 3) 그리고 각 ..

2022. 6. 28. 12:32

time series data의 cross validation에 대한 여러가지 고찰

time series data는 일반적인 cross validation으로 검증을 수행해도 무리가 없을까? 일반적인 cross validation을 수행하면 과거 미래 데이터가 무작위로 섞일 것이다. 미래를 예측하기 위해서는 그 이전의 정보를 사용하여 예측하는 것이 기본인데 무작위로 뒤섞인다면 당연히 예측 성능이 떨어질 것이다. 1. ordering by time 기본적인 방법 중 하나는 데이터를 시간 순서대로 정렬하고 validation set을 train set보다 미래에 있는 것으로 선택하고 test set도 validation set, train set보다 미래에 있는 데이터를 선택하는 것이다. 이게 가장 흔하고 자주 사용하는 방법같다 그러나 이 방법이 안좋은 점은 test set은 무작위로 선택..