• 카테고리

    질문 & 답변
  • 세부 분야

    딥러닝 · 머신러닝

  • 해결 여부

    미해결

permutation importance 학습할 때 질문드립니다.

21.12.23 16:47 작성 조회수 249

0

안녕하세요 질문이 있어 글을 남깁니다. 강의 내에서 캐글 같은 곳은 테스트 데이터와 학습데이터가 다른 유형인 경우도 있다고 하셨습니다.

 여기서 permutation importance를 학습 시킬 때 tree 계열의 feature importance는 학습데이터를 기반으로 생성되기 때문에 테스트 데이터에 대해서는 달라질 수 있다고 했는데, 

permutation importance도 학습할 때 train data에서 랜덤으로 추출된 testdata(validation data)로 학습하는 거라고 이해했습니다 맞나요??   validation data도 결국에는 train data와 같은 형식이라 feature importance의 학습법과 같이 어떻게 보면 train data를 학습시키는 것과 비슷한 것아닌가요 ..? ㅠㅠㅠㅠ 너무 헷갈립니다.. 혹시 제가 잘못 이해했나요 ... ?

답변 1

답변을 작성해보세요.

0

안녕하십니까, 

permutation importance는 검증 데이터(또는 테스트 데이터)를 feature 별로 변조를 시켜서 해당 feature를 shuffling 으로 변조 시켰을때 얼마나 성능이 떨어지는 가를 판단하여 해당 feature의 중요도를 판단하는 방식입니다.  

1. 강의 내에서 캐글 같은 곳은 테스트 데이터와 학습데이터가 다른 유형인 경우도 있다고 하셨습니다.

=> 이건 변조(shuffling)와는 다른 것입니다. 테스트 데이터의 특정 피처들의 분포도등이  학습 데이터와 달라서 모델 성능이 떨어질 수 있다는 의미로 말씀드린 것입니다. 

permutation importance의 shuffle은 그런 레벨 정도가 아니라 아예 변조에 가까울 정도로 바꾸는 것입니다.

2. 여기서 permutation importance를 학습 시킬 때 tree 계열의 feature importance는 학습데이터를 기반으로 생성되기 때문에 테스트 데이터에 대해서는 달라질 수 있다고 했는데, 

=> 당연히 tree계열의 feature importance가 학습 데이터를 기반으로 하였기 때문에 테스트 데이터의 특정 피처들의 분포들이 다를 경우에 조금씩 달라질 수 있습니다. 하지만 이건 조금씩 달라진다는 의미입니다. 

3. permutation importance도 학습할 때 train data에서 랜덤으로 추출된 testdata(validation data)로 학습하는 거라고 이해했습니다 맞나요??   validation data도 결국에는 train data와 같은 형식이라 feature importance의 학습법과 같이 어떻게 보면 train data를 학습시키는 것과 비슷한 것아닌가요 ..? ㅠㅠㅠㅠ 너무 헷갈립니다.. 혹시 제가 잘못 이해했나요 ... ?

=> 음... permutation importance는 학습을 하는게 아닙니다. 학습이 모델을 이용해서 검증(또는 테스트)에 예측을 수행하면서 feature들이 얼마나 성능이 저하되는지 확인하는 로직입니다. 재 학습하지 않습니다. 

감사합니다.