안녕하세요 MySAS 홍보대사 한노아입니다.
오늘은 지난시간에 알아본 앙상블 기법을 E-miner를 통해 구현하는 방법에 대해 알아보도록 하겠습니다.
앙상블 노드 소개(INTRODUCTION)
E-miner에서는 기본적으로 “모델”에서 앙상블 노드를 이용해 앙상블 기법을 제공하고있습니다.
연속형 타겟 변수에 대해서는 평균 및 최댓값을 선택하도록 설정을 바꿀 수 있고, 범주형 변수의 경우 사후확률의 평균 또는 최대 사후 확률을 이용한 분류, 각 분류기의 분류결과를 이용한 다수결을 이용한 방법 등을 지원하고 있습니다. 디폴트 값은 연속형(Interval), 범주형(Class)모두 평균(범주형의 경우 각 분류기의 사후확률의 평균임)을 이용하고 있습니다.
데이터 설명(DATA DESCRIPTION)
앙상블을 적용하게 되면 일반적으로 모형을 이용한 인과관계 추론이 불가능하기 때문에 인과관계 규명을 위한 문제의 경우 적합하지 않을 것으로 판단되어 이번에는 기계학습(Machine Learning)데이터를 준비해 보았습니다. 이번에 사용할 데이터는 UCI에서 제공하고 있는 “Letter Recognition Data set”을 이용한 문자 인식 데이터[1] 입니다.
데이터 정보 및 목적
이 데이터의 경우 랜덤하게 20개의 서로 다른 폰트를 이용한 A-Z의 26개의 영문자들의 이미지(픽셀 데이터)를 이용해 문자를 인식하는 computer vision 문제를 해결하기 위한 데이터 입니다. 각 픽셀은 흰색과 검정색으로 표시되어 있습니다.
변수설명
No |
변수명 |
변수설명 |
변수형 |
1 |
lettr |
capital letter |
(26 values from A to Z) |
2 |
x-box |
horizontal position of box |
(integer) |
3 |
y-box |
vertical position of box |
(integer) |
4 |
width |
width of box |
(integer) |
5 |
high |
height of box |
(integer) |
6 |
onpix |
total # on pixels |
(integer) |
7 |
x-bar |
mean x of on pixels in box |
(integer) |
8 |
y-bar |
mean y of on pixels in box |
(integer) |
9 |
x2bar |
mean x variance |
(integer) |
10 |
y2bar |
mean y variance |
(integer) |
11 |
xybar |
mean x y correlation |
(integer) |
12 |
x2ybr |
mean of x * x * y |
(integer) |
13 |
xy2br |
mean of x * y * y |
(integer) |
14 |
x-ege |
mean edge count left to right |
(integer) |
15 |
xegvy |
correlation of x-ege with y |
(integer) |
16 |
y-ege |
mean edge count bottom to top |
(integer) |
17 |
yegvx |
correlation of y-ege with x |
(integer) |
각각의 변수는 위와 같은 방법으로 16개의 특징(feature)를 추출했습니다. 각각의 특징들은 문자인식에 적합한 형태로 변형되어 있다고 가정하고 변수변환 문제는 고려하지 않도록 하겠습니다.
Label distribution
No |
Label |
Frequency |
Ratio |
1 |
A |
789 |
3.95% |
2 |
H |
734 |
3.67% |
3 |
O |
753 |
3.77% |
4 |
V |
764 |
3.82% |
5 |
B |
766 |
3.83% |
6 |
I |
755 |
3.78% |
7 |
P |
803 |
4.02% |
8 |
W |
752 |
3.76% |
9 |
C |
736 |
3.68% |
10 |
J |
747 |
3.74% |
11 |
Q |
783 |
3.92% |
12 |
X |
787 |
3.94% |
13 |
D |
805 |
4.03% |
14 |
K |
739 |
3.70% |
15 |
R |
758 |
3.79% |
16 |
Y |
786 |
3.93% |
17 |
E |
768 |
3.84% |
18 |
L |
761 |
3.81% |
19 |
S |
748 |
3.74% |
20 |
Z |
734 |
3.67% |
21 |
F |
775 |
3.88% |
22 |
M |
792 |
3.96% |
23 |
T |
796 |
3.98% |
24 |
G |
773 |
3.87% |
25 |
N |
783 |
3.92% |
26 |
U |
813 |
4.07% |
Total number of records |
20000 |
전체 관측치의 개수는 20000개이고 각각의 Label에 대한 관측치의 빈도는 위와 같습니다. 결측치는 존재하지 않습니다. 위 표를 보면 대체로 분포가 고르게 되어 있는 것을 알 수 있습니다. 따라서 클래스 불균형 문제는 고려하지 않아도 될 것으로 보입니다.
*일반적으로 기계학습의 경우 변수를 특징(feature)이라고 표현하고, Target변수를 Label이라고 표현합니다.
변수역할 설정
데이터 변환(DATA TRANSFORMATION)
데이터 변형에 앞서 사전에 개별 변수들에 대한 분포를 알아보는 과정이 선행되어야 하지만 이번 실험의 경우 Computer Vision 문제이기 때문에 도메인에 의한 변형보다는 각 변수의 설명력을 최대화 할 수 있는 SAS 내부 알고리즘을 활용한 변형방법을 선택하도록 하겠습니다.
위 결과를 살펴보면 대부분의 변수들이 Optimal Binding 방법을 이용해 범주화 된 것을 알 수 있습니다.
예측 모델링(PREDICTIVE MODELING)
이번 앙상블 모형에서 이용할 방법은 각각의 의사결정 나무들의 옵션을 변경하고 이를 통해 얻은 모형들의 사후확률의 평균을 이용한 앙상블모형으로 개변 분류기와 각각의 앙상블모형들 간의 분류 정확도가 얼마나 차이가 나는지를 확인해보려고 합니다.
데이터 분할의 경우 학습용(Train) 70%와 평가용(Validate) 30%로 분할하였고, 변수변환은 앞서 살펴보았듯 BEST 방법을 이용했습니다. 각각의 의사결정 나무들은 최대 트리깊이(MD)를 조정하거나 가지분할(RS) 알고리즘을 변경하고 또 최대가지수(MB) 등을 조정하여 생성했습니다.
각각의 모형에 대한 분류결과와 1~2번 모형의 앙상블, 1~3번 모형의 앙상블, … , 을 통해 앙상블의 유의미성 및 어떤 분류기의 조합을 이용한 모형의 성능이 우수한 가에 대해 대략적으로 알아보도록 하겠습니다.
*정확하게 알아보기 위해서는 좀 더 많은 노드와 모형이 필요합니다.
참고로 개별 모형의 옵션을 각 노드에 기록해 둘 경우 각 분류기를 눌러 옵션을 확인하지 않아도 한 눈에 파악이 가능하기 때문에 일반적으로 분류기의 이름을 변경하여 옵션을 기록하는 경우가 많이 있습니다.
GOODNESS-OF-FIT
모형 적합 결과를 살펴보도록 하겠습니다. 위 표를 보면 평가 오뷴류이 가장 낮은 모형이 “Tree Ensemble(1to3)인 것을 알 수 있습니다. Ensemble 1to3의 경우 DT(DM:50), DT(RS:Enstropy), DT(MB:5)를 앙상블한 모형입니다.
마치며
오늘 연재를 통해서 Ensemble모형을 생성방법 및 평가 방법에 대해 알아보았습니다. 위 내용의 경우 Ensemble노드를 이용하는 방법에 초점을 맞췄기 때문에 실질적인 실험의 체계성의 경우 많이 떨어진다고 생각합니다. 실제 앙상블 모형의 최적모형 추정의 경우 개별 파라미터들 중 모형의 변화에 영향을 많이 주는 요인들을 선정하고, 선정된 파라미터를 변형 시켜 각각에 대해 앙상블을 하는 방법을 이용할 수 있습니다. 그리고 최종적으로 나온 결과들을 이용해 어떠한 옵션을 이용하는 것이, 그리고 어떤 조합으로 앙상블을 하는 것이 좋은 지 추정합니다.
이렇게 하는 이유는 대부분의 기계학습 또는 데이터 마이닝 모형들의 경우 일반적으로 좋다고 알려진 것 파라미터 설정이나 조합이 많지 않고 대부분 데이터의 종류 혹은 특성에 대한 의존도가 높기 때문입니다. 따라서 다양한 가능성에 대해 많은 실험과 시도를 해보아야 최적화된 예측모형을 추정하는 것이 가능합니다.
그럼 오늘 연재는 여기서 마무리하도록 하겠습니다. 다음시간에는 보편적으로 많이 쓰이는 앙상블 기법인 Bagging에 대해 알아보도록 하겠습니다.
감사합니다.
Reference
[1] https://archive.ics.uci.edu/ml/datasets/Letter+Recognition
[2] https://en.wikipedia.org/wiki/Ensemble
[3] https://support.sas.com/resources/papers/proceedings15/3361-2015.pdf
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9.
Lock in the best rate now before the price increases on April 1.