소개
머신 러닝에서 특성 중요도는 어떤 특성이 목표 변수에 가장 큰 영향을 미치는지 이해하는 데 유용한 도구입니다. 이 실습에서는 불순도 기반 특성 중요도와 순열 중요도라는 두 가지 특성 중요도 계산 방법을 비교합니다. 타이타닉 데이터셋에 랜덤 포레스트 분류기를 사용하여 두 방법의 차이점을 보여줄 것입니다.
VM 팁
VM 시작이 완료되면 왼쪽 상단 모서리를 클릭하여 Notebook 탭으로 전환하여 연습을 위한 Jupyter Notebook에 접근합니다.
때때로 Jupyter Notebook 이 완전히 로드되기까지 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사를 자동화할 수 없습니다.
학습 중 문제가 발생하면 Labby 에 문의하십시오. 세션 후 피드백을 제공하면 문제를 신속하게 해결해 드리겠습니다.
데이터 로드 및 특성 엔지니어링
타이타닉 데이터셋의 사본을 pandas 를 사용하여 로드합니다. 목표 변수와 상관관계가 없는 두 개의 랜덤 변수를 추가할 것입니다. OrdinalEncoder와 SimpleImputer를 사용하여 데이터를 전처리합니다.
랜덤 포레스트 분류기 정의 및 학습
RandomForestClassifier를 사용하여 랜덤 포레스트 분류기를 정의하고 전처리된 데이터로 학습시킬 것입니다.
모델 정확도 평가
훈련 데이터 세트와 테스트 데이터 세트에서 랜덤 포레스트 분류기의 정확도를 평가할 것입니다.
불순물 감소량 (MDI) 기반 트리의 특성 중요도
랜덤 포레스트 분류기의 불순물 기반 특성 중요도를 계산할 것입니다. 이 방법이 숫자형 특성의 중요도를 부풀릴 수 있음을 확인할 것입니다.
테스트 세트에서의 순열 중요도
홀드아웃 테스트 세트에서 랜덤 포레스트 분류기의 순열 중요도를 계산할 것입니다. 이 방법은 고카디널리티 특성에 편향되지 않으며 특성 중요도를 나타내는 더 나은 지표임을 관찰할 것입니다.
학습 데이터 세트에서의 순열 중요도
학습 데이터 세트에서 랜덤 포레스트 분류기의 순열 중요도를 계산할 것입니다. 트리가 과적합할 수 있는 능력이 제한될 때, 랜덤 숫자형 및 범주형 특성의 중요도가 감소하는 것을 관찰할 것입니다.
낮은 용량 모델의 순열 중요도
min_samples_leaf를 20 으로 설정하고 랜덤 포레스트 분류기를 다시 학습할 것입니다. 학습 및 테스트 세트에서 랜덤 포레스트 분류기의 순열 중요도를 계산할 것입니다. 예측력이 없는 랜덤 숫자형 및 범주형 특성의 중요도가 더욱 감소하는 것을 관찰할 것입니다.
요약
이 실험에서는 랜덤 포레스트 분류기를 사용하여 타이타닉 데이터 세트에서 불순도 기반 특성 중요도와 순열 중요도를 비교했습니다. 불순도 기반 특성 중요도는 숫자형 특성의 중요도를 부풀릴 수 있으며, 고카디널리티 특성에 편향될 수 있음을 관찰했습니다. 순열 중요도는 특성 중요도를 더 잘 나타내며, 고카디널리티 특성에 편향되지 않습니다. 또한, 트리의 과적합을 제한하면 예측력이 없는 특성의 중요도를 낮출 수 있음을 관찰했습니다.