데이터전처리 - suanlabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 ·...

34
데이터 전처리 Data Preprocessing

Upload: others

Post on 08-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

데이터전처리Data Preprocessing

Page 2: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

05데이터통합

Page 3: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

목차

1. 개체식별

2. 중복

3. 상관분석

4. 데이터값충돌탐지및해결

• 데이터전처리(Data Preprocessing) - 05 데이터통합 3

Page 4: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

1. 개체식별

Page 5: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

개체식별문제Entity Identification Problem

▪ 데이터통합data integration은여러데이터저장소로부터온데이터의합병

▪ 데이터웨어하우스data warehouse나데이터마이닝data mining 같은데이터분석작업은다수의원천데이터로부터하나의통일된데이터저장소로결합시키는통합작업필요

▪ 데이터원천은데이터베이스, 데이터큐브data cube, 플랫파일flat file 등다양한형태로존재

▪ 여러데이터원천들로부터데이터를통합할때, 동일한의미의개체들이서로다르게표현되어있을경우, 어떻게일치시킬수있을까? → 개체식별문제Entity Identification Problem

• 데이터전처리(Data Preprocessing) - 05 데이터통합 5

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 6: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

개체식별문제Entity Identification Problem

• 데이터전처리(Data Preprocessing) - 05 데이터통합 6

customer_id cust_number=≠

A 데이터베이스 B 데이터베이스

customer cust

Page 7: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

개체식별문제Entity Identification Problem

▪ 데이터분석가나컴퓨터가개체들이같은것인지식별할수있을까?

▪ 메타데이터의활용이중요

▪ 각속성의메타데이터는이름과의미, 데이터타입, 허용되는값의범위, 무규칙(null rule) 등을포함

▪ 스키마통합과정에서오류를피하기위해메타데이터활용필요

▪ 메타데이터를이용해데이터변환에서도사용

▪ A 데이터베이스는성별값으로 ‘M’, ‘F’ 사용

▪ B 데이터베이스는성별값으로 ‘1’, ‘2’ 사용

• 데이터전처리(Data Preprocessing) - 05 데이터통합 7

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 8: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

개체식별문제Entity Identification Problem

▪ A 데이터베이스의 customer 테이블의 customer_id와B 데이터베이스의 cust테이블의cust_number가기본키primary key이고, 두속성모두동일한데이터타입과도메인을가지고있다면, 두속성은이름은다르지만동일한속성으로판단가능

▪ 데이터통합시일원화된속성으로정의가능

▪ customer 테이블과 cust테이블간의튜플연계도가능

• 데이터전처리(Data Preprocessing) - 05 데이터통합 8

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 9: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

개체식별문제Entity Identification Problem

▪ 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적으로고려할사항▪ 속성의데이터타입과도메인

▪ 기본키여부

▪ 참조무결성(외래키)referential constraint: 참조하는테이블의외래키foreign key의속성값은반드시참조하는테이블의기본키primary key 속성값중하나여야함

▪ 함수적종속관계functional dependency

• 데이터전처리(Data Preprocessing) - 05 데이터통합 9

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 10: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

함수적종속성Functional Dependency

▪ 속성X, Y에대하여, x1(∈X)=x2(∈X)이면, y1(∈Y)=y2(∈Y)임을보장할때,속성Y는함수적으로종속됨

▪ X→Y로표기

▪ X는결정자determinant

▪ Y는의존자dependent

▪ X가Y를함수적으로결정

▪ Y가X에함수적으로종속

• 데이터전처리(Data Preprocessing) - 05 데이터통합 10

Page 11: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

함수적종속성Functional Dependency

• 데이터전처리(Data Preprocessing) - 05 데이터통합 11

▪ 학번에의해학생이름과학과는고유하게구분

▪ 학과속성은학번에함수적으로종속

▪ 학번은결정자, 학생이름과학과는종속자

▪ 학번→{학생이름, 학과}

학번 학생이름 학과

201841231 홍길동 컴퓨터공학과

201859341 이순신 기계공학과

201911214 김철수 경영학과

Page 12: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

함수적종속성Functional Dependency

▪ 학번→학생이름

▪ {학번, 과목코드}→성적

▪ {학번, 과목코드}→학생이름

▪ 학생이름을결정짓는요소는학번

▪ 성적을결정짓는요소는학번과과목코드

▪ 학생이름은학번과과목코드에의해서도고유하게구분가능

