커뮤니티 대회 교육

Clustering과 data leakage에 대해

2022.11.24 04:50 85 조회

안녕하세요. clustering과 data leakage에 관련해 궁금한 점이 있는데,

혹시 train셋과 test셋을 동시에 이용해서 fit 한 뒤 각각 transform을 하면 data leakage에 해당 되나요?

만약 그렇다면, 더 나아가 기존 대회들과 같이 이미 훈련셋, 테스트셋으로 나뉘어저 있는 경우, 훈련셋 내부에서 train / validation 셋으로 나누는 경우에도 train 셋에만 클러스터링을 fit 해야 될까요?


어느게 맞는건지 궁금합니다!

답변 부탁드립니다.

다냐니라
2022.11.24 14:33

데이콘에서 제공하는 test셋을 사용하는 모든 경우에는 data leakage에 해당됩니다. 즉, test 셋은 완전 배제하고 진행하셔야 합니다.
예를들어, train 셋을 이용하여 model을 만들어 fit를 진행하고, train 셋으로 학습된 model을 이용하여 test 셋에 transfrom을 하면 무관합니다. ( 학습을 train데이터로만 진행했기때문에)

또, train/ validation  셋으로 나눠 사용하는 경우에도 위에 방식과 동일하게 사용하셔야 될겁니다.
이유는.. validation 셋이 임시 test 셋 역할을 해야하기 때문이죠. (만약 validation set을 train set과 포함하여 fit하게 된다면.. model이 이미 학습을 진행한 데이터이기에 모델의 설명력에 문제가 생기겠죠?)

데이터데
2022.11.24 16:49

답변 감사합니다!

그러면 만약에 cross validation을 통해 모델링을 구현 하려고 하면, clustering은 매 폴드마다 계속 진행을 해야 될까요?

다냐니라
2022.11.24 17:40

cross validation을 통해 모델링을 구현 하려고 하면, clustering은 매 폴드마다 계속 진행을 해야 될까요?
> 각 fold마다 train data의 집합이 바뀌면, 군집되는 형태가 달라지니 매 폴드마다 진행 하셔야 될거에요!

데이터데
2022.11.24 17:53

답변 정말 감사합니다 !!

마지막으로, cross validation을 통해 클러스터링을 하면, 마지막 test set에 fit 할땐 어떤 클러스터링 결과를 사용해야 할까요?
cross validation 과정에서 fit 한 결과들을 다 저장한 후, 점수가 가장 높은 clustering 결과를 사용해야 될까요?

감사합니다!

다냐니라
2022.11.24 18:08

test set에 transform 할 때 음. . 방법에 차이가 있겠지만.
1. 가장 성능이 우수했던 clustering model을 사용한다.
2. 모든 clustering model을 사용하여 평균(최다)값을 사용한다.
이정도 되지 않을까요?? 만약에 저라면 이 두가지 해보고 성능이 더 좋은 쪽을 선택하지 않을까 싶습니다.

데이터데
2022.11.24 18:20

넵, 답변 정말 감사합니다. 큰 도움이 됐습니다! ㅎㅎ

로그인이 필요합니다
0 / 1000