본문 바로가기

문과생 DT 정복기/DT 공부하기

R활용 머신러닝(Machine Learning)_ Decision Tree, K-means, Hierarchical Clustering (HC)

반응형

안녕하세요.

매일 공부하는 나루입니다. 데이터분석준전문가 자격증을  준비하며 R을 활용해 머신러닝을 배우고 있습니다. 현재까지 공부한 내용은 선형회귀, 로지스틱회귀, KNN, SVM, 가우시안 RBF커널을 공부했습니다. 

이번에는 의사결정나무(Decision Tree), 시험 단골문제라고 하는 K-means, Hierarchical Clustering(HC)을 복습할 것입니다. 해당 내용은 내일배움카드에서 재직자 과정인 데이터분석준전문가 자격증 교육을 받은 내용을 바탕으로 정리하는 것입니다. 

데이터 분석 준전문가(ADSP)교육 과정 추천


1. Decision Tree 

* 의사결정나무 소개 

의사결정나무 학습법은 어떤 항목에 대한 관측값과 목표값을 연결시켜주는 예측 모델로써 결정 트리를 사용합니다. 이는 통계학과 데이터마이닝, 기계학습에서 사용하는 예측모델링 방법 중 하나입니다. 

Source: 위키백과 

 

* Decision Tree 연습하기(2_decision_tree_classification.R 파일)

  • Decision Tree Package는 'rpart임' 

  • 의사결정트리 보기 


2. K-Means (시험 단골) 

* K-Means 소개 

ADsP 단골 시험 문제로 K-Means 알고리즘은 주어진 데이터를 K개의 클러스터로 묶는 알고리즘으로 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작합니다. 이 알고리즘은 자율 학습의 일종으로 레이블이 달려있지 않은 입력 데이터에 레이블을 달아주는 역할을 수행합니다. 

시험에는 K값을 구하는 것이 나오며, 분류를 조금 더 똑똑하게 하는 것은 K-Means의 업그레이드 버전인 K-Means++로 수업에서는 K-Means++로 공부하였습니다. 

* K-Means 연습하기(Kmeans.R 파일) 

  • 데이터를 몇개의 그룹으로 묶을 지 코드 입력 

 

  • 몇개로 분류할지는 결정하는 방법은 효율적인 갯수를 찾는 the elbow method를 사용하기 위해서 WCSS(within-cluster sums of squares -집단 내 제곱합 그래프)를 입력함 

  • the elbow method를 통해 효율적인 갯수는 4임을 확인 

  • 다시 Centers값에 4를 입력하여 다시 계산함 

  • 4개로 군집해서 나옴 


3. Hierarchical Clustering(HC) 

* 계층척 군집화, Hierarchical Clustering 소개 

계층적 군집화는 일명 HC는 트리모형을 이용해 개별 개체들을 순차적, 계층적으로 유사한 개체 내지 그룹과 통합하여 군집화를 수행하는 알고리즘입니다. K-means와는 달리 군집수를 사전에 정하지 않고도 학습을 수행할 수있습니다. 이는 개체들이 결합되는 순서를 나타내는 Dendrogram이 있기 때문입니다. 따라서 Dendrogram을 생성한 후 적정수준에서 트리를 자르면 데이터를 몇 개 군집으로 나눌 수 있습니다. 

* HC 연습하기(hc.R 파일)

  • 계층적군집 만들기
  • method에 'euclidean'을 입력하는데, 이는 n차원의 공간에서 두 점간 거리를 알아내는 공식

  • 거리가 멀리 떨어져 있는 것을 자르는 것이 적정선이겠다라고 판단할 수 있음
  • 5개의 클러스터로 만들기. 자르는 방법은 아래와 같음 

지금까지 의사결정나무, K-Means, HC를 알아봤습니다. 특히 K-Means와 HC의 차이점을 이해하는 것이 중요하겠습니다. 둘 다 식을 만들어가는 과정이 헷갈리는 것 같아서요. K-Means는 WCSS를 기억하고, HC는 Dendrogram을 기억하겠습니다. 


긴 글 읽어주셔서 감사합니다. 

총총 


* 참고자료 
1) Decision Tree, K-Means,위키백과 

반응형