인공지능/머신러닝

머신러닝중 샘플표본이 부족할때: oversampling

공부짱짱열심히하기 2022. 12. 2. 12:01

머신러닝에 필요한 데이터를 수집한후

러닝을 돌리려할때 모은 표본의 비율이 불균형하거나 너무 양이 적을때가 있다.

정상과 비정상의 결과중 정상이 과대수집되어있다면

비정상의 결과도 정상으로 예측해버리는 결과가 나올수 있다는것 즉 '정확도'가 낮아진다는것이다.

이경우가 반대 경우보다 심각한문제를 야기하는데 맞는걸 틀리다고 예측하는경우 직접 수정해주면 문제가 해결이 되지만

비정상을 정상으로 처리해버리면 추적이 쉽지 않기 때문이다.

 

과표집 되어있는 0 데이터

이런경우 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)