Decision tree가 가진 설명력의 한계

Decision tree는 흔히 설명력이 좋다고 한다. 트리를 보면 어떻게 분류가 되는지 볼 수 있기에 그렇다.

하지만 실제로 모델을 적용하는데는 한계가 발생하는 경우가 있다. 예를들어 X[i]=0 이라면 logistic regression의 경우 Coef[i] * X[i] = 0 이 되어 X[i]가 예측에 영향을 주지 않는다.

하지만 Decision tree는 X[i]=0 인 경우에 어떤 결론을 내릴 수 있다.

예를들어 영어 문장내 단어를 보고 영어 문장이 중학생 수준인지 고등학생 수준인지 결정하는 모델을 만든다고 하자. 만약 해당 문장에 boy가 없고, Decision tree가 운없게도 boy의 중요도를 높이 평가해 boy가 없을 경우 고등학생이란 예측 결과를 내놓는다면, 우리가 할 수 있는 설명이란 “이 문장에는 boy가 없어 고등학생 수준의 문장입니다”는 정도뿐이다. 하지만 사람은 그런식으로 영어 문장의 난이도를 판단하지 않는다.

이를 방지하기 위해 문장에 포함된 단어만 사용해 설명을 출력한다고 해도, Decision tree에서 boy의 중요도가 높다면 이 역시 불완전한 설명에 불과하다.

이 문제를 나는 eli5의 explain_prediction 의 출력 결과를 보고 고민하다 깨닫게 되었다. 이상하게도 주어진 X에 없는 피쳐의 contribution이 높게 평가되고 있었고, 정작 X에 있는 feature가 가진 contribution의 합은 class prob과 달랐던 것이다.

Similar Posts:

Post a Comment

Your email is never published nor shared. Required fields are marked *