자격증/ADsP (데이터분석 준전문가)

[데이터분석 준전문가 Day 12/독학] ADsP 5-3 비지도학습 정리본

thisisjade 2022. 8. 18. 14:45
728x90

 

3과목 공부시작

 

[비지도학습]

  • 목표변수가 없는 상태에서 학습을 통해서 모델을 만드는 분석기법

 

[군집분석]

  • 객체들을 유사한 속성으로 군집하는 데이터마이닝 기법
  • 계층적 방법과 비계층적 방법
  • 각 객체 간의 유사도를 측정하여 군집을 생성

 

[군집분석 유사성 척도]

- 거리 척도

  • 거리 값을 생성하여 그 값을 기준으로 군집을 생성
  • 거리 값이 가까우면 유사성이 높고 거리 값이 멀어지면 유사성이 낮아짐

 

- 상관계수 척도

  • 객체 간에 상관계수를 계산하여 유사성을 결정
  • 객체 간에 상관계수가 크면 유사성은 높아지고 상관계수가 작으면 유사성은 낮아진다.

 

[거리척도를 사용한 유사성 계산기법]

- 유클리디안 거리

  • n차원의 공간에서 두 점간의 거리를 계산하는 공식
  • L2 Distance
  • 각 객체의 속성 값을 기준으로 각 객체사이의 유사도를 측정

 

- 민코프스키 거리

  • 유클리디안 거리의 일반화된 방법
  • m값이 2일때는 유클리디안 거리와 동일

 

- 마할라노비스 거리

  • 변수 간에 상관관계가 있는 경우 사용하는 유사성 척도

 

- 맨하튼 거리

  • 각 객체를 이어주는 길을 고려해서 측정

 

- 상관계수를 사용한 유사성 계산

  • 두 개의 변수 간에 상관계수를 산정하여 유사성을 산정
  • 상관계수가 크면 두 객체 간의 유사성이 크다.

 

[계층적 군집분석]

  • 군집분석을 하기 전에 사전에 최적k를 결정하지 않고 트리형태로 군집을 생성
  • 상위트리의 계층을 만들고 반복해서 하위 트리를 생성
  • 트리 형태 구조로 군집을 하기 때문에 어느 레벨에서 군집을 중단할 것인지를 결정

 

[계층적 군집분석의 종류]

  • 응집형: 단일 연결법, 완전 연결법, 평균 연결법, 중심 연결법, 워드 연결법
  • 분리형: 다이아나 방법

 

- 단일 연결법

  • 두 군집에 있는 객체 중 가장 가까운 거리를 사용하여 연결

 

- 완전 연결법

  • 군집에 있는 두 객체 간에 가장 먼 거리를 사용하여 군집을 연결

 

- 평균 연결법

  • 두 군집에 있는 모든 객체에 대해서 평균거리 값을 사용해서 군집을 연결

 

- 중심 연결법

  • 두 군집에서 중심 좌표를 계산하여 두 개의 군집을 연결

 

- 워드 연결법

  • 군집조합에서 군집을 연결한 후에 군집 내 제곱합을 계산하고 최소 제곱합을 가지는 군집 간에 연결을 하는 방법
  • 거리 계산을 위해 유클리디안 거리를 사용하는 방법

 

[비계층적 군집분석]

  • 군집분석을 하기 전에 먼저 최적k를 결정하고 각 객체를 k개 중 하나의 군집에 배정하는 방법

 

- K-means 알고리즘

  • 군집의 중심좌표를 고려해서 각 객체를 가까운 군집에 배정
  • 초기객체를 선정: K개의 객체좌표를 사용해서 초기 군집좌표를 선정
  • 객체 군지 배정: 각 객체와 K개 중심좌표와 거리를 산출, 거리가 가장 가까운 군집에 객체를 배정
  • 군집 중심좌표 산출: 새로운 군집에 대해서 중심좌표를 다시 산출
  • 수렴조건 점검: 이전의 중심좌표와 새로운 중심좌표를 비교해서 수렴조건을 만족하면 알고리즘을 종료

 

- K-medoids 알고리즘

  • 군집 내에서 다른 객체들과의 거리가 최소가 되도록 하는 대표 객체를 고려하는 방법
  • PAM 알고리즘: 중앙점을 사용해서 N개의 모든 데이터를 최종 K개의 군집으로 군집화 시키는 방법
  • CLARA 알고리즘: 모든 객체를 대상으로 하지 않고 객체 중에 일부만 대표 값으로 해서 군집화

 

[SOM]

  • 코호넨에 의해서 개발된 것으로 자기조직화 네트워크 기법
  • 군집분석 시에 신경망 분석을 수행하느 방법이며 거리 값은 유클리드의 거리 수식을 사용
  • 신경망과 K-means 기법의 특징을 모두 가지고 있다.

 

- SOM 특징

  • 데이터 간에 잘 구분되지 않은 상관관계를 확인
  • 자율학습으로 군집화를 수행
  • 신경망에서 사용하는 Back-propagation과정이 없다.
  • Back-propagation 과정이 없어서 수행 속도가 빠른 장점이 있다.

 

[연관규칙]

  • X 사건이 발생하면 Y 사건이 발생할 확률을 계산
  • 특정 사건들은 동시에 발생한다는 패턴에 대해 상호관련성을 분석하는 방법으로 연관규칙은 원인과 결과의 직접적인 인과관계가 아니다.
  • 장바구니 분석, 친화성 분석

 

