모델 설명가능성

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 3분
  • 모델 설명 가능성을 사용하여 모델 예측에 대한 각 입력 필드의 중요도를 분석합니다. 제공된 스크립트를 실행하여 기능 중요도에 대한 그래픽 분석을 포함하는 워크플로우 분류 모델을 생성합니다.

    시작하기 전에

    • 이 메서드는 솔루션 정의 양식 대신 워크플로우 분류 솔루션 API를 사용하여 설명 가능성이 추가된 모델을 만들고 교육합니다. 워크플로우 분류 모델의 구성요소에 대한 자세한 내용은 다음 항목을 참조하십시오 분류 솔루션 생성 및 교육.
    • 필요한 역할: ml_admin 또는 admin

    이 태스크 정보

    모델 설명 가능성은 교육 중에 모델의 예측에 영향을 주는 주요 기능을 식별하는 데 도움이 됩니다.

    주:
    설명 가능성은 기존 모델에 추가할 수 없습니다. 이 메서드는 스크립트를 사용하여 새 워크플로우 분류 모델을 만들고 교육합니다. 분류 솔루션 생성 스크립팅에 대한 자세한 내용은 다음 항목을 참조하십시오 ClassificationSolution - Global.

    절차에서 제공된 스크립트는 설명 가능성이 true로 설정된 모델을 만들고 학습시킵니다. 새 모델의 솔루션 양식에 기능 중요도 라는 레이블이 지정된 추가 탭이 나타납니다. 이 탭은 예측에 대한 각 입력의 상대적 기여도에 대한 그래프를 제공합니다.솔루션 양식에서 기능 중요도 탭이 강조 표시됩니다. 출력(예측) 필드에서 전역 값이 선택되고 예제 그래프가 표시됩니다.

    프로시저

    1. 다음으로 이동 모두 > 시스템 정의 > 스크립트 - 백그라운드.
    2. 계획된 모델에 따라 다음 스크립트에서 쿼리 필터와 테이블, 필드 및 변수 값을 편집한 후 스크립트를 실행합니다.
      // Define a dataset
                          var myIncidentData = new sn_ml.DatasetDefinition({
                          'tableName': 'incident',
                          'fieldNames': ['category', 'short_description', 'sys_updated_by', 'assignment_group', 'description', 'priority'],
                          'encodedQuery': 'activeANYTHING'
                          });
                          
                          // Define a classification solution definition with explainability field
                          var mySolution = new sn_ml.ClassificationSolution({
                          'label': 'model explainability',
                          'dataset': myIncidentData,
                          'predictedFieldName': 'category',
                          'inputFieldNames': ['short_description', 'priority'],
                          //setting the explainability field to true.
                          'explainability': true,
                          });
                          
                          // Add solution to ClassificationSolutionStore
                          var my_unique_name = sn_ml.ClassificationSolutionStore.add(mySolution)
                          
                          // Submit training job
                          var solutionVersion = mySolution.submitTrainingJob();
                      
      주:
      이 스크립트의 쿼리 필터와 테이블, 필드 및 변수 이름을 고유한 값으로 대체합니다.
    3. ML 솔루션 [ml_solution] 테이블로 이동하고 활성 필드의 값을 선택하여 새 솔루션을 엽니다.
    4. 솔루션 양식에서 기능 중요도 탭을 찾아 엽니다.
      기능 중요도에 드롭다운 목록이 표시됩니다.

      기능 중요도 탭의 출력 필드에 사용할 수 있는 클래스 범위가 포함된 드롭다운 목록입니다.

      • 이 드롭다운 목록의 레이블은 출력(예측) 필드의 이름이므로 레이블은 각 모델에 따라 다릅니다.
      • 드롭다운 목록의 값은 출력 필드에 사용할 수 있는 출력 클래스와 전역 옵션입니다.
      목록 옵션설명
      전역 모델이 모든 예측에서 동작하는 방식에 대한 개요를 제공하여 각 입력 기능의 전반적인 영향을 보여줍니다.

      전역을 선택하여 모든 출력 클래스 전체에 대한 예측에 대한 입력 필드의 중요성에 대한 그래프를 엽니다.

      출력 클래스 값 선택한 클래스에 대한 모델의 동작에만 초점을 맞추고, 입력 기능이 클래스별로 예측에 기여하는 방식을 보여줍니다.

      가능한 출력 클래스 중 하나를 선택하여 해당 클래스에 대한 예측에 대한 입력 필드의 중요도에 대한 그래프를 엽니다.

    5. 드롭다운 목록에서 값을 선택하여 그래픽 분석을 시작합니다.
      y축은 입력 필드를 표시하고 x축은 각 입력에 대한 숫자 중요도를 표시합니다. 그래프의 레이블은 드롭다운 목록에서 선택한 클래스를 반영합니다. 기능 중요도 탭에서 가능한 출력 클래스 중 하나가 선택됩니다. 이 클래스에 대한 예측에서 입력 필드의 중요성을 보여주는 예제 그래프가 표시됩니다.
      막대 위로 마우스를 가져가면 각 입력의 중요도에 대한 숫자 백분율을 표시할 수 있습니다.

    결과

    양수 중요도 값은 입력 필드가 모델의 예측 점수를 증가시킨다는 것을 의미합니다. 음수 값은 입력 필드가 예측 점수를 낮춘다는 것을 의미합니다.

    다음에 수행할 작업

    중요도 점수가 낮은 입력 필드를 삭제하는 것이 좋습니다. 수정 후 모델을 다시 교육합니다.