▪ 학생이름의경우함수적종속성이두개

• 데이터전처리(Data Preprocessing) - 05 데이터통합 12

학번 과목코드 성적 학생이름

201841231 1800100 A 홍길동

201841231 2113100 A+ 홍길동

201841231 3921211 B+ 홍길동

201859341 2113100 A 이순신

201859341 3921211 A 이순신

201911214 1800100 B+ 김철수

Page 13: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

함수적종속성Functional Dependency

▪ 부분함수적종속Partial Functional Dependency

▪ 속성집합Y가속성집합X전체가아닌부분에도함수적으로종속

▪ {학번, 과목코드}→학생이름

▪ 학생이름이속성집합Y이고, {학번, 과목코드)가속성집합X일때, 학생이름은 {학번, 과목코드}에도함수적으로종속되며X의일부인학번에도함수적으로종속

▪ 완전함수적종속Full Functional Dependency

▪ 속성집합Y가속성집합X 전체에대해서함수적으로종속된경우

▪ {학번, 과목코드}→성적

▪ 성적이속성집합Y이고, {학번, 과목코드}가속성집합X인상태에서, 성적은 {학번, 과목코드}의어떤부분집합에도종속되지않음

▪ 학번만으로성적을결정지을수없고, 과목코드만으로성적을결정지을수없음

• 데이터전처리(Data Preprocessing) - 05 데이터통합 13

Page 14: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

2. 중복

Page 15: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

유도속성derived attribute

▪ 어떤속성은다른속성이나속성의집합으로부터유도가능▪ 연령속성은생년월일속성의유도속성

▪ 총점속성은각과목점수속성집합의유도속성

▪ 일반적으로데이터베이스조회성능을높이기위해반정규화과정에서유도속성정의

▪ 반정규화de-normalization

▪ 정규화normalization의반대개념으로유도속성의정의

▪ 릴레이션의수직/수평분할등이존재

▪ 일반적으로정규화는데이터중복을제거하는과정, 반정규화는성능향상을위해중복을허용하는과정

▪ 유도속성은성능향상에도움이되지만, 데이터중복을허용하는과정으로데이터불일치문제발생

▪ 월소득속성값이100만원인데연소득속성값이1,000만원 (둘중하나의속성값에오류가존재)

• 데이터전처리(Data Preprocessing) - 05 데이터통합 15

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 16: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

정규화되지않은테이블

▪ 정규화되지않은테이블의사용은데이터중복의원인이됨

▪ 일부러정규화하지않은채테이블을사용하는경우, 조인을피함으로성능을향상시키지만, 이러한테이블구조는데이터중복으로인한데이터일관성저해문제발생

▪ 예를들어, 이름과주소정보를키로사용하여구매자주문을저장하는데이터베이스▪ 같은이름에다른주소를갖는경우에대해데이터불일치발생

▪ 정규화관점에서구매자주소는구매자의구매품목과는별개의테이블에저장필요

▪ 구매테이블의키가 (구매자번호+ 구매일시)라고가정할때, 주소는키에부분함수적종속관계에있으므로제2정규화원칙에따라구매자번호와함께별도의테이블로분리설계해야함

▪ 그러나조회성능향상을위해테이블을분리하지않았을때에는같은구매자번호에대해서다른주소가존재할가능성은언제든지있음

• 데이터전처리(Data Preprocessing) - 05 데이터통합 16

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 17: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

정규화가필요한이유

▪ 불필요한데이터중복으로공간낭비와이상anomaly 발생

▪ 삽입이상Insertion Anomaly: 새데이터를삽입하기위해불필요한데이터도삽입하는문제

▪ 갱신이상Update Anomaly: 중복튜플중일부만변경하여데이터가불일치되는모순의문제

▪ 삭제이상Delete Anomaly: 튜플삭제시필요한데이터까지함께삭제되는데이터손실문제

• 데이터전처리(Data Preprocessing) - 05 데이터통합 17

Page 18: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

삽입이상 Insertion Anomaly

▪ 아직수업을하나도수강하지않은학생의경우, KEY가 STUDENT_ID, COURSE_ID로사용되고있으므로삽입불가 (기본키컬럼은NULL 불가)

▪ 삽입하려면 ‘수강미정’과같은과목코드를불필요하게삽입해야함

• 데이터전처리(Data Preprocessing) - 05 데이터통합 18

