본문 바로가기

Data-science/machine learning

[pandas] pandas dataframe 이용해서 그룹별로 train/val 나누기

728x90

가끔 dataframe 자체로 train_test_split을 해야 할 때가 있다. 그럴 땐 어떻게 해야하나...

특히 그룹별로 특정 샘플이 valset에 균등하게 포함되도록 하려면...?

 

간단한 방법

 

groupby후 sampling을 한다. validation을 0.2만큼 하고 싶으면 frac=0.2로 준다.

그렇게 나타난 valDataset의 index를 drop 해주면 된다.

 

이것보다 어려운 방법은

drop의 반대 방법으로 있는 부분만 iloc으로 남기는 것이다.

 

이상 끝

'Data-science > machine learning' 카테고리의 다른 글

rdkit 설치하기  (1) 2022.05.15
dtreeviz IndexError, decision tree visualization  (0) 2020.11.11
epoch, iter ?  (0) 2019.05.20
머신러닝 이미지 데이터 전처리 주의사항  (0) 2019.02.12
SVM 공부  (0) 2019.02.12