머신 러닝 모델 설명하기: explainX.ai로 CatBoost Classifier 설명하는 방법
목차
- 소개
- Explainer's 패키지 설치
- 모델 개발 단계
- 전역 설명 수준
- 지역 설명 수준
- 데이터 분포 분석
- 특성 영향력 분석
- 코호트 분석
- 블랙박스 모델 지원
- 마무리
1. 소개
안녕하세요! 이번에는 ExplainEx 플랫폼에 대한 심층적인 이해를 돕기 위해 샘플 노트북을 사용하여 설명하고, Explainer's 패키지를 사용하여 FICO 신용 대출 데이터를 기반으로 학습된 CatBoost 이진 분류 모델의 예측 결과를 설명하는 방법을 알아보겠습니다. 이 노트북은 Github에서 확인하실 수 있습니다.
2. Explainer's 패키지 설치
Explainer's 패키지를 설치하기 위해 다음 명령어를 실행합니다.
!pip install explainers
3. 모델 개발 단계
필요한 패키지를 import하고, FICO 신용 대출 데이터셋을 준비합니다. 이 데이터셋은 FICO에서 라이센스 하에 공개된 데이터셋으로, 이진 분류 모델을 위해 사용됩니다. 데이터셋을 테스트 및 훈련 데이터셋으로 분할한 후, CatBoost 분류기를 훈련시킵니다.
4. 전역 설명 수준
전역 설명 수준에서는 모델이 예측을 어떻게 내리는지에 대한 설명을 확인할 수 있습니다. 이를 위해 Explainer's 패키지의 explanation
함수를 사용합니다. 이 함수에는 테스트 데이터셋, 모델, 그리고 모델 설명자의 이름을 전달하면, 자동으로 설명 기법을 적용한 대시보드 링크가 반환됩니다. 이 링크를 클릭하여 대시보드를 열면 전역 설명 수준을 확인할 수 있습니다.
5. 지역 설명 수준
지역 설명 수준에서는 특정한 데이터 포인트에 대한 설명과 해당 특성이 모델 출력에 어떻게 기여하는지 확인할 수 있습니다. 이를 위해 원하는 데이터셋을 전달하여 해당 데이터 포인트에 대한 설명을 확인할 수 있습니다. 예측된 결과와 해당 결과에 영향을 미치는 특성들을 확인할 수 있습니다. 또한, 각 특성의 값에 따라 모델 예측이 어떻게 변화하는지 확인할 수 있습니다.
6. 데이터 분포 분석
데이터 분포 분석을 통해 데이터셋의 분포를 확인할 수 있습니다. 데이터의 특성을 살펴봄으로써 모델의 동작과 관련된 통찰력을 얻을 수 있습니다.
7. 특성 영향력 분석
특성 영향력 분석은 모델의 출력에 영향을 미치는 특성을 확인하는 것입니다. 다른 변수들을 고정한 상태에서 특정 특성의 값에 따라 모델의 결과가 어떻게 변화하는지 확인할 수 있습니다.
8. 코호트 분석
코호트 분석은 데이터셋 내에서 서로 다른 그룹간에 모델의 동작을 분석하는 것입니다. 특정 조건에 따라 데이터를 그룹으로 분류한 후, 각 그룹별 모델의 동작을 비교할 수 있습니다.
9. 블랙박스 모델 지원
블랙박스 모델을 지원하기 위해 다양한 기능을 추가했습니다. 이를 통해 다양한 머신러닝 모델을 설명하는 데 필요한 작업을 최소한의 코드 작성으로 가능하게 해줍니다.
10. 마무리
이번 Explainer's 패키지를 활용한 심층적인 설명을 통해 모델의 동작에 대한 이해를 높일 수 있었습니다. 다양한 설명 기법을 활용하여 모델을 분석하고, 이를 비즈니스 도메인 지식과 일치시킬 수 있습니다. 지원되는 기능과 설명 기법을 활용하여 더욱 효과적인 모델 설명을 할 수 있습니다.
감사합니다!
모델 예측 결과 해석
이번에는 FICO 신용 대출 데이터를 기반으로 학습된 CatBoost 이진 분류 모델의 예측 결과를 해석해보겠습니다.
1. 전역 설명 수준
전역 설명 수준에서는 모델의 전체적인 동작에 대한 설명을 확인할 수 있습니다. 모델이 예측을 내리는 데 어떤 특성이 영향을 주는지 알 수 있습니다. 외부 위험 추정치, 최근 조회 이후 경과월 수, 순 회전 부담 등이 모델에 가장 큰 영향을 주는 변수로 확인되었습니다.
2. 지역 설명 수준
지역 설명 수준에서는 특정 개별 데이터 포인트에 대한 설명을 확인할 수 있습니다. 예측 결과로는 해당 고객에게 신용 공여를 제공하지 않아야 함을 나타냈습니다. 모델은 이 결정에 대해 52%의 신뢰도를 가지고 있으며, 평균 최저 파일, 잔액이 있는 거래 비율, 외부 위험 추정치가 가장 큰 영향을 미친다고 판단하고 있습니다. 또한, 신용 진전 과거에 문제가 없는 거래 비율, 최근 조회 이후 경과월 수 등은 부정적인 영향을 미치는 변수로 확인되었습니다.
3. 데이터 분포 분석
데이터 분포 분석을 통해 데이터의 특성을 확인할 수 있습니다. 이를 통해 모델이 데이터를 어떻게 해석하는지에 대한 통찰력을 얻을 수 있습니다.
4. 특성 영향력 분석
특성 영향력 분석에서는 모델의 출력에 특성이 어떻게 영향을 주는지를 확인할 수 있습니다. 외부 위험 추정치가 높을수록 대출 신청이 거절될 확률이 증가하는 것을 확인할 수 있습니다.
5. 코호트 분석
코호트 분석을 통해 데이터셋 내에서 서로 다른 그룹간의 모델 동작을 비교할 수 있습니다. 외부 위험 추정치가 50보다 큰 경우와 작은 경우에 대한 결과를 비교해보면, 외부 위험 추정치가 50보다 큰 경우 모델의 정확도가 높아지는 것을 확인할 수 있습니다.
이처럼 ExplainEx 패키지를 통해 모델의 예측 결과를 해석하고, 모델의 동작을 효과적으로 이해할 수 있습니다. 다양한 기능을 활용하여 비즈니스 의사 결정에 도움을 주는 설명을 제공할 수 있습니다.
FAQ
Q: ExplainEx 패키지를 설치하는 방법은 무엇인가요?
A: ExplainEx 패키지는 다음 명령어를 통해 설치할 수 있습니다.
!pip install explainers
Q: 모델의 전역 설명 수준을 확인하는 방법은 무엇인가요?
A: 전역 설명 수준을 확인하려면 Explainer's 패키지의 explanation
함수를 사용하여 대시보드에 접속해야 합니다.
Q: 모델의 특성 영향력을 분석하는 방법은 무엇인가요?
A: 특성 영향력 분석을 위해 Explainer's 패키지의 부분 의존 그래프를 확인하면 됩니다.
Q: 모델의 예측 결과를 해석하기 위해 데이터셋을 어떻게 준비해야 하나요?
A: 데이터셋을 테스트 및 훈련 데이터셋으로 분할한 후, CatBoost 분류기를 훈련하면 됩니다.
Q: 외부 위험 추정치가 높을수록 신용 공여 거절 확률이 높아지는 이유는 무엇인가요?
A: 외부 위험 추정치는 대출 신청자의 신용 위험을 나타내는 지표입니다. 따라서 높은 위험을 가진 고객에게는 신용 공여를 제공하지 않는 것이 보수적인 은행의 정책입니다.
Q: 분석한 모델을 비즈니스 의사 결정에 활용할 수 있나요?
A: 네, 모델의 예측 결과를 해석함으로써 비즈니스 의사 결정에 도움을 줄 수 있습니다. ExplainEx 패키지를 사용하면 설명 가능한 AI 모델을 개발하고, 이를 효과적으로 활용할 수 있습니다.
참고 자료