Top > Info > Data Mining > 1-6. SAS Enterprise Miner 활용의 예
SAS Enterprise Miner 활용의 예(참고문헌: SAS E-Miner를 이용한 Data Mining)
1> SAS Enterprise Miner의 특징
1. 분석흐름도(PFD,process flow diagram)를 이용하여 Data Mining
전과정을 GUI환경 하에서 수행
2. RDBMS(관계형 데이터베이스 관리시스템)에 접근이 용이하고, Client/Server 환경에서
작업수행
3. 자료관리 기능이 우수하고 파생 데이터를 쉽게 생성
4. 다양한 분석기법제공( 통계분석, 신경망, 의사결정나무등 )
5. 다양한 형태의 모델평가 기능 제공
6. 전과정이 프로그램 코드로 생성되어 재실행이 가능.
2> SAS E-Miner의 마이닝절차
1. Sampling : 데이터세트의 정의와 표본추출방법제시
2. Exploration : 데이타 탐색을 통하여 기본적인 정보를 검색하고 유용한 정보를
추출하는 기법
3. Modification : 정보를 효율적으로 사용 할 수 있도록 변수변환, 수량화, 그룹화
등을 통해서 데이터를 변형
4. Modeling : 적절한 기법을 통해서 예측모형을 찾아내는 방법
5. Assessment : 모형화에서 얻어진 결과를 평가(여러 가지 도표를 제공)
※ SEMMA 5단계
1. Sampling
Input data source... 입력변수,목표변수 지정 및 각 변수에 대한 측도의
지정
Sampling... 표본추출방법
Data partition...데이타를 분석용(Training),평가용(Validation),검정용(Test)으로
분할하여 분석에서 다양한 용도로 사용
2. Exploration
Bar Chart...다차원 그래프를 통해 시각적으로 테이타를 탐색
Insight...다양한 탐색, 선형모형 등의 기본적인 통계분석을 수행
Variable Selection...상관계수와 교호작용을 통해 유용한 변수를 탐색
Association...장바구니분석, 순차적 연관성발견
3. Modification
Data Set Attribute... 데이타의 이름과 역할,변수의 척도 및 기능을
변경
Data Replacement...결측값이나 오류로 판단되는 자료값을 대체
Clustering...군집분석
Transform Variable
Filter Outlers...이상치를 찾아내어 제거
4. Modeling
Regression...선형회귀분석과 로지스틱판별분석응 수행
Decision Tree...의사결정나무를 형성
Neural Network...신경망분석을 제공
5. Assessment
Assessment...리프트 도표, ROC 곡선, 이익도표 등을 통해서 모형을
평가
Score...새로운 데이터에 대해서 지금까지 수행한 것과 동일한 과정을 통하여 예측값을
계산
3> 모형의 평가
1. 모형평가란? 예측을 위해 만든 모형이 임의의 모형보다 예측과 분류에서 얼마나 우수한지 비교, 분석하는 과정이다.
오분류표(misclassification table)---범주형일 경우
2. 예제 데이터 ->한 은행의 대출 부서가 담보대출 심사과정에서 얻은 대출자의 신상에 관련된 변수와 대출과 관련된 여러 변수들로부터 대출금 상환여부를 예측한다.
변수의 |
변수의 내용 |
BAD |
대출상환여부:0(상환), 1(미상환) |
LOAN |
총대출액($) |
MORTDUE |
저당액($) |
VALUE |
재산액($) |
REASON |
대출사유: 빛정리(debtcon),주택개량(HomeImp) |
JOB |
직업:노동자(mgr),사무원(Office),숙련기술자(ProfExe),기타(Other),판매원(Sale), 자영업(self) |
YOJ |
직장 근무년수(year) |
DEBTINC |
대출금 대 수입의 비율(%) |
DEROG |
신용거래중 불량사유 보고횟수(회) |
DELINQ |
체납횟수(회) |
CLAGE |
최장 대출 기간(일) |
NINQ |
최근 신용거래 요청횟수(회) |
CLNO |
신용거래 회수(회) |
3. 사후확률? 로지스틱 판별분석을 통해 구한 P(y=1|x1,…,xp)의 값(X1, X2,…,Xp)가 주어졌을 때 목표변수 Y가 특정 범주 '1'이 될 확률값
4. 분류기준값? 사후확률을 보고 관찰치가 목표변수의 어느 범주에 속하는지를 결정할 때 분류의 기준이 되는 사후확률의 경계점(Cut-off, Threshold)
OBS |
BAD |
범주1의 사후확률 |
0.5 |
0.25 |
1 |
0 |
0.039 |
0 |
0 |
2 |
0 |
0.433 |
0 |
1 |
3 |
0 |
0.115 |
0 |
0 |
4 |
0 |
0.531 |
1 |
1 |
5 |
0 |
0.039 |
0 |
0 |
6 |
0 |
0.039 |
0 |
0 |
7 |
0 |
0.115 |
0 |
0 |
8 |
0 |
0.302 |
0 |
1 |
9 |
1 |
0.716 |
1 |
1 |
10 |
1 |
0.415 |
0 |
1 |
11 |
1 |
0.741 |
1 |
1 |
12 |
1 |
0.964 |
1 |
1 |
13 |
0 |
0.039 |
0 |
0 |
5. 오분류표? 목표변수의 실제범주와 예측범주사이의 관계를 나타내는 표




