본문 바로가기

임영윤

many features 와 missing Values의 small datasets에서 classification ML 적용하기

해커톤 진행중이다. 

주어진 데이터셋은 다음과 같은 성질을 띄고 있다.

1. 데이터의 양이 적음 (600개)

2. 데이터의 양에 비해 데이터의 feature(특징)가 많음 (3000개)

3. 결측치가 상당히 많음

4. 처리해야할 테스크는 3개의 레이블로 분류

 

어떤 모델을 적용시켜야할까?


 

Overfitting with Small Datasets

적은 데이터 세트로 작업할 때 공통적으로 발생하는 문제 중 하나는 과적합(Overfitting)입니다. 과적합은 모델이 너무 복잡하고 훈련 데이터에 너무 잘 맞아서 새 데이터에 대한 일반화가 제대로 이루어지지 않을 때 발생합니다. 작은 데이터 세트에서 과적합을 완화하려면 더 간단한 모델을 사용하는 것이 좋습니다.

Handling Missing Values

결측 값 처리는 데이터 세트 작업에서 중요한 부분입니다. feature에 누락된 값이 많으면 분류 모델의 성능에 부정적인 영향을 미칠 수 있습니다. 결측 값이 있는 feature 제거, 결측 값이 있는 sample 제거, 결측 값을 데이터의(예: 평균, 중앙값)으로 채우는 등 결측 값을 처리하는 여러 가지 방법이 있습니다.

Model Selection

 3개의 레이블 분류 문제를 해결하고 있습니다. 의사 결정 트리 기반 모델 (Random Forest, Gradient Boosting)  및 SVM(Support Vector Machine)은 작은 데이터 세트에서 잘 수행되는 좋은 모델입니다. 그러나 이 데이터셋에 가장 적합한 모델을 선택하기 위해서는 데이터셋의 특성을 분석하고 다양한 모델을 평가하는 것이 좋습니다.

작은 데이터 세트의 경우 Naive Bayes, KNN(K-Nearest Neighbors) 또는 로지스틱 회귀와 같은 더 간단한 모델을 사용하는 것이 좋습니다. 이러한 모델은 많은 수의 기능에서도 잘 작동하며 과적합이 발생하지 않습니다.

Conclusion

결론적으로 많은 feature, 결측 값이 있는 작은 데이터 세트로 작업할 때 과적합 가능성을 고려하고 결측 값을 효과적으로 처리하는 것이 중요합니다. 데이터 셋의 feature와 당면한 문제를 고려하여 모델 선택에 신중하게 접근해야 합니다.

이 데이터 셋의 특성을 기반으로 Naive Bayes, K-Nearest Neighbors, Logistic Regression, Decision Trees, Random Forest, Gradient Boosting 및 Support Vector Machines를 평가하여 작업에 가장 적합한 모델을 결정하는 것이 좋습니다. 


Naive Bayes: 나이브 베이즈 분류는 베이즈 정리에 기반한 통계적 분류 기법입니다. 가장 단순한 지도 학습 (supervised learning) 중 하나입니다. 나이브 베이즈 분류기는 빠르고, 정확하며, 믿을만한 알고리즘입니다. 정확성도 높고 대용량 데이터에 대해 속도도 빠릅니다.

 

K-Nearest Neighbors: K-최근접 이웃(K-Nearest Neighbor)은 머신러닝에서 사용되는 분류(Classification) 알고리즘입니다. 유사한 특성을 가진 데이터는 유사한 범주에 속하는 경향이 있다는 가정하에 사용합니다.

 

Logistic Regression: 회귀를 사용하여 데이터가 어떤 범주에 속할 확률을 0에서 1 사이의 값으로 예측하고 그 확률에 따라 가능성이 더 높은 범주에 속하는 것으로 분류해주는 지도 학습 알고리즘입니다

 

Decision Trees: 각 내부 노드가 feature을 나타내고 각 branch가 feature을 기반으로 하는 decision을 나타내며 각 leaf 노드가 output class를 나타내는 트리 기반 모델입니다.

 

Random Forest:  Decision Trees들을 엮어서 Forest를 만듦으로써 더 좋은 예측을 하게 만드는 분류 기법의 하나입니다. Random Forest는 Support Vector Machine, Boosting 등과 함께 아주 좋은 예측 성능을 가지는 머신 러닝 기법 중 하나입니다.

 

Gradient Boosting: Decision Tree와 Graident 경사하강법을 활용하여, 오차를 구한 후,부스팅 알고리즘을 활용합니다.
이러한 GBDT기반의 대표적인 모델들로는 XGBoost, LightGBM, CatBoost등이 있습니다.

 

Support Vector Machines: 서포트 벡터 머신은 분류에 쓰이는 지도학습(supervised learning)모델 중 하나입니다. 학습을 통해 데이터를 분류하는 기준선인 결정 경계(decision boundary)를 알아냅니다. 이때 결정 경계는 속성의 차원에 따라 선이나 면이 될 수 있습니다.

 

 

원래는 Tabular dataset의 Task를 수행할 수 있는 구글에서 발표한 TabNet deep-learning 모델을 사용해서 base-line은 넘겼다. 하지만 원하는 점수를 얻지 못하여 데이터셋을 다시 분석하고, 원초적인 방법으로 해결하고자한다. ㅎㅇㅌ