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
'자격증 > ADsP (데이터분석 준전문가)' 카테고리의 다른 글
[데이터분석 준전문가 Day 13/독학] ADsP 5-5 빅데이터 시각화 정리본 (0) | 2022.08.19 |
---|---|
[데이터분석 준전문가 Day 13/독학] ADsP 5-4 데이터마이닝 모델 성능평가 정리본 (0) | 2022.08.19 |
[데이터분석 준전문가 Day 11/독학] ADsP 5-2 지도학습 정리본 (0) | 2022.08.17 |
[데이터분석 준전문가 Day 11/독학] ADsP 5-1 데이터마이닝 개요 정리본 (0) | 2022.08.17 |
[데이터분석 준전문가 Day 10/독학] ADsP 4-7 통계분석 정리본 (0) | 2022.08.12 |