튜토리얼 미리보기
비디오를 시청하면 이 학습서의 단계를 미리 볼 수 있습니다. 동영상에 표시된 사용자 인터페이스에는 약간의 차이가 있을 수 있습니다. 이 동영상은 서면 튜토리얼을 보조하기 위한 것입니다. 이 동영상은 이 설명서의 개념과 작업을 시각적으로 학습할 수 있는 방법을 제공합니다.
튜토리얼을 사용해 보세요
이 학습서에서는 다음 태스크를 완료합니다.
모델러 흐름 및 데이터 세트 샘플
이 튜토리얼에서는 샘플 프로젝트의 모델링 소개 플로우를 사용합니다. 사용된 데이터 파일은 tree_credit.csv. 다음 이미지는 샘플 모델러의 흐름을 보여줍니다.
결과를 예측하는 능력은 예측 분석의 핵심 목표이며, 모델링 프로세스를 이해하는 것이 SPSS Modeler 흐름 사용의 핵심입니다.
이 예제의 모델은 은행이 향후 대출 신청자가 대출에서 채무를 불이행할 수 있는지 여부를 예측하는 방법을 보여줍니다. 이러한 고객은 이전에 은행에서 대출을 받았으므로 고객의 데이터는 은행의 데이터베이스에 저장됩니다. 모델은 고객의 데이터를 사용하여 고객이 기본값이 될 가능성을 판별합니다.
모델의 중요한 부분은 모델로 들어가는 데이터입니다. 은행은 대출 상환 여부 (신용 등급 = 양호) 또는 채무 불이행 여부 (신용 등급 = 불량) 를 포함하여 고객에 대한 히스토리 정보의 데이터베이스를 유지보수합니다. 은행은 이 기존 데이터를 사용하여 모델을 빌드하려고 합니다. 다음 필드가 사용됩니다.
필드 이름 | 설명 |
---|---|
Credit_rating | 신용 등급: 0=나쁨, 1=좋음, 9=결측값 |
연령 | 나이 |
수입 | 수입 수준: 1=낮음, 2=중간, 3=높음 |
Credit_cards | 보유한 신용카드 수: 1=5개 미만, 2=5개 이상 |
교육 | 교육 수준: 1=고등학교, 2=대학교 |
Car_loans | 자동차 구입 대출 건수: 1=없음 또는 1건, 2=2건 이상 |
이 예제에서는 일련의 의사결정 규칙을 사용하여 레코드를 분류하고 응답을 예측하는 의사결정 트리 모델을 사용합니다.
예를 들어, 이 의사결정 규칙은 소득이 중간 범위에 속하고 신용카드 수가 5미만인 경우 좋은 신용 등급을 갖는 것으로 레코드를 분류합니다.
IF income = Medium
AND cards <5
THEN -> 'Good'
의사결정 트리 모델을 사용하면 두 개 그룹의 고객 특성을 분석하고 대출 기본값의 가능성을 예측할 수 있습니다.
이 예제에서는 CHAID (Chi-squared Automatic Interaction Detection) 모델을 사용하지만, 이 모델은 일반적인 소개로 사용되며 대부분의 개념은 SPSS Modeler의 다른 모델링 유형에 광범위하게 적용됩니다.
작업 1: 샘플 프로젝트 열기
샘플 프로젝트에는 여러 데이터 세트와 샘플 모델러 흐름이 포함되어 있습니다. 아직 샘플 프로젝트가 없는 경우 튜토리얼 주제를 참조하여 샘플 프로젝트를 만드세요. 그런 다음 다음 단계에 따라 샘플 프로젝트를 엽니다:
- ' watsonx'의 탐색 메뉴 ' '에서 프로젝트 > 모든 프로젝트 보기를 선택합니다.
- SPSS Modeler 프로젝트를 클릭합니다.
- 자산 탭을 클릭하면 데이터 세트와 모델러 흐름을 볼 수 있습니다.
진행 상황 확인
다음 이미지는 프로젝트 자산 탭을 보여줍니다. 이제 이 튜토리얼과 관련된 샘플 모델러 플로우로 작업할 준비가 되었습니다.
작업 2: 데이터 자산 및 유형 노드 살펴보기
모델링 소개 모델러 흐름에는 여러 노드가 포함되어 있습니다. 데이터 자산 및 유형 노드를 검토하려면 다음 단계를 따르세요.
- ' 자산 탭에서 ' 모델링 소개 모델러 플로우를 열고 캔버스가 로드될 때까지 기다립니다.
- tree_credit.csv 노드를 더블클릭합니다. 이 노드는 프로젝트의 tree_credit.csv 파일을 가리키는 데이터 에셋 노드입니다. 소스 노드에서 측정값을 지정하는 경우 흐름에 별도의 유형 노드를 포함할 필요가 없습니다.
- 파일 형식 속성을 검토합니다.
- 선택 사항입니다: 데이터 미리 보기를 클릭하여 전체 데이터 집합을 확인합니다.
- 유형 노드를 두 번 클릭합니다. 이 노드는 측정 수준(필드에 포함된 데이터 유형), 모델링에서 대상 또는 입력으로서 각 필드의 역할과 같은 필드 속성을 지정합니다. 측정 수준은 필드에서 데이터 유형을 나타내는 범주입니다. 소스 데이터 파일은 세 가지 측정 수준을 사용합니다:
- 연속형 필드(예: '
Age
필드)에는 연속형 숫자 값이 포함됩니다. - 명목 필드(예: '
Education
필드)에는 두 개 이상의 고유한 값(이 경우 'College
' 또는 'High school
')이 있습니다. - 서수 필드(예: '
Income level
필드)는 고유한 순서를 가진 여러 개의 고유한 값(이 경우 'Low
, 'Medium
' , 'High
')이 있는 데이터를 설명합니다.
각 필드에 대해 유형 노드는 각 필드가 모델링에서 수행하는 역할을 나타내는 역할도 지정합니다. 역할은 고객의 대출 불이행 여부를 나타내는 필드인 '
Credit rating
' 필드에 대해 Target으로 설정됩니다. 대상은 값을 예측하려는 필드입니다.다른 필드에는 역할이 입력으로 설정되어 있습니다. 입력 필드는 때때로 predictors 또는 목표 필드의 값을 예측하기 위해 모델링 알고리즘에서 값을 사용하는 필드로 알려져 있습니다.
- 연속형 필드(예: '
- 선택 사항입니다: 데이터 미리 보기를 클릭하여 유형 속성이 적용된 데이터를 확인합니다.
진행 상황 확인
다음 이미지는 Type 노드를 보여줍니다. 이제 모델링 노드를 구성할 준비가 되었습니다.
작업 3: 모델링 노드 구성하기
모델링 노드는 흐름이 실행될 때 모델 너겟을 생성합니다. 이 예제에서는 CHAID 노드를 사용합니다. CHAID(카이제곱 자동 상호 작용 감지)는 카이제곱 통계라는 특정 유형의 통계를 사용하여 의사 결정 트리를 구축하는 분류 방법입니다. 노드는 카이제곱 통계를 사용하여 의사 결정 트리에서 분할을 수행하기에 가장 좋은 위치를 결정합니다. 모델링 노드를 구성하려면 다음 단계를 따르세요:
- 신용 등급(CHAID) 노드를 두 번 클릭하여 해당 속성을 확인합니다.
- 필드 섹션에서 이 노드에 정의된 설정 사용 옵션을 확인합니다. 이 옵션은 유형 노드에서 필드 정보를 사용하는 대신 여기에 지정된 대상 및 필드를 사용하도록 노드에 지시합니다. 이 튜토리얼에서는 이 노드에 정의된 설정 사용 옵션을 해제된 상태로 둡니다.
- 목표 섹션을 펼칩니다. 이 경우 기본값이 적절합니다. 새 모델 빌드, 표준 모델 생성, 실행 후 모델 노드 생성이 목표입니다.
- 중지 규칙 섹션을 펼칩니다. 이 예제에서 트리를 매우 단순하게 유지하려면 부모 및 자식 노드의 최소 케이스 수를 늘려 트리 성장을 제한합니다.
- 절대값 사용을 선택합니다.
- 부모 브랜치의 최소 레코드를 '
400
'로 설정합니다. - 하위 브랜치의 최소 레코드를 '
200
'로 설정합니다.
- 저장 을 클릭하십시오.
- 신용 등급(CHAID ) 노드 위로 마우스를 가져간 다음 실행 아이콘 ' '을 클릭합니다.
진행 상황 확인
다음 이미지는 모델 결과의 흐름을 보여줍니다. 이제 모델을 탐색할 준비가 되었습니다.
작업 4: 모델 살펴보기
모델러 흐름을 실행하면 모델 너겟이 생성된 모델링 노드에 대한 링크와 함께 캔버스에 모델 너겟이 추가됩니다. 모델 세부 정보를 보려면 다음 단계를 따르세요:
- 출력 및 모델 창에서 신용 등급이라는 이름의 모델을 클릭하여 모델을 확인합니다.
- 모델 정보를 클릭하면 모델에 대한 기본 정보를 확인할 수 있습니다.
- 기능 중요도를 클릭하면 모델 추정에서 각 예측자의 상대적 중요도를 확인할 수 있습니다. 이 차트를 보면 이 경우 소득 수준이 가장 중요한 요소이며 신용카드 개수가 그 다음으로 중요한 요소임을 알 수 있습니다.
- 상위 결정 규칙을 클릭하면 다양한 입력 필드의 값을 기반으로 개별 레코드를 하위 노드에 할당하는 데 사용할 수 있는 일련의 규칙인 규칙 세트의 형태로 세부 정보를 볼 수 있습니다. 의사 결정 트리의 각 터미널 노드에 대해 좋음 또는 나쁨의 예측이 반환됩니다. 터미널 노드는 더 이상 분할되지 않는 트리 노드입니다. 각각의 경우 예측은 해당 노드에 속하는 레코드에 대한 모드 또는 가장 일반적인 응답에 의해 결정됩니다.
- 트리 다이어그램을 클릭하면 각 의사 결정 지점에 노드가 있는 트리 형태로 동일한 모델을 볼 수 있습니다. 세부사항을 탐색하려면 분기 및 노드 위로 마우스를 이동하십시오.
트리의 시작 부분을 보면 첫 번째 노드(노드 0)는 데이터 집합의 모든 레코드에 대한 요약을 제공합니다. 데이터 세트에서 케이스의 40% 이상만 잘못된 위험으로 분류됩니다. 40%는 상당히 높은 비율이지만, 트리를 통해 어떤 요인이 원인인지에 대한 단서를 얻을 수 있습니다.
첫 번째 분할은 소득 수준별 분할입니다. 소득 수준이 낮음 범주에 있는 레코드는 노드 2에 지정되며 당연히도 이 범주에는 가장 높은 백분율의 대출 불이행자가 포함되어 있음을 확인할 수 있습니다. 분명히 이 카테고리에 있는 고객에게 대출하는 것은 위험 부담이 큽니다. 하지만 이 카테고리의 고객 중 약 18%는 디폴트를 하지 않았으므로 예측이 항상 정확한 것은 아닙니다. 모든 응답을 완벽하게 예측할 수 있는 모델은 없지만, 좋은 모델이라면 사용 가능한 데이터를 기반으로 각 레코드에 대해 가장 가능성이 높은 응답을 예측할 수 있어야 합니다.
마찬가지로 고소득 고객(노드 1)을 살펴보면 대부분의 고객(88% 이상)이 우량 위험군임을 알 수 있습니다. 그러나 이들 고객 중 10명 중 1명 이상은 여전히 채무 불이행을 하고 있습니다. 여기서 리스크를 최소화하기 위해 대출 기준을 더 세분화할 수 있나요?
이 모델이 보유한 신용카드 수에 따라 이러한 고객을 두 개의 하위 카테고리(노드 4와 5)로 나눈 것을 확인할 수 있습니다. 고소득 고객의 경우 신용 카드가 5개 미만인 고객에게만 대출할 경우 대출 성공률을 88%에서 거의 97%까지 높일 수 있어 훨씬 더 만족스러운 결과를 얻을 수 있습니다.
그러나 중간 소득 범주(노드 3)의 고객은 어떻습니까? 양호 및 불량 등급 사이에서 훨씬 더 균등하게 구분됩니다. 다시 말하지만, 하위 카테고리(이 경우 6번과 7번 노드)가 도움이 될 수 있습니다. 이번에는 5개 미만의 신용 카드를 사용하는 중간 수입 고객에게만 대출하면 양호 등급의 백분율이 58%에서 86%로 증가하여 상당한 개선이 가능합니다.
진행 상황 확인
다음 이미지는 모델 세부 정보를 보여줍니다. 이제 모델을 평가할 준비가 되었습니다.
작업 5: 모델 평가
모델을 탐색하여 채점 작동 방식을 이해할 수 있습니다. 하지만 모델이 얼마나 정확하게 작동하는지 평가하려면 몇 가지 기록에 점수를 매겨야 합니다. 기록 채점은 실제 결과와 모델이 예측한 응답을 비교하는 프로세스입니다. 모델을 평가하기 위해 모델을 추정하는 데 사용된 것과 동일한 레코드로 점수를 매길 수 있습니다. 동일한 레코드를 비교하여 관찰된 응답과 예측된 응답을 비교할 수 있습니다. 모델을 평가하려면 다음 단계를 따르세요:
- 테이블 노드를 모델 너겟에 연결합니다.
- 테이블 노드 위로 마우스를 가져간 다음 실행 아이콘 ' '을 클릭합니다.
- 출력 및 모델 창에서 테이블이라는 이름의 출력 결과를 클릭하여 결과를 확인합니다.
표에는 모델이 생성한 '
$R-Credit rating
필드에 예상 점수가 표시됩니다. 이 값을 실제 응답이 포함된 원래의 'Credit rating
' 필드와 비교할 수 있습니다.규칙에 따라 채점 중에 생성된 필드 이름은 대상 필드를 기반으로 하되 표준 접두사가 붙습니다.$G
' 및 '$GE
'는 일반화된 선형 모델이 생성하는 예측의 접두사입니다$R
'은 CHAID 모델이 생성하는 예측의 접두사입니다$RC
'은 신뢰도 값입니다$X
'은 일반적으로 앙상블을 사용하여 생성됩니다- 대상 필드가 연속형, 범주형, 집합 또는 플래그 필드인 경우 접두사로
$XR
, '$XS
' , '$XF
'이 사용됩니다
신뢰도 값은 0.0에서 1.0까지의 스케일에서 각 예측값이 얼마나 정확한지에 대한 모델의 고유 추정입니다.
예상대로 예측값은 많은 레코드에서 실제 응답과 일치하지만 전부는 아닙니다. 이유는 각 CHAID 터미널 노드에 혼합된 반응이 있기 때문입니다. 예측이 가장 일반적인 예측과 일치하지만 해당 노드의 다른 모든 노드에 대해서는 잘못된 예측입니다. (채무 불이행을 하지 않은 저소득층 고객 18%를 상기하십시오.)
이 문제를 방지하려면 모든 노드가 100% 순수하고 혼합된 응답 없이 모두 좋거나 나쁠 때까지 트리를 점점 더 작은 가지로 분할할 수 있습니다. 그러나 이러한 모델은 복잡하고 다른 데이터 세트에 잘 일반화되지 않을 가능성이 높습니다.
얼마나 많은 예측이 정확한지 정확히 확인하려면 테이블을 읽고 예측된 필드 '
$R-Credit rating
'의 값이 'Credit rating
'의 값과 일치하는 레코드 수를 집계하면 됩니다. 그러나 이러한 값이 일치하는 레코드를 자동으로 추적하는 분석 노드를 사용하는 것이 가장 쉽습니다. - 모델 너겟을 분석 노드에 연결합니다.
- 분석 노드 위로 마우스를 가져간 다음 실행 아이콘 ' '을 클릭합니다.
- 출력 및 모델 창에서 분석이라는 이름의 출력 결과를 클릭하여 결과를 확인합니다.
분석 결과, 2464개 레코드 중 1960개(79% 이상)의 경우 모델이 예측한 값이 실제 응답과 일치하는 것으로 나타났습니다.
이 결과는 점수를 매긴 레코드가 모델을 추정하는 데 사용한 레코드와 동일하다는 사실에 의해 제한됩니다. 실제 상황에서는 파티션 노드를 사용하여 데이터를 별도의 샘플로 분할하여 학습 및 평가할 수 있습니다. 하나의 샘플 파티션을 사용하여 모델을 생성하고 다른 샘플을 사용하여 테스트하면 다른 데이터 세트에 얼마나 잘 일반화되는지 더 잘 파악할 수 있습니다.
분석 노드를 사용하여 실제 결과를 이미 알고 있는 레코드에 대해 모델을 테스트할 수 있습니다. 다음 단계에서는 모델을 사용하여 결과를 알 수 없는 기록에 점수를 매기는 방법을 설명합니다. 예를 들어, 이 데이터 세트에는 현재 은행의 고객은 아니지만 프로모션 메일링의 잠재적 대상인 사람들이 포함될 수 있습니다.
진행 상황 확인
다음 이미지는 출력 결과와 함께 흐름을 보여줍니다. 이제 새 데이터로 모델을 채점할 준비가 되었습니다.
작업 6: 새 데이터로 모델 점수 매기기
앞서 모델이 얼마나 정확한지 평가할 수 있도록 모델을 추정하는 데 사용된 레코드에 점수를 매겼습니다. 이 예에서는 모델을 만드는 데 사용된 레코드와 다른 레코드 집합을 점수화합니다. 정확도를 평가하는 것은 대상 필드를 사용한 모델링의 목표 중 하나입니다. 결과를 알고 있는 기록을 연구하여 패턴을 파악함으로써 아직 모르는 결과를 예측할 수 있습니다.
기존 데이터 자산 또는 가져오기 노드를 업데이트하여 다른 데이터 파일을 가리키도록 할 수 있습니다. 또는 채점하려는 데이터를 읽어오는 데이터 자산 또는 가져오기 노드를 추가할 수 있습니다. 어느 쪽이든 새 데이터 세트에는 모델에서 사용하는 것과 동일한 입력 필드(Age
, ' Income level
' , ' Education
' 등)가 포함되어야 하지만 대상 필드인 ' Credit rating
' 는 포함되어서는 안 됩니다.
또는 예상 입력 필드가 포함된 모든 흐름에 모델 너겟을 추가할 수 있습니다. 파일에서 읽든 데이터베이스에서 읽든, 필드 이름과 유형이 모델에서 사용하는 것과 일치하는 경우 소스 유형은 중요하지 않습니다.
진행 상황 확인
다음 이미지는 완성된 플로우를 보여줍니다.
요약
모델링 소개 예제 흐름에서는 모델을 만들고, 평가하고, 채점하는 기본 단계를 보여 줍니다.
- 모델링 노드는 결과가 알려진 레코드를 학습하여 모델을 추정하고 모델 너겟을 생성합니다. 이 과정을 모델 트레이닝이라고도 합니다.
- 모델 너깃을 예상 필드와 함께 임의의 플로우에 추가하여 레코드를 스코어링할 수 있습니다. 결과를 이미 아는 사용자(예: 기존 고객)의 레코드 스코어를 계산하면 수행 성과를 평가할 수 있습니다.
- 모델의 성능이 만족스럽다고 판단되면 새로운 데이터(예: 잠재 고객)에 점수를 매겨 고객의 반응을 예측할 수 있습니다.
- 모델을 학습시키거나 추정하는 데 사용되는 데이터를 분석 데이터 또는 과거 데이터라고 할 수 있습니다. 채점 데이터는 운영 데이터라고도 합니다.
다음 단계
이제 다른 SPSS Modeler 튜토리얼을 사용해 볼 준비가 되었습니다.