기록하는 개발자

[데이터모델링과마이닝] 8. 데이터 마이닝(Data Mining) 본문

4-1/데이터모델링과마이닝

[데이터모델링과마이닝] 8. 데이터 마이닝(Data Mining)

밍맹030 2022. 7. 18. 17:24
728x90

[ OLTP와 OLAP ]

· OLTP(On-Line Transaction Processing)

- 그때그때 할 수 있는 일상적인 업무 처리 측면

 

· OLAP(On-Line Analytical Processing)

- 실시간 처리로 정확도보다는 대체적이고 빠르게

- 운영자가 추세적으로 알고 싶을 때 사용

- 그룹짓기(Group By), 집계(Aggregate 함수)등이 중심

 

 

[ Data Warehouse ]

- 장기간에 걸쳐 여러 data source로부터 모은 data와 그 요약 정보

- 추출 → 양식변환 → 적재 → 리프레시

 

# warehousing issue

- 원천들이 이질적이다. 다양한 포맷과 repository의 데이터를 받아야한다.

- semantic integration(의미 측면 통합)이 필요하다.

- 데이터 적재(load), 주기적 리프레시, 오래된 데이터의 제거(purge)가 필요하다.

- 메타 데이터의 관리가 필요 하다.

* 메타데이터(metadata)는 데이터에 대한 데이터이다.

  즉, 데이터에 관한 구조화된 데이터로, 다른 데이터를 설명해 주는 데이터이다.

 

 

[ Multidimensional Data Model ]

- 여러 차원으로 표현된 공간 속 각 cell에 측정값(measure) 기록

 *measure : 실제 측정값들을 넣어 table화 한 것 → fact table

 

- 중심에 되는 relation : fact table

- 각 차원 축에 대한 세부 설명 : dimensional table(차원 테이블)

 

* 다차원 데이터 저장 방법

· MOLAP systems : 물리적으로도 다차원으로 저장

· ROLAP systems : 관계 DB로 저장

 

·차원 계층 구조 : 각 차원축을 다단계로 구성 가능

# OLAP Queries → SQL, Spread Sheet 흏내

- 주소 하용하는 연산은 다양한 차원축 조합의 집계(aggregation) 

· Roll-up : 차원축 상위 레벨로 올라가는 집계

· Drill-Down : 차원축 하위 레벨로 내려가는 집계

· Pivoting : 차원축을 하나 이상 정하고 그에 따른 집계 → 교차 집계표(cross-tabulation)이 결과물

# DB 스키마 모델링

- fact table은 BCNF, 차원 테이블은 정규화가 안된 모습(중복성 존재)을 가지고 있다. 

→ 차원 테이블은 작고 갱신이 거의 발생하지 않는다. 

∴ 갱신 anomaly 걱정보다는 성능이 더 중요하다.

- 이러한 형태는 보통 star schema라고 부른다. → table을 모두 조인한 형태는 star join

 

 

[ Data Mining ]

- 데이터로부터 지식을 발견

- 대량의 데이터를 explore(탐사), analyze(분석)하여  valid, ultimately understandable, novel(previously unknown), potentially useful한 새로운 패턴이나 지식을 추출하는 것.

 

· mining 프로세스

 비즈니스 문제 식별

→ 데이터 마이닝(통합 및 선별 → 전처리(선별, 정리)→모델 수립→모델 평가)

→ action(실행) → 평가 및 측정

→ deploy(도입)및 비즈니스 과정 속 융합

 

* 전처리

- 선별 : 목표 데이터 군 관련 필드 파악

- 정리 : 튀는 값 제거, 형식 변환 ,단위 통일, 필요 속성 추가

 

· 데이터 마이닝 모델

데이터 군에 대한 특정 측면의 기술. 입력값들이 주어지면 출력값들을 만들어 낸다.

 

# 레벨 별 분류

· 기능 레벨 : 용도에 따른 설명 → 분류 모델, 클러스터링 모델

· 표현 레벨 : 용도에 따른 설명 → 로그 선형 모델, 분류 트리 모델

· 투명 모델 vs 블랙박스 모델(밖에서 동작 원리 등을 볼 수 없음)

 

# attribute(변수)의 타입

· 수치형 - 연속형(온도,키), 불연속형(나이,학번)

· 카테고리형  ex) 인종, 직업, 재료

· 순서형  ex) 별점, 선호도

 

# mining 기법 종류

· 지도 학습 - 분류, 회귀   /   지도 학습 - 클러스터링 

· 연관관계 모델링 → 연관, 요약, 인과관계

· Outlier(이상치, 편차)탐지

· 추세분석, 변화 탐지

 

ex) 분류 예시

· 입력값 : Age(순서형), Car(카테고리형)

· 출력값 

   - 구매여부 →  카테고리형(yes/no)

   - 구매가격 → 수치(불연속형)형

 

 

< 클러스터링 > → 기능레벨 + 비지도학습

- 데이터 set, 유사도, 거리값, 정보 등을 주고 데이터 간의 분할 ,유사한 항목의 그룹짓기 등으로 유의미한 패턴을 찾는다.

 

< Association Analysis(연관 분석) > 

 

# Association  Rule(연관 규칙)

*트랜잭션 : 데이터 처리 단위

 

(1) Confidence(입증도)

·XY의 입증도  if P(Y|X)= C

→ X 발생 시 Y 도 일어날 확률

ex) X를 샀을 때 Y도 산 경우

→ X를 포함하는 트랜잭션 중 Y도 있는 트랜잭션의 비율

     = X와 Y를 모두 가진 트랜잭션 개수 / X를 가진 트랜잭션 개수

 

(2) Support(지지도)

·XY의 입증도  if P(XY)= S

→ 전체 트랜잭션 중 X, Y가 모두 있는 트랜잭션의 비율

     = X와 Y를 모두 가진 트랜잭션 개수 / 전체 트랜잭션의 수

ex) 장바구니 분석을 통한 입증도와 지지도 예시

1) { Pen } → { Milk }

·Support : 75%

→ 전체 중 Pen과 Milk를 모두 포함하는 트랜잭션 수

·Confidence : 75%

→ Pen이 포함 된 트랜잭션 중 Milk도 포함 된 트랜잭션 수

 

2) { Ink } → { Pen }

·Support : 75%

→ 전체 중 Ink과 Pen을 모두 포함하는 트랜잭션 수

·Confidence : 100%

→ Ink가 포함 된 트랜잭션 중 Pen도 포함 된 트랜잭션 수

 

· Frequent Itemset(빈발 아이템 집합)의 응용

- 장바구니 분석, 연관규칙, 웹 로그 분석, 협업 필터링

728x90