변수 중요도
변수 중요도 (특성 중요도라고도 함)는 특성이 모델에 얼마나 '중요'한지 나타내는 점수입니다. 예를 들어 입력 특성 'f1'과 'f2'가 2개인 지정된 모델의 변수 중요도가 {f1=5.8, f2=2.5}이면 특성 'f1'이 특성 'f2'보다 모델에 더 '중요'합니다. 다른 머신러닝 모델과 마찬가지로 변수 중요도는 결정 트리의 작동 방식을 이해하는 간단한 방법입니다.
순열 변수 중요도와 같은 모델 독립적 변수 중요도를 결정 트리에 적용할 수 있습니다.
결정 트리에는 다음과 같은 특정 변수 중요도도 있습니다.
- 지정된 변수의 분할 점수의 합계입니다.
- 지정된 변수가 있는 노드의 수입니다.
- 모든 트리 경로에서 지형지물이 처음 발생하는 평균 깊이입니다.
변수 중요도는 다음과 같은 품질에 따라 다를 수 있습니다.
- 시맨틱스
- 활용
- 속성
또한 변수 중요도는 다음에 관한 다양한 유형의 정보를 제공합니다.
- 모델
- 데이터 세트
- 학습 프로세스
예를 들어 특정 기능이 포함된 조건의 수는 결정 트리가 이 특정 기능을 얼마나 많이 보고 있는지를 나타내며 이는 변수 중요성을 나타낼 수 있습니다. 결국 학습 알고리즘은 중요하지 않은 경우 여러 조건에서 기능을 사용하지 않았을 것입니다. 그러나 여러 조건에 동일한 기능이 표시되면 모델이 기능의 패턴을 일반화하려고 시도했지만 실패했음을 나타낼 수도 있습니다. 예를 들어 지형지물이 일반화할 정보가 없는 예시 식별자일 때 이러한 상황이 발생할 수 있습니다.
반면에 순열 변수 중요도가 높으면 특성을 삭제하면 모델이 손상된다는 의미이며 이는 변수 중요도를 나타냅니다. 하지만 모델이 강력하다면 특성 하나를 삭제해도 모델에 영향을 미치지 않을 수 있습니다.
변수 중요도는 모델의 다양한 측면을 알려주므로 여러 변수 중요도를 동시에 확인하면 유용한 정보를 얻을 수 있습니다. 예를 들어 모든 변수 중요도에 따라 특성이 중요하다면 이 특성은 중요할 가능성이 높습니다. 또 다른 예로 특성에 '노드 수' 변수 중요도가 높고 '순열' 변수 중요도가 낮은 경우 이 특성을 일반화하기 어려울 수 있으며 모델 품질이 저하될 수 있습니다.
model.describe()
를 호출하고 '변수 중요도' 탭을 보면 모델의 변수 중요도를 확인할 수 있습니다.
자세한 내용은
모델 이해 튜토리얼을 참고하세요.