학번 학생이름 학과 과목코드 성적

201841231 홍길동 컴퓨터공학과 1800100 A

201841231 홍길동 컴퓨터공학과 2113100 A+

201841231 홍길동 컴퓨터공학과 3921211 B+

201859341 이순신 기계공학과 2113100 A

201859341 이순신 기계공학과 3921211 A

201911214 김철수 경영학과 1800100 B+

Page 19: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

갱신이상Update Anomaly

▪ ‘이순신’이 ‘기계공학과’에서 ‘컴퓨터공학과’로전과하면전체학과정보변경필요

▪ 모두변경하지않은경우 ‘이순신’이 ‘기계공학과’인지 ‘컴퓨터공학과’인지알수없음

• 데이터전처리(Data Preprocessing) - 05 데이터통합 19

학번 학생이름 학과 과목코드 성적

201841231 홍길동 컴퓨터공학과 1800100 A

201841231 홍길동 컴퓨터공학과 2113100 A+

201841231 홍길동 컴퓨터공학과 3921211 B+

201859341 이순신 기계공학과 2113100 A

201859341 이순신 기계공학과 3921211 A

201911214 김철수 경영학과 1800100 B+

Page 20: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

삭제이상Delete Anomaly

▪ ‘김철수’가 ‘1800100’ 과목을수강취소할경우, ‘김철수’에대한행을삭제하게됨

▪ 수강취소를반영하기위해서 ‘김철수’ 학생정보가삭제되는이상발생

• 데이터전처리(Data Preprocessing) - 05 데이터통합 20

학번 학생이름 학과 과목코드 성적

201841231 홍길동 컴퓨터공학과 1800100 A

201841231 홍길동 컴퓨터공학과 2113100 A+

201841231 홍길동 컴퓨터공학과 3921211 B+

201859341 이순신 기계공학과 2113100 A

201859341 이순신 기계공학과 3921211 A

201911214 김철수 경영학과 1800100 B+

Page 21: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

정규화Normal Form

▪ 중복요소를찾아제거해나가는과정

▪ 제1정규화: 하나의속성이원자값atomic value을갖도록설계를변경하는과정

▪ 제2정규화: 주식별자가아닌속성들중에서주식별자전체가아닌일부속성에종속된속성을찾아제거하는과정

▪ 제3정규화: 주식별자가아닌속성들중에서종속관계에있는속성을찾아제거하는과정

• 데이터전처리(Data Preprocessing) - 05 데이터통합 21

Page 22: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

제1정규화1NF, First Normal Form

• 데이터전처리(Data Preprocessing) - 05 데이터통합 22

학번 과목코드 성적 학생이름 학과 등록금

201841231 1800100, 2113100, 3921211 A, A+, B+ 홍길동 컴퓨터공학과 350

201859341 2113100, 3921211 A, A 이순신 기계공학과 400

201911214 1800100 B+ 김철수 경영학과 320

학번 과목코드 성적 학생이름 학과 등록금

201841231 1800100 A 홍길동 컴퓨터공학과 350

201841231 2113100 A+ 홍길동 컴퓨터공학과 350

201841231 3921211 B+ 홍길동 컴퓨터공학과 350

201859341 2113100 A 이순신 기계공학과 400

201859341 3921211 A 이순신 기계공학과 400

201911214 1800100 B+ 김철수 경영학과 320

Page 23: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

제2정규화2NF, Second Normal Form

▪ {학번, 과목코드}→성적

▪ {학번, 과목코드}→학과

▪ {학번, 과목코드}→등록금

▪ 학번→학과

▪ 학번→등록금

▪ 학과→등록금

• 데이터전처리(Data Preprocessing) - 05 데이터통합 23

부분함수 종속성

학번 과목코드 성적 학생이름 학과 등록금

201841231 1800100 A 홍길동 컴퓨터공학과 350

201841231 2113100 A+ 홍길동 컴퓨터공학과 350

201841231 3921211 B+ 홍길동 컴퓨터공학과 350

201859341 2113100 A 이순신 기계공학과 400

201859341 3921211 A 이순신 기계공학과 400

201911214 1800100 B+ 김철수 경영학과 320

Page 24: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

제2정규화2NF, Second Normal Form

▪ 학생

▪ 성적

▪ 정규화를통해분리된릴레이션들은조인을통해원래의구조로복원가능

▪ 두릴레이션모두제1정규형에속하고, 기본키가아닌모든속성이기본키에완전종속

