boostcampaitech6 / level1-imageclassification-cv-06

level1-imageclassification-cv-06 created by GitHub Classroom
2 stars 2 forks source link

[Enhancement] Age 부분에 Stratified K-Fold Cross Validation 적용 #15

Open hyunseo-k opened 10 months ago

hyunseo-k commented 10 months ago

📌 이슈 설명

Age 부분에 Stratified K-Fold Cross Validation을 적용해보려고 합니다. Age부분의 60대 이상 데이터 비율이 매우 낮아, 이를 적용하는 것이 의미가 있다고 생각합니다.

📋 체크리스트

📎 관련 자료

https://blog.naver.com/sjy5448/222427780700

jae-heo commented 10 months ago

혹시 마스크 데이터셋도 '마스크 : incorrect : 미착용' 비율이 '5:1:1' 인데, Stratified K-fold로 validation을 가져오고 싶거든요. 여러 Dataset에서 사용할 수 있도록 범용적으로 만들어주실 수 있을까요?

hyunseo-k commented 10 months ago

네! 적용해보고 문제없다면 다른 task에도 가능할 것 같습니다.

hyunseo-k commented 10 months ago

코드 수정 완료했습니다!

각 shell script에서

--k_fold_type 1 \
--k_fold 5 \

와 같이 추가하셔서 사용하실 수 있습니다. k_fold_type의 경우 0: No CV, 1: K-fold, 2: Stratified K-fold 입니다. 이때 1(K-fold), 2(Stratified K-fold)의 경우 k라는 파라미터가 필요합니다. 이를 k_fold로 전달해줄 수 있습니다.

따라서 위의 경우 일반 K-fold로, k의 크기는 5입니다.


범용적으로 사용 가능하지만, 일단 age 브랜치에서 작업하려고 합니다. 필요하신 분은 feat/stratified 브랜치에서 pull 받아 사용하시면 됩니다.