Loading...
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은 무작위로 선택..

2022. 6. 26. 00:53

데이터 전처리 - 이상치를 처리하는 방법의 기초

1. 이상치란? 데이터 중 일반적인 데이터와 크게 다른 데이터를 의미함 모델 성능에 큰 영향을 줄 수 있어 조심히 접근해야함 위의 왼쪽에는 상관관계가 0.95로 계산되는데 이상해보이는 3개 제거하고 나니 실제로는 랜덤하게 흩뿌려진 데이터 분포를 나타냄 아래의 그림에서 왼쪽을 보면 깔끔하게 상관관계를 보이는 데이터 분포 그런데 이상한 데이터가 추가되고나니 오른쪽처럼 상관관계가 약간 더러워짐? 2. Z score Z score로 이상치를 탐지할 수 있는데 관측치 X에 대해 이들의 평균이 $\mu$, 표준편차가 $\sigma$이면 특정 $i$번째 관측치 $X_{i}$의 Z score란 $$Z_{i} = \frac{X_{i} - \mu}{\sigma}$$로 구해지고 이것은 N(0,1)을 따른다. 정규분포의 특징..

2022. 6. 24. 21:04

정형데이터에서 결측치를 처리하는 방법

boston data에서 임의로 15~25% 결측치를 생성했음 1. pattern을 통한 결측치 처리 결측치의 pattern을 대략적으로 파악하면 어떤 식으로 처리할지 감이 올 수 있음 x축을 개별 변수, y축을 변수의 value로 하고 heatmap을 그림 전체 dataset의 x축을 feature, y축을 feature의 value라고 하여 pattern을 그려보면 왼쪽과 같이 random하게 결측치가 있을 수 있고 오른쪽 처럼 어떤 규칙을 보일수도 있음 위와 같이 boston dataset의 pattern을 그려보니 결측치가 random하게 분포하는 것 같음 random하게 15~25% 결측치를 만들었으니까 가상으로 만든 dataset의 pattern이 위와 같다면 결측치가 어떤 규칙을 가지고 분포..