저번 시간 타겟 데이터를 생성하는 작업에 이어서 오늘은 데이터 분할을 해보겠습니다.
데이터 분할
데이터 분할을 해서 한 그룹으로는 모델을 개발하고, 다른 그룹으로는 모델의 유효성을 검사하겠습니다.
[그림 3-1]
다이어그램 위 툴바에서 [표본추출]탭 클릭 후 [데이터 분할]을 끌어다가 메타데이터 노드 뒤에 놓은 후 화살표를 연결해 줍니다.
[데이터 분할] 노드를 선택 후 왼쪽 속성 패널을 보시면, [데이터셋 할당] 부분에 “분석용”, “평가용”, “검증용”이 기본값으로 각각 40%, 30%, 30%가 설정되어 있습니다. 트리 모델링에서는 “분석용”, “평가용”만 필요하므로 각각 “50%”로, “검증용”은 0%로 설정하겠습니다.
[그림 3-2]
[데이터 분할] 노드를 실행하겠습니다.
의사결정트리
이제 [의사결정트리]를 [데이터 분할] 노드 뒤에 연결하겠습니다. [의사결정트리]는 툴바 [모델] 탭에 있습니다.
[그림 3-3]
해당 노드를 선택 후 왼쪽 속성패널로 가보겠습니다. 기본값 자체를 그대로 실행시켜도 되지만, 자주 쓰이는 몇 가지를 설정을 더 살펴 보도록 하겠습니다.
변수 : 이 설정은 의사결정트리에서 사용하지 않을 변수를 정할 수 있습니다. [분석]의 [변수]에서 […]버튼을 눌러서 값을 [아니오] 라고 선택하시면 됩니다.
[그림 3-4]
[그림 3-5]
대화식 : 이 곳에서는 직접 트리를 손으로 작성할 수 있습니다. 기본적인 트리 모델링을몇 번 해보시면 충분히 하실 수 있습니다.
[그림 3-6]
[그림 3-7]
최대 가지 : 이 설정은 기본으로 “2”가 설정되어 있지만, 일반적으로는 “4”4 또는 “5”도 사용합니다.
[그림 3-8]
최대 깊이 : 기본값은 “3”이지만, “6”으로 바꾸겠습니다.
“최대 깊이” 설정만 수정한 후 [의사결정트리] 노드를 실행하겠습니다.
실행 후 결과 창에서 우측 상단에 있는 [트리] 창을 최대화 해서 보겠습니다.
[그림 3-9]
좌측 상단 메뉴에서 [편집 > 보기 > 페이지에 맞춤]을 클릭하시면, 스크롤 없이 화면 하나에 보실 수 있습니다.
[트리] 화면 아무 곳에서나 우클릭을 한 후 [그래프 속성]을 선택합니다.
[그림 3-10]
[그림 3-11]
왼쪽 박스에서 [트리]를 클릭한 후 오른쪽에서 [가로] 선택 후 [적용], [확인]을 클릭하시면, 가로로 된 의사결정트리를 볼 수 있습니다. 각 노드 안에는 DMR 고객에 대한 정보를 적시합니다.
[그림 3-12]
모든 예측 모델에서는 과적합이 있습니다. 즉, 모델링은 잘 됐지만, 새로운 데이터에서는 맞지 않을 수도 있습니다. [서브트리 평가 도표]를 보고 과적합을 확인할 수 있습니다. [서브트리 평가 도표]는 [메뉴바 > 보기 > 모델 > 서브트리 평가 도표]에서 보실 수 있습니다.
[그림 3-13]
[그림 3-14]
그래프를 보시면, 잎의 수(number of leaves)가 증가함에 따라 평균 제곱 오차가 계속 감소하는 것을 알 수 있습니다.
오류가 증가하면 잎의 수를 제한하거나 가지치기를 해야 합니다.
트리 결과는 시각적으로 해석할 수 있습니다.
- 음영 : 음영이 어두우면 타겟(두 권 이상 구독하는 고객)의 비율이 높음
선 두께 : 다음 노드로 가는 데이터 양
노드
- 노드 ID : 각 노드의 식별값
- 백분율 : 두 권 이상 구독하는 고객의 비율
- 개수 : 해당 노드에 있는 고객 수
Interpret the Finding
이 분석 결과는 DMR 출판사의 인구통계학적 특성에 대해 의미 있는 통찰력을 제공합니다. 2권 이상을 구독하는 DMR 고객을 우수고객으로 정의할 때, 아래와 같은 판단을 할 수 있습니다.
잠재 고객 : 가장 실적이 좋은 리스트를 특정 노드에서 고를 수 있습니다. 예를 들면, 12번, 14번 노드는 가장 실적이 좋습니다. 13번과 15번 노드는 그 다음으로 실적을 올리는 고객을 나타냅니다. 즉, 13번, 15번 노드에 해당하는 고객을 잠재력이 있는 고객으로 볼 수 있습니다.
휴면 고객 : 노드 10번이 거의 DMR에 구매력이 없는 고객에 해당합니다. 이들을 대상으로 신제품 개발 및 테스트를 통한 비즈니스 의사결정을 할 수 있습니다.
VIP 고객 : 이 고객들은 이미 DMR의 매출에 많은 기여를 하고 있습니다. 이 고객들의 관심사나 선호하는 채널 등에 관한 간단한 설문조사를 통해서 더 많은 수익을 창출할 수 있습니다.
그러면, 다음 질문은 “이 노드에서 고객을 정확하게 구분할 수 있을까?” 입니다. 각 노드는 규칙을 사용하여 구독자를 정의합니다.
[그림 3-15]
의사결정트리 결과창에서 [메뉴바 > 보기 > 모델 > 노드 규칙]을 클릭합니다.
[그림 3-16]
노드 14번의 고객은 97.1%가 2권 이상 구독하며, 소득이 6,180만원 이상이고, 23.5세 미만 이라고 할 수 있습니다. 이 그룹은 중산층 이상의 가정의 젊은이들을 대표하는 것으로 보입니다. 이런 인구통계학적 특성을 사용하여 유사한 특징을 가진 고객층에 타겟팅하면, 더 많은 잠재 고객을 확보할 수 있을 것입니다.
의사결정나무는 다양한 용도로 사용할 수 있습니다. 이번에는 설명분석을 하기 위해 사용했지만, 예측모델을 개발하거나 회귀분석, 신경망 모델을 위한 입력변수를 만들 수도 있습니다. 또한, 신경망분석이나 다른 고급 모델링의 의미를 진단하고, 해석하는데 사용할 수 있습니다.
감사합니다.
오늘까지 작업한 emp를 다운로드 하실 수 있습니다.
저는 SAS Enterprise Miner 14.1, Local 환경에서 작업했습니다.
하위 버전이거나, 서버환경 일 경우 실행이 되지 않으실 수 있으니 참고 바랍니다.
물론 같은 버전, 같은 환경이어도, 라이브러리 디렉토리(D:\TEMP\DMR_전략팀)가 다르면 실행되지 않습니다.
참조 : [Business Analytics Using SAS Enterprise Guide and SAS Enterprise Miner: A Beginner's Guide]
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.