You can make anythingby writing
C.S.Lewis
SMOTE 오버샘플링, train/test 분류
시간이 나면 분석했던 프로젝트 리뷰를 짬짬히 올려보려고 하고 있지만
오랜만에 글을 올리는 것 같습니다.
구독자 분들께서 응원의 댓글도 남겨주시고 하여 더 힘이 나는 요즘입니다.
오늘은 캐글대회 SUV 구매 결정 예측 바카라사이트 분석 두번째 시간입니다.
지난번에 SUV 타겟 변수인 label 0 (구매결정 안함)바카라사이트 수와label 1(구매결정 함) 바카라사이트 수가
비율이 5:5 가 아니라는 것을 확인했습니다.
극단적으로 차이가 나지는 않지만 바카라사이트 비율을 동일하게 맞춰서
모델 훈련을 하면 좀 더 정확도 높은 모델을 만들 수 있습니다.
불균형적인 바카라사이트량을 샘플링을 통해서 균등하게 맞춰주도록 하겠습니다.
샘플링은 언더샘플링과 오버샘플링이 있는데
언더 샘플링의 단점으로는 잠재적으로 정보 가치가 높은 바카라사이트를 버리는 방식으로 유용한 바카라사이트가 사라지는 위험이 있습니다.
오버샘플링은 동일한 바카라사이트를 똑같이 복사해서 수만 늘리는 방식으로 오버피팅, 과적합 위험성이 있습니다.
언더샘플링과 오버샘플링 모두 ML을 돌려본 결과 오버샘플링이 ML정확도 0.01% 더 높게 나왔기 때문에
오버샘플링 방식으로 바카라사이트를 학습시켰습니다.
오버 샘플링은 또 SMOTE 방식과ADASYN 방식으로 나누어지는데요.
두 방식으로 모두 샘플링을 해본 결과 SMOTE 방식이 좀 더 정확도가 올라갔기에SMOTE 방식을 사용하기로 했습니다.
오버샘플링은 지난 시간에 바카라사이트 수가 상대적으로 부족한 label의 바카라사이트 수를 상대 바카라사이트 수와 비율이 맞게 임의의 바카라사이트를 생성하는 것이라 설명드렸습니다.
동일한 바카라사이트를 똑같이 복사해서 수만 늘릴 때과적합이 발생할 위험이있지만 SMOTE 방식은 나름의 수학적 거리 계산을 바탕으로 샘플을 생성하여 과적합 발생 소지가 줄어듭니다.
* 보통 과적합(Overfitting) 위험이라고 말하는 것은 지나치게 훈련바카라사이트와 fitting이 된 모델로 다른 바카라사이트를 넣었을 때 일반화하지 못하고 성능이 떨어지는 모델을 말합니다.
바카라사이트 수를 늘리는 생성 단계는 다음과 같습니다.
- 소수 바카라사이트 중 특정 벡터 (샘플)와 가장 가까운 이웃 사이의 차이를 계산한다.
- 이 차이에 0과 1사이의 난수를 곱한다.
- 두 개의 특정 기능 사이의 선분을 따라 임의의 점을 선택할 수 있다.
필요 함수를 정의하여 SMOTE 방식으로 label 1의 바카라사이트 수를 늘리고 차트 시각화합니다.
class = 0, n=257
class = 1, n=257
에서 알 수 있듯이 동일한 비율의 바카라사이트로 비율을 맞췄습니다.
자 이제 바카라사이트는 모두 준비 완료되었습니다.
독립변수로 사용할 X(data)에는 Age(나이), EstimatedSalary(예상연봉), 정규화한 Gender_Female(여성), Gender_Male(남성) 성별 바카라사이트를 입력합니다.
타겟변수로 사용할 y(target)에는 방금 SMOTE 방식으로 오버샘플링한 구매 결정 여부 label 0와 1 바카라사이트를 넣어주었습니다.
독립변수와 종속변수(타겟)를 정의하였다면 그 다음 train바카라사이트와 test 바카라사이트로 나누어 봅니다.
train바카라사이트와 test 바카라사이트를 나누는 이유는 훈련 바카라사이트(train data)로 모델을 훈련시킨 모델을 실제로 다른 바카라사이트에 적용하였을 때 성능이 우수한지 평가하기 위해서입니다.
우리가 시험을 볼 때 공부한 문제가 100% 동일하게 시험에 나오지 않는 것처럼 성능을 평가할 시험문제는 훈련바카라사이트와 달라야 합니다.
이때 동일한 훈련바카라사이트로 평가한다면 그 모델은 신뢰할 수 없을 것입니다.모델 훈련을 하기 전 보통 7:3의 비율로 훈련/test 바카라사이트를 나눕니다.
train과 test 바카라사이트를 나누었다면 적합한 모델을 찾는 바카라사이트 마이닝 단계를 거칩니다.
SUV Car 결정 구매 바카라사이트셋은 이진 예측 분류 바카라사이트셋으로KNN, 로지스틱 회귀분석, 결정트리, XGboost등 다양한 알고리즘을 적용할 수 있습니다.
최적의 모델 알고리즘을 찾기위해서는바카라사이트 마이닝 단계를 거칩니다.
전 어떤 알고리즘을 사용했을까요?^^
다음 시간에는 모델 훈련과 최적의 하이퍼 파라미터를 찾는 방법에 대해서 설명드리겠습니다.