생육 환경 최적화 경진대회

알고리즘 | CV | 회귀 | 생육 | NMAE

  • moneyIcon 상금 : 총 300만원
  • 764명 마감

 

skmoon07, Private 2위, Private 점수: 0.1282, CNN+CatBoost+ANN

2022.05.25 08:43 1,544 조회 language

안녕하세요.  머신러닝 처음 배워보는 skmoon07입니다. 대회 한 달 정도 소화하느라 다들 수고 많으셨습니다! 

비록 Private 순위가 2등(?)이지만 PyTorch은 비결정적 요소가 많아 다른 환경에서 비슷한 Private score를 복원하는데 큰 어려움을 겪고 있습니다. 제대로 된 threshold 값으로 설정해서 안정적인 모델로 구축해야 하는데 제가 이 부분을 놓쳐 모델 학습할 때마다 결과가 매우 다르게 나오네요. GridsearchCV 아니면 K-Fold Cross Validation을 이용해서 좀 더 안정적인 모델로 만들고 싶었으나 시간이 없는 관계로 추가 검증 없이 급하게 제출했던 점이 너무 아쉽습니다. 아무래도 제가 초보자이다 보니 놓친 부분이 많고 미흡한 부분도 있지만 이번 대회 통해 많은 것을 깨달았으며 경진대회를 마련해 주신 모든 관계자분들께 진심으로 감사의 말씀을 드립니다 ^^ 

대회 도중 소중한 코드와 정보를 공유해주신 물린다님 그리고 행복한인생님 감사드립니다! 덕분에 큰 도움이 되었습니다. 추가로 옆에서 계속 지켜봐 주신 멘토님도 감사의 마음을 전달 드리고 싶습니다.

모델 전처리와 학습 과정은 마크다운에 간략하게 작성했습니다. 코드 보면서 가볍게 참고하시면 될 것 같습니다 ㅎㅎ
혹시 궁금하신 점이 있거나 추가로 개선 작업이 필요하시다면 언제든지 말씀해주세요!


<코드 요약>

(현재 무게 예측하는 모델로 작성했습니다)

CNN: 이미지 밝기 조절 -> HSV로 색상 object 마스킹-> 마스킹 된 이미지 픽셀 비율 추출 -> 이미지 데이터 전처리 (이상값) -> 마스킹 된 이미지로 CNN 학습 -> Test 데이터셋 예측

CatBoost, ANN: 이미지 픽셀 비율 Feature 변수로 포함 -> 메타데이터 전처리 (결측값/변환/이상값) -> 메타데이터로만 CatBoost/ANN 학습 -> Test 데이터셋 예측

CNN (0.65) + CatBoost (0.25) + ANN (0.1) 비율로 제출

코드