(민감도,특이도는 목표변수의 범주가 2개인 경우에만 해당됨)
<위의 예에서의 경우>
|
예측변수 |
|||
실제변수 |
|
0 |
1 |
합 |
0 |
50 |
20 |
70 |
|
1 |
30 |
100 |
130 |
|
합 |
80 |
120 |
200 |
|
정분류율=150/200, 오분류율=50/200, 민감도=100/130, 특이도=50/70
6. 이익행렬(Profit Matrix)과 수익(Return)
이익행렬? 오분류표에서 발생하는 모든경우에 대해서 예상되는 이익을
각기 다르게 지정한 행렬
수익?이익행렬의 값들과 오분류행렬의 값들의 곱
|
|
||||||||||||||||||||||||||
<이익행렬> |
<오분류행렬> |
||||||||||||||||||||||||||
수익(return)= C1×P1 + C2×P2 + C3×P3 + C4×P4
7. ROC도표?
모형의 성능을 민감도와 특이도에 의해 판단하고자 하는 곡선이다. 분류기준값이 가질수 있는 값의 범위인 0∼1내의 모든 점에 대해서 민감도와 특이도를 계산하면 하나의 곡선을 만들어 낼 수 있는데 이를 ROC 곡선이라고 한다. (2진형 목표변수의 경우에만 사용, 동시에 여러 모형지정 비교 가능)
|
|
||||||||||||||||||||||||||
♧분류기준값이 0.5인 경우 |
♧분류기준값이 0.25인 경우 |
||||||||||||||||||||||||||
ROC곡선의 비교(X축- 1-특이도 , Y축- 민감도)
|
|
|
(A) |
(B) |
(C) |

<예제 데이터 실행 예>
(A)(B)(C)중 특정 1-특이도(X-축)에서 (A)가 민감도가 가장높다. 이것은 특정 1-특이도에서 (A)의 오분류율이 가장 낮음을 뜻하기에 가장 좋은 모형이다. (C)의 경우 오분류행렬에서 대각원소의 빈도와 비대각원소의 빈도가 동일하여 모형구축의 효과가 전혀 없다.
8. 이익도표?
%Captured Response이익도표, %Response이익도표, lift이익도표
1. 모형설정을 통해 사후확률을 구한다.
2. 사후확률의 순서에 따라 전체데이타를 정렬한다.
3. 전체데이타를 n등분한다.
4. n등분된 목표변수의 특정범주의 빈도를 구한다.
5. 


6. 위 값을 이용하여 %Captured Response이익도표, %Response이 익도표, lift이익도표를
그린다.
♧ %Captured Response는 특정범주내에서 특정집단이 차지하고 있는 점유율. %Response
는 각 집단내에서 범주1의 빈도와 집단내 관찰치의 빈도의 비. lift는 범주1인 각
집단내에서 평균적으로 가지는 빈도와 해당집단내의 범주1에 대한 비율(만약 lift가
1보다 크면 특정범주가 전체평균보다 크다)
집단 |
범주1의 빈도 |
%Captured Response |
%Response |
lift |
1 |
174 |
174/381 |
174/200 |
174/38 |
2 |
110 |
110/381 |
110/200 |
110/38 |
3 |
38 |
38/381 |
38/200 |
38/38 |
4 |
14 |
14/381 |
14/200 |
14/38 |
5 |
11 |
11/381 |
11/200 |
11/38 |
6 |
10 |
10/381 |
10/200 |
10/38 |
7 |
7 |
7/381 |
7/200 |
7/38 |
8 |
10 |
10/381 |
10/200 |
10/38 |
9 |
3 |
3/381 |
3/200 |
3/38 |
10 |
4 |
4/381 |
4/200 |
4/38 |
♧10%비율에 따른 이익도표를 위한 통계량 계산(data 수는 2000개)
<profit도표> |
<%Response도표> |
<%Captured Response 도표> |
<Lift 도표의 실행 예> |
9. Diagnostic 도표?
실제목표변수와 예측변수와의 관계를 나타내는 도표 (오분류표에의한 3-차원도표 형태, 하나의 모형에 대해서만 작성가능,분류기준값이 50%고정->만약 분류기준값이 50%가 아닌곳에서 오분류표를 구하려면 Threshold-based도표에서 Confusion matrix를 이용해야 한다.)

