머신러닝에 필요한 데이터를 수집한후
러닝을 돌리려할때 모은 표본의 비율이 불균형하거나 너무 양이 적을때가 있다.
정상과 비정상의 결과중 정상이 과대수집되어있다면
비정상의 결과도 정상으로 예측해버리는 결과가 나올수 있다는것 즉 '정확도'가 낮아진다는것이다.
이경우가 반대 경우보다 심각한문제를 야기하는데 맞는걸 틀리다고 예측하는경우 직접 수정해주면 문제가 해결이 되지만
비정상을 정상으로 처리해버리면 추적이 쉽지 않기 때문이다.
이런경우 up sampling기법으로 1의결과값의 데이터를 늘려주면됨
from imblearn.over_sampling import SMOTE
※imblearn 라이브러리는 설치를 해줘야함
sm = SMOTE()
sm.fit_resample(X,y)
이렇게 하면 둘의 수가 맞춰진다.
늘어난 데이터수
from imblearn.over_sampling import SMOTE ※imblearn 라이브러리는 설치를 해줘야함 sm = SMOTE() sm.fit_resample(X,y) |
'인공지능 > 머신러닝' 카테고리의 다른 글
[머신러닝4] Support Vector Machine (0) | 2022.12.02 |
---|---|
[머신러닝3] K-Nearest Neighbor (0) | 2022.12.02 |
[머신러닝2] 범주형 변수예측: Logistic Regression (0) | 2022.12.02 |
[머신러닝1] 수치예측: regression (0) | 2022.12.01 |
[머신러닝0] 머신러닝의 기초(총정리) (0) | 2022.12.01 |