이 튜토리얼에서는 자동 분류기 노드를 사용하여 플래그(특정 고객의 대출 불이행 가능성 또는 특정 오퍼에 대한 응답 여부 등) 또는 명목(설정) 대상에 대한 여러 가지 모델을 자동으로 생성하고 비교합니다.
이 예에서는 플래그(예 또는 아니요) 결과를 검색합니다. 상대적으로 단순한 플로우에서 노드는 후보 모델 세트를 생성하고 순위를 지정하고 최상의 성능을 수행하는 모델을 선택하여 단일 집계(앙상블) 모델로 결합합니다. 이 접근법은 자동화의 간편함에 더해 하나의 모델에서 얻을 수 있는 것보다 더 정확한 예측을 얻을 수 있는 여러 모델을 결합하는 장점을 결합합니다.
이 예는 각 고객에게 적절한 오퍼를 일치시켜 보다 수익성 있는 결과를 얻고자 하는 가상의 회사를 기반으로 합니다. 이 방법은 자동화의 혜택을 강조합니다. 연속형(숫자 범위) 대상을 사용하는 유사한 예는 다른 SPSS® Modeler 자습서를 참조하십시오.
튜토리얼을 사용해 보세요
이 학습서에서는 다음 태스크를 완료합니다.
모델러 흐름 및 데이터 세트 샘플
이 튜토리얼에서는 샘플 프로젝트의 플래그 대상에 대한 자동화된 모델링 플로우를 사용합니다. 사용된 데이터 파일은 pm_customer_train1.csv. 다음 이미지는 샘플 모델러의 흐름을 보여줍니다.
이 예제에서는 ' campaign
필드 값으로 표시된 것처럼 과거 캠페인에서 특정 고객에게 제공한 오퍼를 추적하는 기록 데이터가 포함된 데이터 파일 pm_customer_train1.csv 사용합니다.
작업 1: 샘플 프로젝트 열기
샘플 프로젝트에는 여러 데이터 세트와 샘플 모델러 흐름이 포함되어 있습니다. 아직 샘플 프로젝트가 없는 경우 튜토리얼 주제를 참조하여 샘플 프로젝트를 만드세요. 그런 다음 다음 단계에 따라 샘플 프로젝트를 엽니다:
- ' watsonx'의 탐색 메뉴 ' '에서 프로젝트 > 모든 프로젝트 보기를 선택합니다.
- SPSS Modeler 프로젝트를 클릭합니다.
- 자산 탭을 클릭하면 데이터 세트와 모델러 흐름을 볼 수 있습니다.
진행 상황 확인
다음 이미지는 프로젝트 자산 탭을 보여줍니다. 이제 이 튜토리얼과 관련된 샘플 모델러 플로우로 작업할 준비가 되었습니다.
작업 2: 데이터 자산 노드 살펴보기
플래그 대상에 대한 자동화된 모델링에는 여러 노드가 포함됩니다. 데이터 자산 노드를 검토하려면 다음 단계를 따르세요.
- 자산 탭에서 플래그 대상에 대한 자동화된 모델링 모델러 플로우를 열고 캔버스가 로드될 때까지 기다립니다.
- pm_customer_train1.csv 노드를 두 번 클릭합니다. 이 노드는 프로젝트의 pm_customer_train1.csv 파일을 가리키는 데이터 에셋 노드입니다.
- 파일 형식 속성을 검토합니다.
- 선택 사항입니다: 데이터 미리 보기를 클릭하여 전체 데이터 집합을 확인합니다.
가장 많은 레코드 수가 Premium account 캠페인 아래에 있습니다. '
campaign
' 필드의 값은 데이터에서 정수로 코딩됩니다(예: '2 = Premium account
). 나중에 이러한 값에 대한 레이블을 정의하여 보다 의미 있는 출력을 제공하는 데 사용할 수 있습니다.파일에는 오퍼의 수락 여부를 나타내는 '
response
' 필드(0 = no
, '1 = yes
' )도 포함됩니다. 'response
' 필드는 예측하려는 대상 필드 또는 값입니다. 각 고객에 대한 인구 통계 및 재무 정보가 포함된 다양한 필드도 포함되어 있습니다. 이러한 필드는 소득, 연령 또는 월별 거래 수 등의 특성을 기반으로 개인 또는 그룹의 응답률을 예측하는 모델을 구축하거나 훈련하는 데 사용됩니다.
진행 상황 확인
다음 이미지는 데이터 자산 노드를 보여줍니다. 이제 유형 노드를 편집할 준비가 되었습니다.
작업 3: 유형 노드 편집
이제 데이터 자산을 탐색했으므로 다음 단계에 따라 유형 노드의 속성을 보고 편집할 수 있습니다:
- 유형 노드를 두 번 클릭합니다. 이 노드는 측정 수준(필드에 포함된 데이터 유형), 모델링에서 대상 또는 입력으로서 각 필드의 역할과 같은 필드 속성을 지정합니다. 측정 수준은 필드에서 데이터 유형을 나타내는 범주입니다. 소스 데이터 파일은 세 가지 측정 수준을 사용합니다:
- 연속형 필드(예: '
Age
필드)에는 연속형 숫자 값이 포함됩니다. - 명목 필드(예: '
Education
필드)에는 두 개 이상의 고유한 값이 있습니다(이 경우).College
또는 'High school
' . - 서수 필드(예: '
Income level
필드)는 고유한 순서가 있는 여러 개의 고유한 값을 가진 데이터를 설명합니다(이 경우 'Low
, 'Medium
' , 'High
').
- 연속형 필드(예: '
- 응답 필드가 대상 필드(역할 = 대상)이고 이 필드에 대한 측정값이 플래그인지 확인합니다.
- 다음 필드에 대해 역할이 없음으로 설정되어 있는지 확인합니다. 이러한 필드는 모델을 작성할 때 무시됩니다.
- customer_id
- 캠페인
- 응답_날짜
- 구매
- 구매_날짜
- product_id
- Rowid
- X_random
- 유형 노드에서 값 읽기를 클릭하여 값이 인스턴스화되었는지 확인합니다.
앞서 보았듯이 소스 데이터에는 각각 다른 유형의 고객 계정을 대상으로 하는 네 가지 캠페인에 대한 정보가 포함되어 있습니다. 이러한 캠페인은 데이터에서 정수로 코딩되므로 각 정수가 나타내는 계정 유형을 기억하는 데 도움이 되도록 각 캠페인에 대한 레이블을 정의합니다.
- 캠페인 행과 값 모드 열의 목록에서 지정을 선택합니다.
- 캠페인 필드 행에서 수정 아이콘 ' '을 클릭합니다.
- 네 가지 값 각각에 대해 표시된 대로 레이블을 확인합니다.
- 확인을 클릭하십시오. 이제 레이블이 정수 대신 출력 창에 표시됩니다.
- 저장 을 클릭하십시오.
- 선택 사항입니다: 데이터 미리 보기를 클릭하여 유형 속성이 적용된 데이터 집합을 확인합니다.
진행 상황 확인
다음 이미지는 Type 노드를 보여줍니다. 이제 분석할 캠페인을 하나 선택할 준비가 되었습니다.
작업 4: 분석할 캠페인 하나 선택
데이터에는 4개의 서로 다른 캠페인에 대한 정보가 포함되어 있지만, 한 번에 하나의 캠페인에 집중하여 분석합니다. 프리미엄 계정 캠페인만 분석하려면 다음 단계에 따라 선택 노드를 확인합니다:
- 선택 노드를 두 번 클릭하여 해당 속성을 확인합니다.
- 조건에 주목하세요. 가장 많은 수의 레코드가 프리미엄 계정 캠페인(데이터에서 '
campaign=2
'로 코딩됨)에 속하므로 선택 노드는 이러한 레코드만 선택합니다. - 선택 사항입니다: 데이터 미리 보기를 클릭하여 속성 선택이 적용된 데이터 집합을 확인합니다.
진행 상황 확인
다음 이미지는 선택 노드를 보여줍니다. 이제 모델을 구축할 준비가 되었습니다.
작업 5: 모델 구축
이제 분석할 단일 캠페인을 선택했으므로 다음 단계에 따라 자동 분류기 노드를 사용하는 모델을 구축합니다:
- 응답(자동 분류기 ) 노드를 두 번 클릭하여 해당 속성을 확인합니다.
- 빌드 옵션 섹션을 펼칩니다.
- 필드별 모델 순위 에서 모델 순위를 매기는 데 사용되는 메트릭으로 전체 정확도를 선택합니다.
- 사용할 모델 수를
3
으로 설정하십시오. 이 옵션은 노드를 실행할 때 세 가지 최상의 모델이 구축됨을 의미합니다. - 전문가 섹션을 확장하여 다양한 모델링 알고리즘을 확인합니다.
- 판별, SVM 및 랜덤 포레스트 모델 유형을 선택 취소합니다. 이러한 모델은 이 데이터로 학습하는 데 시간이 오래 걸리므로 이를 제거하면 예제 학습 속도가 빨라집니다.
빌드 옵션에서 사용할 모델 수 속성을 '
3
'로 설정했기 때문에 노드는 나머지 알고리즘의 정확도를 계산하여 가장 정확한 세 개의 모델 너겟을 포함하는 단일 모델 너겟을 생성합니다. - 앙상블 옵션에서 목표 설정 및 플래그 목표 모두에 대해 앙상블 방식에 대해 신뢰도 가중 투표를 선택합니다. 이 설정은 각 레코드에 대해 단일 집계 점수가 생성되는 방식을 결정합니다.
간단한 투표를 사용하는 경우 세 모델 중 두 모델이 예를 예측하면 예가 2 대 1로 이깁니다. 신뢰도 가중 투표의 경우 각 예측의 신뢰도를 기반으로 투표에 가중치가 적용됩니다. 따라서 한 모델이 두 예 예측이 결합된 신뢰도보다 더 높은 아니오를 예측하면 아니오가 이깁니다.
- 저장 을 클릭하십시오.
- 응답(자동 분류기 ) 노드 위로 마우스를 가져간 후 실행 아이콘 ' '을 클릭합니다.
- 출력 및 모델 창에서 이름 응답이 있는 모델을 클릭하여 결과를 확인합니다. 실행 중에 생성되는 각 모델에 대한 세부 정보를 볼 수 있습니다. (대규모 데이터 집합에 수백 개의 모델이 생성될 수 있는 실제 상황에서는 흐름을 실행하는 데 많은 시간이 걸릴 수 있습니다.)
- 모델 이름을 클릭하면 개별 모델 결과를 살펴볼 수 있습니다.
기본적으로 모델은 자동 분류기 노드 속성에서 해당 측정값을 선택했기 때문에 전체 정확도를 기준으로 정렬됩니다. XGBoost Tree 모델은 이 측정값으로 가장 좋은 순위를 차지하고 있지만 C5.0및 C&RT 모델은 거의 정확합니다.
이러한 결과를 기준으로 모두 세 개의 가장 정확한 모델을 사용하기로 결정했습니다. 여러 모델의 예측을 결합하면 개별 모델의 한계를 피할 수 있어 전체적인 정확도가 높아질 수 있습니다.
- 사용 열에서 세 모델이 모두 사용 중인지 확인한 다음 모델 창을 닫습니다.
진행 상황 확인
다음 이미지는 모델 비교 표를 보여줍니다. 이제 모델 분석을 실행할 준비가 되었습니다.
작업 6: 모델 분석 실행
이제 생성된 모델을 검토했으므로 다음 단계에 따라 모델 분석을 실행합니다:
- 분석 노드 위로 마우스를 가져간 다음 실행 아이콘 ' '을 클릭합니다.
- 출력 및 모델 창에서 분석 출력을 클릭하여 결과를 확인합니다.
앙상블 모델에 의해 생성된 집계된 점수는 '
$XF-response
'이라는 필드에 표시됩니다. 교육 데이터에 대해 측정될 때 예측 값은 실제 응답(원래response
필드에 기록된)과 일치하며 92.77%의 전체 정확도가 있습니다. 이 경우 세 개의 개별 모델 중 가장 최적 모델만큼 정확하지는 않지만(C5.0의 경우 92.82%), 차이가 너무 작아서 의미가 없습니다. 일반적으로 교육 데이터가 아닌 데이터 세트에 적용되는 경우 앙상블 모델이 가장 잘 수행할 확률이 높습니다.
진행 상황 확인
다음 이미지는 분석 노드를 사용한 모델 비교를 보여줍니다.
요약
이 예제 ' 플래그 대상에 대한 자동화된 모델링 흐름에서는 ' 자동 분류기 ' 노드를 사용하여 여러 가지 모델을 비교하고 가장 정확한 세 가지 모델을 사용한 다음, 이를 앙상블된 자동 분류기 모델 너겟 내의 흐름에 추가했습니다.
- 전체적인 정확도를 기준으로 XGBoost Tree, C5.0, C&R 트리 모델이 교육 데이터에 가장 적합했습니다.
- 앙상블 모델은 개별 모델 중 가장 좋은 모델과 거의 비슷한 성능을 보였으며 다른 데이터 세트에 적용하면 더 나은 성능을 보일 수도 있습니다. 프로세스를 최대한 자동화하는 것이 목표인 경우, 이 접근 방식은 특정 모델의 세부 사항을 깊이 파고들지 않고도 대부분의 상황에서 강력한 모델을 얻는 데 도움이 됩니다.
다음 단계
이제 다른 SPSS Modeler 튜토리얼을 사용해 볼 준비가 되었습니다.