▪ 삽입이상: 새로운학과가생기지만, 등록된학생이없다면학번속성이NULL

▪ 삭제이상: 201911214 학번이자퇴하는경우, 경영학과에대한정보가사라짐

• 데이터전처리(Data Preprocessing) - 05 데이터통합 24

학번 학과 등록금

201841231 컴퓨터공학과 350

201859341 기계공학과 400

201911214 경영학과 320

학번 과목코드 성적

201841231 1800100 A

201841231 2113100 A+

201841231 3921211 B+

201859341 2113100 A

201859341 3921211 A

201911214 1800100 B+

Page 25: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

제3정규화3NF, Third Normal Form

▪ 기본키가아닌모든속성이기본키에이행적함수종속이되지않으면제3정규형

▪ 이행적함수종속Transitive Functional Dependency: X, Y, Z에대해서X→Y이고Y→Z이면, X→Z가성립 (Z가X에이행적으로함수종속)

▪ 학생릴레이션의함수적종속성▪ 학번→학과

▪ 학과→등록금

▪ 학번→등록금

▪ 이행적함수종속관계는 [X, Y], [Y, Z] 릴레이션으로분리

• 데이터전처리(Data Preprocessing) - 05 데이터통합 25

학번 학과 등록금

201841231 컴퓨터공학과 350

201859341 기계공학과 400

201911214 경영학과 320

학번 학과

201841231 컴퓨터공학과

201859341 기계공학과

201911214 경영학과

학과 등록금

컴퓨터공학과 350

기계공학과 400

경영학과 320

Page 26: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

3. 상관분석

Page 27: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

상관분석Correlation Analysis

▪ 두속성간의엄격한함수적종속관계가성립하지는않지만, 상관분석을통해한속성이다른속성을얼마나강하게암시하는지를데이터를통해측정

▪ 두속성간에상관도가높다면두속성을중복으로보고그중하나의속성을제거할수있음

▪ 두속성간의상관도는데이터타입에따라다르게구함

• 데이터전처리(Data Preprocessing) - 05 데이터통합 27

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

https://t1.daumcdn.net/cfile/tistory/23334C41525365A31E

Page 28: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

상관계수Correlation Coefficient

▪ 수치속성에대해서속성A와B의상관계수

𝑟𝐴,𝐵 =σ𝑖=1𝑁 𝑎𝑖 − ҧ𝐴 𝑏𝑖 − ത𝐵

𝑁𝜎𝐴𝜎𝐵=σ𝑖=1𝑁 𝑎𝑖𝑏𝑖 −𝑁 ҧ𝐴ത𝐵

𝑁𝜎𝐴𝜎𝐵

▪ 𝑁: 튜플의개수

▪ 𝑎𝑖, 𝑏𝑖 : 튜플 𝑖에서의속성A, B의값

▪ ҧ𝐴 , ത𝐵 : 속성A, B의평균값

▪ 𝜎𝐴, 𝜎𝐵 : 속성A, B의표준편차

▪ −1 ≤ 𝑟𝐴,𝐵 ≤ +1 : 상관계수결과값범위

▪ 𝑟𝐴,𝐵 ≥ 0 : 속성𝐴, 𝐵는양의상관관계positively correlated, 즉B 값이증가함에따라A 값이증가

▪ 𝑟𝐴,𝐵 ≤ 0 : 속성𝐴, 𝐵는음의상관관계negatively correlated, 즉B 값이증가함에따라A 값이감소

▪ 𝑟𝐴,𝐵 = 0 : 속성𝐴, 𝐵는독립적이며둘사이에상관관계가없음

• 데이터전처리(Data Preprocessing) - 05 데이터통합 28

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 29: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

상관계수Correlation Coefficient

▪ 상관계수 𝑟𝐴,𝐵의절대값이클수록더강한상관성이있다는의미

▪ 일반적으로두속성간상관성이클수록중복속성으로판단해서하나의속성을분석대상에서배제해도분석결과에큰영향을주지않음

▪ 상관관계가인과관계를직접의미하는것은아님

▪ 어떤지역의병원수와자동차수사이에상관관계를발견해도병원수와자동차수사이의어떤인과가존재한다기보다는두속성다인구에대한인과관계로보는것이타당

▪ 상관분석상강한상관관계를나타낸다고하더라도중복속성여부를판단할때는해당분야도메인지식을충분히고려해서최종판단하는것이바람직함