- Apriori 알고리즘

  • 가장 많이 사용하는 연관규칙 알고리즘
  • 최소 지지도 값을 설정하여 빈도 수가 높은 항목의 집합들을 도출
  • 지지도를 사용해서 다음 단계로 후보군을 설정

 

[연관규칙 측정방법]

- 지지도(Support)

  • 두 항목의 X와 Y의 지지도는 전체 거래 중에서 항목집합 X와 Y를 포함한 거래 건수의 비율
  • S = P(X∩Y) = 품목X와 품목Y를 포함하는 거래 수/ 전체 거래 수(N)

 

- 신뢰도(Confidence)

  • 조건부 확률로 항목집합 X를 포함하는 거래 중에서 Y를 포함하고 있는 거래 비율
  • C = P(Y|X) = P(X∩Y)/P(X) = 품목X와 품목Y를 포함하는 거래 수/ 품목X를 포함한 거래 수

 

- 향상도(Lift)

  • 항목 X를 구매한 경우 그 거래가 항목 Y를 포함하는 경우와 항목 Y가 임의로 구매되는 경우의 비
  • 1보다 큰 값이어야 유용한 정보
  • L = P(Y|X)/P(Y) = P(X∩Y)/P(X)P(Y)

 

- 연관규칙 분석을 위한 데이터 구조

  • 연관규칙 분석을 위해서는 데이터를 트랜잭션 데이터로 변환하고 트랜잭션 데이터를 다시 동시발생 행렬로 변환하여 각 항목별로 빈도 수를 계산

 

- 연관규칙의 장점

  • 연관규칙 분석의 결과에 대해서 이해가 쉽다.
  • 분석이 간단하고 편리하다.
  • 비목적성 분석기법

 

- 연관규칙의 단점

  • 품목의 수가 증가하면 계산이 기하급수적으로 증가하기 때문에 속도가 느리다.
  • 거래량이 적은 품목은 연관규칙 분석에서 제외될 수가 있다.
  • 품목이 너무 세분화 되면 의미 없는 분석결과가 나올 수 있다.

 

[순차적 패턴분석]

  • 시간 및 순서에 따라 발생되는 연관성을 분석하는 방법으로 시퀀스를 이용해 순차적인 정보를 사용

 

고객 연관규칙 분석 순차적 패턴분석
분석관점 동시발생 사건 시간 및 순서에 따른 사건
데이터 거래 집합 셋(Transaction Data Set) 거래 집합 셋(Transaction Data Set)
식별정보, 타임스탬프(TimeStamp)
평가방법 지지도, 신뢰도, 향상도 지지도

 

 

- 순차 패턴분석 알고리즘

  • 1단계 정렬단계: 거래 데이터를 시퀀스 데이터로 변환
  • 2단계 빈발항목 집합: 지지도를 사용해서 빈발항목 집합을 도출해야 한다.
  • 3단계 변환단계: 고객 시퀀스를 빈발항목 집합을 사용해서 시퀀스로 변환해야 한다.
  • 4단계 시퀀스 단계: 빈발 시퀀스를 도출
  • 5단계 최대화 단계: 빈발 시퀀스에서 최대 시퀀스를 탐색

 

[텍스트마이닝]

  • 자연어 처리 기술을 사용해서 문서의 어휘적, 문법적 특성을 분석하는 비정형 데이터 분석기법
  • 비정형 데이터를 사용해서 의미 있는 정보를 추출하는 것으로 각 정보와의 연계성을 분석

 

[문서분류]

  • 서지학의 한 부분으로 도서관 등에서 수많은 도서를 정해진 규칙에 의해서 분류하는 것

 

- 전처리

  • 문서 내에 있는 오탈자를 교정, 불용어(Stopword) 등을 제거

 

- 토큰화

  • 문서를 분류하기 위해 수행되어야 하며 형태소 분석기를 사용해서 명사, 동사, 형용사 등을 추출

 

- 특징 값 추출

  • 문서의 핵심단어를 식별하는 것으로 적은 수의 카테고리에 분포되고 카테고리내에서는 빈번하게 출현

 

- 분류

  • 학습 알고리즘을 사용해서 문서를 분류

 

[문서군집]

  • 각 문서의 특징을 분석하여 각 문서 간에 관련성이 높은 것을 군집

 

[정보추출]

  • 비정형 문서로부터 중요 키워드 등의 정보를 추출하고 요약하여 새롭고 가치있는 정보를 제공

 

[문서요약]

  • 문서들의 특징을 분석하기 위해서 자동으로 문서정보를 요약

 

[텍스트마이닝 관련 패키지]

  • KoNLP: 한국어 자연어 처리를 실행
  • rJava: KoNLP 패키지를 사용하기 위해서 설치
  • memoise: KoNLP 패키지를 사용하기 위해서 설치
  • stringr: str_replace_all()함수를 사용해서 문자를 교체
  • wordcloud: 단어들을 구름모양으로 보여준다.

 

[R의 텍스트 마이닝 함수]

  • str(x[[1]]): 데이터 구조 정보를 확인
  • content(x[[1]]): 문서의 내용을 확인
  • meta(x): 문서의 메타 정보를 보여줌
  • inspect(x): 텍스트, 코퍼스, 문서행렬과 같은 정보를 제공
  • lapply(x, content): 파일의 내용을 보여줌

 

[R의 전처리 함수]

  • tm_map(x, removePunctuation): 문서에서 문장부호를 제거(. , " ' 등)
  • tm_map(x, stripWhitespace): 공백문자를 제거
  • tm_map(x, removeNumbers): 숫자를 제거

 

 

728x90