BookmarkSubscribeRSS Feed

Enterprise Miner 활용 하기 (03) : MBR 노드를 통한 KNN 알고리즘1

Started ‎06-10-2020 by
Modified ‎06-10-2020 by
Views 191

안녕하세요  MYSAS 홍보대사 최준입니다.

 

또 다시 오랜만에 E-miner 활용하기를 연재하게 되었네요...^^;;

 

이번에 연재할 내용은 바로 KNN 알고리즘 입니다~^_^

 

먼저 KNN 알고리즘에 대한 정의부터 알려드리겠습니다~

 

KNN(K Nearest Negihbor)방식은 분류되어 있지 않은 데이터(Test data)들을

분류된 데이터(Training data)들 중 가장 비슷한 속성을 가진 그룹으로 분류해주는 방식입니다.

 

Training data(학습데이터)

: 명목변수(속성)에 의해 몇가지 그룹으로 분류된 데이터

 

Test data(테스트 데이터)

: Training data(학습데이터)와 같은 속성의 명목 변수를 가지고 있지만 그룹으로 분류되지 않은 데이터

 

즉, Test data와 Training data의 거리를 비교한 후 K개의 가장 가까운 이웃을 선발하고,

K개의 Training data들 중 가장 많은 부분을 차지한 그룹으로 Test data의 그룹을 할당하는 것을 의미합니다.

 

이러한 KNN(K Nearest Negihbor)의 장점 단점은 다음과 같습니다.

장점 : 간단하고 효과적, 데이터 기본적인 분석가정이 없음, 학습과정이 빠름

단점 : 모델구축을 하지 않기 때문에 속성들간의 관계에서 새로운 인사이트를 얻는데 제한

, 명목변수와 결측값은 따로 처리해야할 필요

 

 

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

실습

 

제가 예시로 보여주는 데이터는 유방암 진단 세포에 대한 데이터입니다. (wisc_bc_data.sas7bdat)

기계학습을 통해서 악성반응의 세포들을 발견하는 것을 자동화 시킨다면,

  1) 의사들이 진단보다 치료에 더 많은 시간을 쓸 수 있고,

  2) 자동화 된 시스템을 사용함으로써 의사 개인 착오에 의한 부정확성을 줄일 수 있습니다.

 

wisc_bc_data는 Wisconsin 대학 연구팀에서 제공한 데이터 입니다.

(참조 : Brett_Lantz, Machine Learning with R)

 

유방암 데이터를 읽어들인 다음에 KNN 알고리즘을 통해서 유방암 진단을 해보겠습니다.

이 자료는 569개의 관측치(조직검사)와, 32개의 변수를 가지고 있습니다.

 

SE22015062112040970.png

 

diagnosis 변수의 역할을 Target으로 바꾸고, 레벨 또한 Binary로 바꿔 준 다음에 wisc_bc_data 데이터를 불러옵니다.

 

SE22015062112070270.png

 

통계량 탐색을 해보면 preimter_worst, area_worst와 같은 몇가지 변수의 왜도가

왼쪽으로 치우쳐져 있음을 확인할 수 있습니다.

 

SE22015062112104570.png

통계량 탐색 노드 결과를 확인해보면 preimter_worst, area_worst와 같은 변수는

타겟변수 diagnosis에 많은 영향을 주는 변수임을 확인할 수 있기 때문에 

위와 같이 왼쪽으로 치우쳐져있는 왜도 문제를 해결해야 할 필요성이 있음을 확인할 수 있습니다.

 

그렇기 때문에 다음번 연재에서는 왼쪽으로 치우쳐져 있는 왜도 문제를 해결하고,

KNN 알고리즘을 이용하는 방법에 대해서 설명해 보겠습니다~ 

 

Version history
Last update:
‎06-10-2020 02:31 AM
Updated by:
Contributors

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags