machine learning에서
데이터 구조가 imbalance할 때 down sampling 기법 중 가장 간단한 방법
무작위 추출 : random sampling
random state를 꼭 설정해주어야 reproducible 함.
#1. DataFrame.sample
원하는 개수만큼 parameter : n= 원하는 개수
전체 dataframe의 길이의 비율 ; parameter : frac= 원하는 비율(0~1) ; replace=true 해줘야함
df=pd.read_csv("C:/Users/comcom/knhanes_eGFR/ua_full.v1.csv")
abnormal = df.query('eGFR_ab==1')
normal_sample = df.query('eGFR_ab==0').sample(n=len(abnormal), random_state=SEED)
print(abnormal.shape)
print(normal_sample.shape)
df_sample = pd.concat([normal_sample, abnormal])
print(df_sample.info())
참고 : pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.sample.html