07. R 정형데이터 분석 03
비지도학습
성현곤
• 분류와 머신러닝
• 머신러닝: 지도학습과 비지도 학습
• 통계모델과 머신러닝의 차이
• 분류 알고리즘의 종류
• 분류 모델의 평가
• 교차타당성(cross validation)
• 분류와 예측
• 로지스틱 회귀모델
• 이항 로지스틱 모델
• 일반화 가법 모델(gam)
• 판별분석
• 분류와 기계학습
• K-근접 이웃(KNN) 분류
• 결정트리 학습법
• 앙상블 학습
• 배깅과 랜덤 포레스트
• 부스팅과 XGBoost
• 비지도학습
• 비지도학습의 개념
• 주성분 분석
• 주성분 분석
• 군집(클러스터링) 분석
목차
비지도 학습의 개념
• 기계학습(Machine Learning)
• 데이터를 이용해서 컴퓨터를 학습시키는 방법론
• 규칙기반 프로그래밍에 기반하지 않고 데이터로 부터 학습하는 알 고리즘
• 기계학습 알고리즘의 종류
• 지도 학습(Supervised Learning)
• 데이터에 대한 레이블(Label)-명시적인 정답-이 주어진 상태에서 컴퓨터를 학습시키는 방법
• 학습된 알고리즘으로 얼마나 예측(Prediction)하는 데 사용
• 예측하는 결과값이 discrete value(이산값)면 classification(분류) 문제
• 결과값이 continuous value(연속값)면 regression(회귀) 문제
• 비지도 학습(Unsupervised Learning)
• 데이터에 대한 레이블(Label)-명시적인 정답-이 주어지지 상태에 서 컴퓨터를 학습시키는 방법론
• 예: 클러스터링(Clustering)
• 데이터의 숨겨진(Hidden) 특징(Feature)이나 구조를 발견하는데 사용
• 강화 학습(Reinforcement Learning)
• 에이전트가 주어진 환경(state)에 대해 어떤 행동(action)을 취하 고 이로부터 어떤 보상(reward)을 얻으면서 학습을 진행하는 방법
• 에이전트는 보상(reward)을 최대화(maximize)하도록 학습
• 일종의 동적인 상태(dynamic environment)에서 데이터를 수집하 는 과정까지 포함되어 있는 알고리즘
• 예: Q-Learning, Deep-Q-Network(DQN) , 알파고
3
비지도 학습
출처: http://solarisailab.com/archives/1785
(Supervised)
지도학습비지도학습
(Unsupervised)
강화학습(Reinforcement)
(Machine Learning)기계학습
• Labeled data
• Direct feedback
• Predict outcome/future
• No labels
• No feedback
• “Find hidden structure
• Decision process
• Reward system
• Learn series of actions
주성분 분석
• 주성분분석(Principal Component Analysis)의 개념
• 차원축소(dimensionality reduction)와 변수추출 (feature extraction) 기법
• 데이터의 분산(variance)을 최대한 보존하면서 서로 직교하는 새 기저(축)를 찾아, 고차원 공간의 표본들 을 선형 연관성이 없는 저차원 공간으로 변환하는 기 법
• 데이터 프레임의 총 변동을 대부분 설명할 수 있는 변 수 선형 조합을 찾아내는 것
• 직교 관계의 표준선형 결합 집합
• 서로 연관되어 있는 변수들의 정보를 최대한 확보하 면서 적은 수의 새로운 변수들(주성분)을 생성하는 방법
• 여러 개인 변수들의 변이(Variation)을 결정하는 데 이들 상관 구조를 활용하여 더 낮은 차원의 상호 독 립적 요인, 즉 주성분(principle component)를 찾아
냄
• 차원축소의 방법
• 특징선택(Feature Selection)
• 일부 중요 변수만을 추출
• 특징추출(Feature Extraction)
• 기존 변수를 조합해 새로운 변수를 만드는 기법
• 예: PCA
• 기타 차원축소 방법들
• 요인분석(FA)
• 독립성분분석(ICA)
• 다차원 척도법(MDA)
• 비선형 차원 축소법 등
비지도 학습
주성분 분석
• 주성분분석(Principal Component Analysis)의 목적
• 어떤 한 대상을 설명하는 데 있어 많은 변수 들을 사용하기 보다 정보의 손실을 최소화 하면서 이들의 차원을 몇개의 중요한 성분 으로 축소하여 달리 표현하고자 할 때 사용
• 정보의 손실을 최소화하면서 중요한 주요 정보를 활용
• 여러 개의 변수들에서 존재하는 오차와 잡음을 제 거하면서 공통된 주요 정보만 추출
• 적은 수의 특징(주성분)만으로 특정 현상을 설명하고자 할 때 사용
• 주성분 분석의 활용
• 회귀분석에서 설명변수의 축소
• 다중공선성이 존재할 경우 해결 방법 중의 하나가 바 로 상관도가 높은 변수들을 하나의 주성분 혹은 요인 으로 축소하여 모형개발에 활용
• 인자분석의 전초작업(즉, 인자를 구하는 방법으로 이용)
• 군집분석의 전초작업(즉, 입력변수로 이용)
• 원을 축소한 후에 군집분석을 수행하면 군집화 결과, 연산속도 개선
• 고차원으로 인해 야기될 수 있는 모델의 성 능 저하를 저차원으로 변환하여 모델의 성 능을 강화
• 기계에서 나오는 다수의 센서데이터를 주성분분석이 나 요인분석을 하여 차원을 축소한 후에 시계열로 분 포나 추세의 변화를 분석하면 기계의 고장(fatal failure) 징후를 사전에 파악하는데 활용
5
비지도 학습
출처1: https://datacookbook.kr/35
출처2: https://ratsgo.github.io/machine%20learning/2017/04/24/PCA/
출처3: https://rpubs.com/Evan_Jung/pca
주성분 분석
• 주성분분석(Principal Component Analysis)
• 직교 관계의 표준선형 결합 집합
• 변수들간 상호 상관성이 없는, 즉 독립적인 선형 결합(변환)
• 고유벡터(eigenvector)
• 원 데이터의 분산을 최대화하는 직교행렬(주성분)
• 서로 다른 고유벡터끼리는 서로 직교(orthogonal)하게 되어 상관성이 없음
비지도 학습
주성분 분석
• 주성분 개수의 결정
• 총 분산에 대한 공헌도
• Cumulative Proportion의 값이 80% 이상
• 개별 고유값의 크기
• 분산값 즉 표준편차(Standard deviation)의 제곱의 수치가 1이상인 경우
• 즉, 주성분이 원래 변수들의 1개 이상의 분산을 설명하는 경우
• 스크리 그래프(검정)을 통한 판단 :
• 수평축에 주성분을 놓고 수직축에 해당 주성분에 대응하는 고유값을 연결한 차트임
• 그래프가 완만해 지는 부분이전 까지의 주성분을 선택
• 위의 세 개 기준에서 연구자가 임의로 판단 가능
7
비지도 학습
출처1: https://datacookbook.kr/35
출처2: https://ratsgo.github.io/machine%20learning/2017/04/24/PCA/
출처3: https://rpubs.com/Evan_Jung/pca
주성분 분석
• 실습: 아파트 거래가격 특성변수 차원 축소
비지도 학습
데이터 불러오기 데이터 탐색하기
주성분 분석
주성분 데이터 산출 결과 활용:
분류, 예측, 군집
주성분 분석
• 실습: 아파트 거래가격 특성변수 차원 축소
9
비지도 학습
데이터 불러오기 데이터 탐색하기
주성분 분석
주성분 데이터 산출 결과 활용:
분류, 예측, 군집
주성분 분석
• 실습: 아파트 거래가격 특성변수 차원 축소
비지도 학습
데이터 불러오기 데이터 탐색하기
주성분 분석
주성분 데이터 산출 결과 활용:
분류, 예측, 군집
주성분 분석
• 실습: 아파트 거래가격 특성변수 차원 축소
11
비지도 학습
데이터 불러오기 데이터 탐색하기
주성분 분석
주성분 데이터 산출 결과 활용:
분류, 예측, 군집
연습문제 01
• "df.seoul.worker.csv“ 데이터를 불러들여, 서울 동남권 거주자 (area.living == 5)와 아래에 해당하는 변수들만을 추출하여 df2 에 할당하라는 명령문을 작성하시오.
비지도 학습
age, # 만나이
edu.level, # 교육수준
hh.income, # 총가구 소득
commuting.time, # 통근시간(분) commuting.area, # 통근 목적지 feel.commuting) # 통근 만족도
연습문제 02
• 연습문제 01에서의 df2객체를 활용하여 표준화(center, scale)한 데이터로 주성분 분석을 실행하시오.
• 이 때, 첫번째 주성분의 고유값은 얼마인가요?
• 주성분 분석 결과로 볼 때, 몇 개의 주성분으로 차원을 축소하는 것이 좋을까요?
13
비지도 학습
군집분석
• 군집분석의 개념
• 주어진 데이터 내에 특징별로 군집화하는 비지도(unsupervised) 기법
• 다른 그룹에 속한 다른 관찰치들에 비해 서로 보다 유사한 관찰치들의 그룹
• 군집분석의 활용분야
• 생물학, 행동과학, 마케팅 및 의학 등 다양한 분야 활용
• 우울증 환자의 중상과 인구학적인 특징에 관한 데이타로 군집분석
• 고객의 인구학적인 특징 및 소비 성향의 유사성에 근거해 몇개의 군집으로 나눔으로 써 맞춤형 마케팅을 하는데 활용
• 유전자 데이터를 이용하여 유사한 표현형 및 공통되는 생물학적 경로를 가지는 유전 자와 단백질들을 grouping하는데 활용
비지도 학습
군집분석
• 군집분석의 종류
• 응집형 계층적 군집화(Agglomerative Hierarchical Clustering)
• 각각의 객체에서 시작해서 유사성 척도(proximity measure)에 의거해 유사한 (거리가 짧은) 객체들을 Tree 형태의 계층적 군집으로 차근 차근 묶어가는 기 법
• '유클리드 제곱거리(euclidean squared distance) 기반:
단일연결법, 완전연결법, 평균연결법, 중심연결법
• 오차 제곱합(ESS : error sum of squares) 증가분의 거리기반: Ward연결법
• Ward는 이 방법을 제시했던 학자인 Joe H. Ward 의 이름을 딴 것
• 분할적 군집화(Partitional Clustering) 기법
15
비지도 학습
출처:https://rfriend.tistory.com/227[R, Python 분석과 프로그래밍의 친구 (by R Friend)]
군집분석
• 군집분석의 종류
• 응집형 계층적 군집화(Agglomerative Hierarchical Clustering)
• 분할적 군집화(Partitional Clustering) 기법
• 객체가 하나의 군집에 exclusive하게 속 하도록 군집을 형성
• 프로토타입 기반(Prototype-based), 분 포 기반(distribution-based), 밀도 기반 (Density-based), 그래프 기반(Graph- based) 기법
비지도 학습
군집분석
• 군집분석의 유사성 = 거리(distance)
• 거리 계산의 유형
17
비지도 학습
군집분석
• 군집분석의 유사성 = 거리(distance)
• 군집 방법론
비지도 학습
군집분석
• 실습: 시군구별 특성에 따른 군집분석
19
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
21
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
23
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
25
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
군집분석
• 실습: 시군구별 특성에 따른 군집분석
비지도 학습
데이터 탐색
데이터 준비:
결측지와 표준화 군집의 개수 설정
군집분석
군집분석 비교 및 기존 데이터와 연결
연습문제 03
• 시군구별 데이터인 "data_by_sigungu_2018.xlsx"를 불러들여, 다 음과 같은 변수들만 추출하여 군집분석을 실시하고자 한다.
• 최적의 군집의 갯수를 몇 개로 하는 것이 가장 바람직한 지 논의하시오.
27
비지도 학습
pop_density, # 인구밀도
r_aged, # 65세 이상 인구 비율 pop_net_move, # 순인구 이동수
apt_sale_price, # 아파트 거래가격지수
accident_per_1000car) # 1000대 차량당 사고건수
요약
• 분류와 머신러닝
• 머신러닝: 지도학습과 비지도 학습
• 통계모델과 머신러닝의 차이
• 분류 알고리즘의 종류
• 분류 모델의 평가
• 교차타당성(cross validation)
• 분류와 예측
• 로지스틱 회귀모델
• 이항 로지스틱 모델
• 일반화 가법 모델(gam)
• 판별분석
• 선형 판별모델
• 비선형 판별모델
• 분류와 기계학습
• K-근접 이웃(KNN) 분류
• 결정트리 학습법
• 앙상블 학습
• 배깅과 랜덤 포레스트
• 부스팅과 XGBoost
• 비지도학습
• 비지도학습의 개념
• 주성분 분석
• 주성분 분석
• 군집(클러스터링) 분석
• K-평균 클러스터링
• 계층적 클러스터링
끝
• 질의와 토의(Question & Discussion)
• 이번 강의 내용을 시청하고, 실행하면서 궁금한 점이나 어려운 점에 대 하여 토의해봅시다.
• 다음 차 강의주제
• 비정형 데이터 마이닝: 텍스트