인공지능/머신러닝
머신 러닝 : Logistic Regression up sampling기법 imblearn.over_sampling SMOTE
왕현성
2022. 12. 2. 12:03
728x90
위와 같은 사진의 데이터프레임에서 당뇨병을 분류하는 모델을 만드는 도중
y값을 'class'컬럼으로 두었다. 당뇨병 환자는 1, 아닐 경우 0이다.
sb.countplot(data=df,x='class')
plt.show()
위 코드를 작성하여 시각화 해보니
당뇨병인 사람의 데이터가 훨씬 적다.
그래서 up sampling 기법으로, 당뇨병 데이터를 늘려보았다.
from imblearn.over_sampling import SMOTE
sm = SMOTE(random_state=2)
X,y=sm.fit_resample(X,y)
X
'class'의 밸류 값들이 1도 500 / 0도 500으로된 것을 확인할 수 있다.
이후
피처스케일링부터 검증까지 해주고 이를 seaborn의 heatmap으로 시각화까지 해보았다
sb.heatmap(data=cm,annot=True,cmap='RdPu',linewidths=0.7)
plt.show()