• 데이터전처리(Data Preprocessing) - 05 데이터통합 29

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 30: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

카이제곱검정Chi-Square Tests

▪ 범주형(이산형) 데이터인경우, 속성𝐴와𝐵사이의상관관계는피어슨Pearson의카이제곱𝜒2검정에의해측정가능

▪ 속성𝐴가 𝑐개의범주값 𝑎1, 𝑎2,⋯ ,𝑎𝑐를가진다고가정

▪ 속성𝐵가 𝑟개의범주값 𝑏1, 𝑏2,⋯ ,𝑏𝑟를가진다고가정

▪ 속성𝐴와𝐵에의해구성되는튜플은 𝑐개의열과 𝑟개의행으로구성되는분할표로표현

▪ 𝐴𝑖,𝐵𝑗 를속성𝐴가 𝑎𝑖를가지고, 속성𝐵가 𝑏𝑗를가지는튜플이라고할때𝜒2의정의

𝜒2 =

𝑖=1

𝑐

𝑗=1

𝑟

=𝑜𝑖𝑗 −𝑒𝑖𝑗

2

𝑒𝑖𝑗

▪ 𝑜𝑖𝑗 : 𝐴𝑖,𝐵𝑗 에대한관측도수observed frequency; 실제로존재하는 𝐴𝑖,𝐵𝑗 튜플수

▪ 𝑒𝑖𝑗 : 𝐴𝑖,𝐵𝑗 에대한기대도수expected frequency; 확률적으로기대되는 𝐴𝑖,𝐵𝑗 튜플수

• 데이터전처리(Data Preprocessing) - 05 데이터통합 30

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 31: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

카이제곱검정Chi-Square Tests

▪ 기대도수 𝑒𝑖𝑗 계산식

𝑒𝑖𝑗 =𝑐𝑜𝑢𝑛𝑡(𝐴 = 𝑎𝑖) × 𝑐𝑜𝑢𝑛𝑡(𝐵 = 𝑏𝑗)

𝑁

▪ 𝑁 : 데이터튜플수

▪ 𝑐𝑜𝑢𝑛𝑡(𝐴 = 𝑎𝑖) : 속성A에대하여𝑎𝑖를갖는튜플수

▪ 𝑐𝑜𝑢𝑛𝑡(𝐵 = 𝑏𝑗) : 속성B에대하여𝑏𝑗를갖는튜플수

▪ 𝜒2통계량은속성𝐴와𝐵가독립이라는가설을검증

▪ 카이제곱검정은자유도 𝑟 − 1 × 𝑐 −1 을갖는유의수준에근거하여검정

• 데이터전처리(Data Preprocessing) - 05 데이터통합 31

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 32: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

4. 데이터값충돌탐지및해결

Page 33: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

데이터값충돌탐지및해결

▪ 서로다른데이터원천의데이터들을통합할때동일한개체에대해서도속성값이다를수있음→ 표현representation, 척도scaling, 부호화encoding 등의차이▪ 거리를나타내는속성으로어느DB에서는미터meter단위로다른DB에서는마일mile단위로저장

▪ 학생성적데이터로어느DB에서는과목별점수가저장되고, 다른DB에서는총점과평균만저장

▪ 동일한개체의동일한값이데이터원천에따라다르게표현되어있는경우, 데이터통합시에기준을정하여데이터값을변환하여통합시키는것이필요

▪ 통합과정에서DB의속성을일치시킬때데이터구조에도주의를기울여야함

▪ 원천시스템의기능적종속성과제약사항들이목표통합시스템의것과일치해야함

▪ 어느시스템에서는할인이총주문금액에적용되는반면다른시스템에서는주문을구성하는개별항목에적용

▪ 데이터의의미적이질성과데이터구조는데이터통합시에여러문제를발생시킴

▪ 여러유형의문제들을신중하게해결하여통합데이터의중복과불일치문제를최소화

이현호, Python과 SQL을 활용한 실전 데이터 전처리, 카오스북, 2018.

Page 34: 데이터전처리 - SuanLabsuanlab.com/assets/lectures/dp/05.pdf · 2019-05-02 · 개체식별문제Entity Identification Problem 데이터베이스의어떤속성을다른데이터베이스의속성과동일성여부판단시종합적

• 데이터전처리(Data Preprocessing) - 05 데이터통합 34