<예제 데이터의 Diagnostic도표>
10)Response Threshold 도표
각 분류기준값 범위에 대해서 목표변수의 각 범주에 대한 일치성을 판단하는데 도움을 주는 평가도표이다.(이진 목표변수에 대해서만 제공)
작성=
1. 전체데이타세트의 범주A의 사후확률을 구한다.
2. 사후확률에 의해 정렬
3. 분류기준값을 정하고, 그 분류기준값보다 큰 사후확률을 가지는 관찰치들의 빈도를
센다.
4.(분류기준값을 넘는 범주A의빈도)/(범주A의 전체 빈도)=Accurate rate(정분류율)
5. 모든 분류기준값에 대해 실시
6. X축-분류기준값 Y-Accurate rate 그래프를
그린다.
서로 다른 분류기준값에 의한 결과 그래프 비교
|
|
(A)는 분류기준값이 조금 바뀌어도 분류결과에 많은 영향을 미치지
않으나
(B)는 분류기준값에 따라 결과가 크게 달라 진다. 그래서 사후확률이 극단적으로
높거나 낮은 관찰치가 많은 모형이 좋은 모형이된다.
<예제 자료의 실행도표>

♧Reg,Tree모형을 비교하면 Tree는 분류기준값이 조금 변화여도 분류결과에 많은 영향을 미치지 않기 때문에 Tree로 구축한 모형이 Reg보다는 더 우수하다고 할수 있다.
10)Threshold-based 도표? (이진형 목표변수에서만 작성 가능)
1.각 분류기준값에서 오분류행렬(Confusion Matrix) ->오분류행렬를
분류기준값의 5단위로 보여줌
2.대화식 이익도표(Interactive Profit) ->최적의
수익을 얻을수 있는 분류기준값을 찾을수 있다.
3.각 분류기준값에서 특이도,
민감도, 정분류율의 비교 도표 (correct classification)->각 범주에 대해서 오분류를
최소화 하는 분류기준값을 찾게한다.
1.의 예>
-------------------------- THRESH=65 ---------------------------
TABLE OF ACTUAL BY PREDICT
ACTUAL PREDICT
Frequency|
Percent |
Row Pct |
Col Pct |0 |1 | Total
---------+--------+--------+
0 | 1560 | 59 | 1619
| 78.00 | 2.95 | 80.95
| 96.36 | 3.64 |
| 92.25 | 19.09 |
---------+--------+--------+
1 | 131 | 250 | 381
| 6.55 | 12.50 | 19.05
| 34.38 | 65.62 |
| 7.75 | 80.91 |
---------+--------+--------+
Total 1691 309 2000
84.55 15.45 100.00 |
2.의 예>
(A) |
< 예제 데이터의 Interactive Profit > |
|||||||||||||||
profit matrix에서 가중치를 (A)와 같이 입력하였을 경우 결과이다. 그래프에서 분류기준값이 35∼70일 경우 최대의 수익을 올릴수 있다.
3.의 예>

<예제데이타의 correct classification>
예를 들어 분류기준값이 65일 경우(위의 표 참고)
특이도:1560/1619=0.964
민감도:250/381=0.658
정분류율:1810/2000=0.905이다.
도표에서 0는 특이도 1은 민감도 BOTH는 정분류율을 나타내는데 이 세가지가 모두높게
하는 분류기준값이 가장 좋으나 존재 하지 않기 때문에 이 셋중 어느 하나가 지나치게
크거나 작지 않는 분류기준값을 찾는 것이 바람직하다. 위의 도표에서는 분류기준값이
5∼15에서 가장 적당하다고 볼수 있다.
Top > Info > Data Mining > 1-6. SAS Enterprise Miner 활용의 예