안녕하세요 MYSAS 홍보대사 최준입니다.
저번 연재에 이어서 이번 시간에는 본격적으로 KNN 알고리즘을 사용해 보겠습니다.
먼저 지난번 연재 때도 얘기했다시피, 왼쪽으로 치우쳐져 있는 분포에 대한 문제를 해결하기 위해
변수변환 노드를 실행 해보겠습니다. (변수변환 옵션으로는 : Log를 적용하였습니다!)
변수변환 노드의 결과창을 통해, Log가 적용된 변수가 제대로 생성되었음을 확인 할 수 있습니다.
변수변환 노드 실행 후에 데이터 분할 노드를 연결합니다(분석용과 평가용의 비율은 6:4로 설정)
그 후에는 데이터 분할 노드와 모델 탭에 있는 MBR 노드를 연결합니다.
(* SAS E-miner에서 제공하는 노드인 Memory Based Reasoning 노드는 예측 Binary 노드 및 Nominal
타겟에 대해 분석용 데이터셋에서 해당 K 최근접에 기반하는 모델을 생성해줍니다)
근접 수(Number of Neighbors)는 검색할 최근접 개수를 의미합니다. (즉 K값을 설정하는 옵션 입니다!)
469개의 trianing data가 있기 때문에 469개의 제곱근 근사값 중 홀수 값인 21을 선택하였습니다.
(* 동률이 나올 수 있기 떄문에 K 값 옵션을 짝수로 설정하면 [X] )
보다 더 성능이 좋은 모델을 만들기 위해서는 다양한 K 값으로 모델을 형성하고, 이를 비교 해야만 합니다.
다음과 같이 변수변환을 하기 전의 데이터에서 K 값 옵션을 21로 설정한 MBR21과,
변수변환 노드를 적용한 데이터에서의 K 값 옵션을 1, 5, 13, 21로 설정한 MBR 노드를 만들어보았고,
이를 모델비교 창을 통해서 비교해보았습니다.
모델 비교는 [통계량 선택 : 오분류 비율 / 선택 테이블 : 평가용] 과 같은 옵션으로 설정하여 비교해보았습니다.
모델비교 결과창을 통해서 LOG 변수 변환을 적용한 데이터, K 값은 5로 설정된 모델의
오분류율이 제일 낮음을 확인할 수 있었습니다.
지금까지 MBR 노드를 통해 KNN 알고리즘을 실행하는 방법에 대해서 알아보았습니다.
기타 궁금하신 점이 있으시다면
언제든지 저에게 쪽지 or 댓글로 문의해주시면 친절하게 답변해드리겠습니다.
감사합니다.
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.