목록으로

[Dacon 답변요청] 테스트 앞부분 검증셋으로 활용관련

#태양광 발전량 예측 AI 경진대회

안녕하세요. 테스트셋 활용관련해서 https://dacon.io/competitions/official/235680/talkboard/402278?page=1&dtype=recent&ptype=pub 이전의 공지를 보고 한가지 이해가 안가는 문장이 있어서 질문드립니다.


Jamm님께서 정리해준 부분을 보다가 2)와 3)이 이해가 가지 않아서 질문드립니다. 데이콘 답변측에서는 3)이 가능하다고 답글을 달았는데 3)의 규정이 검증 점수만 확인 -> 근데 이걸로 모델을 수정하지 않으면 ok 양심에 맡기겠다? 이 말인건가요??


만일 3)을 통해서 검증을 만들어서 점수비교를 한다면 검증 점수가 좋아지면 내는거고 나빠지면 안내는게 당연한거 아닌가요?? 이 부분에 대해서 다른분들도 지금 많이 혼동하고 있는 것 같은데 주최측에서 명확하게 답변해주셔야 나중에 형평성이나 코드관련해서 문제 없을 것 같습니다.


학습은 무조건 Train 셋만을 이용해서 진행하는데 Test의 앞부분을 이용해서 검증결과를


  1. 점수 보는 것 YES 점수 보고 Train의 파생변수나 하이퍼파리미터, 검증방법 수정 YES
  2. 점수 보는 것 YES 점수 보고 Train의 파생변수나 하이퍼파리미터, 검증방법 수정 NO
  3. 점수 보는 것 NO 수정 역시 NO


3가지 중에 어느게 맞는지 확인 부탁드립니다.

항상 느끼는건데 고생이 많으십니다...

감사합니다...



다른 토론 글중에 fit 이 아닌 evaluate 과정에서 test셋 활용은 가능한가에 대한 토론글을 읽어보았습니다. 
예를 들어 '어제', '오늘' 의 값을 이용해 '내일','모레' 의 값을 예측하려고 한다면, 

1) train에서 '0일', '1일' 을 정하고(x_train), '2일', '3일' 을 학습(y_train), 이후 train 안에 있는 다른 부분인 '10일', '11일' (x_valid)을 이용해 , '12일','13일'(y_valid) 예측, 검증, 및 모델 수정 (O) - 데이콘의 의도

2) train에서 '0일', '1일' 을 정하고(x_train), '2일', '3일' 을 학습(y_train), 이후 test 안에 있는 '1일', '2일'을 (x_valid)를 이용해, test 의 '3일', '4일' (y_valid)을 예측 후, 검증, 및 모델 수정 (X) - 검증 과정에서 test를 사용하지 말라는 말의 의미

2.1) 위의 방법 2) 를 사용하여 학습시킨 모델을 이용하여 test셋의 마지막 이틀 '5일','6일' (x_test) 을 이용하여 '7일','8일' (submission) 예측하여 제출 (X) - 룰 위반으로 실격

2.2) 위의 방법 1) 을 사용하여 학습시킨 모델을 이용하여 test셋의 마지막 이틀 '5일','6일' (x_test)을 이용하여 '7일','8일' (submission) 예측하여 제출 (O) - test셋의 전부를 활용하지 않아도 된다는 내용의 안내의 의도

3) 위의 방법 1) 처럼 학습시키다가 2)의 검증 방법으로 test 의 앞부분의 검증 점수 확인 후 아무것도 하지 않고 그대로 test '5일','6일' 예측 점수 제출. (test 셋을 이용한 검증의 의미가 사라지지만 O) - 실제 모델 학습시에는 train만을 이용해서 학습 및 검증을 진행하였기 때문에, test 데이터의 앞부분 점수는 그냥 심심해서 띄워본것뿐.
  • 한국싸이 한국싸이 2021.01.14 16:24
    저도 궁금하네요!
  • DACONIO DACONIO 2021.01.14 22:13
    안녕하세요.  TEAM-EDA(김현우)님 질문 감사드립니다. 말씀해주신 내용 확인 결과 3) 내용에 대해 답변 오류가 있었습니다. 
    질문 해주신 내용에 대해 3. 점수 보는 것 NO 수정 역시 NO 가 맞습니다. 감사합니다.
    
     
로그인이 필요합니다로그인이 필요합니다
목록으로