일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자바스크립트
- 프로그래머스 완전탐색
- 컴퓨터 네트워크
- 프로그래머스
- react firebase
- 리액트
- 장고
- react
- react hook
- 코틀린
- 디자인 패턴
- 자바 공부
- 데이터모델링과마이닝
- 프로그래밍 언어론
- vanillaJS
- 코딩테스트 고득점 Kit 완전탐색
- design pattern
- Java
- useState
- 리액트 훅
- 프로그래머스 자바
- JavaScript
- websocket
- 코딩테스트 고득점 Kit
- codesandbox
- useEffect
- NextJS
- 자바
- React JS
- 백준
- Today
- Total
기록하는 개발자
[데이터모델링과마이닝] 8. 데이터 마이닝(Data Mining) 본문
[ 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(입증도)
·X→Y의 입증도 if P(Y|X)= C
→ X 발생 시 Y 도 일어날 확률
ex) X를 샀을 때 Y도 산 경우
→ X를 포함하는 트랜잭션 중 Y도 있는 트랜잭션의 비율
= X와 Y를 모두 가진 트랜잭션 개수 / X를 가진 트랜잭션 개수
(2) Support(지지도)
·X→Y의 입증도 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(빈발 아이템 집합)의 응용
- 장바구니 분석, 연관규칙, 웹 로그 분석, 협업 필터링
'4-1 > 데이터모델링과마이닝' 카테고리의 다른 글
[데이터모델링과마이닝] 7. 정규화(Normalization) (0) | 2022.07.18 |
---|---|
[데이터모델링과마이닝] 6. 논리설계와 관계 데이터 모델 (0) | 2022.07.16 |
[데이터모델링과마이닝] 5. DBMS 설계 상의 선택들 (0) | 2022.07.14 |
[데이터모델링과마이닝] 4. ER 모델의 고급 기능 (0) | 2022.07.14 |
[데이터모델링과마이닝] 3. 개념 설계와 ERD (0) | 2022.07.14 |