데이터전처리 Data Preprocessing
06 데이터축소
목차 1. 데이터큐브집계 2. 속성부분집합선택 3. 차원축소 4. 수량축소 데이터전처리 (Data Preprocessing) - 06 데이터축소 3
데이터축소Data Reduction 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 방대한양의데이터를대상으로복잡하게데이터를분석하고마이닝기법을적용한다면매우많은시간이소요되어분석이비현실적임 데이터축소필요 데이터축소전략 차원적축소 dimensionality reduction : 데이터인코딩스키마를적용하여압축되거나축소된표현제공 수치적축소 numerosity reduction : 모수적모형 parametric model 이나비모수적모형 non-parametric model 을사용한데이터대체 모수적모형 parametric model : 모수의특성을활용하는모형으로모집단이정규분포를띤다는가정하에표본통계량으로모집단통계량을추정 비모수적모형 non-parametric model : 모수의특성을활용하지않는모형으로군집화, 표본추출, 히스토그램등이대표적인예 축소된데이터집합에대한데이터분석결과는원본데이터집합에대한데이터분석결과와거의동일한결과를산출해야함
1. 데이터큐브집계
데이터큐브Data Cube 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 데이터큐브는데이터웨어하우스 Data Warehouse 에서나오는용어 다차원집계정보를의미 데이터큐브를구성하는각셀은다차원공간에서데이터포인트에일치하는집계된데이터 aggregated data 를가짐 원천데이터를여러관점에서추상화시켜데이터축소를구현 데이터큐브는사전계산 precomputed 되고, 요약된 summarized 데이터에신속히접근할수있도록하며, 다양한데이터분석처리가가능 데이터전처리 (Data Preprocessing) - 06 데이터축소 6
데이터웨어하우스Data Warehouse Other sources Metadata Monitor & Integrator OLAP Server Analysis Operational DBs CDC Extract Transform Load Refresh Data Warehouse Service Query Reports Data Mining Copy DBs ODS OLAP Server Data Sources Data Storage OLAP Engine Front-End Tools 데이터전처리 (Data Preprocessing) - 06 데이터축소 7
데이터큐브예제 (MOLAP) Hierarchy Dimension Date/Time 2017 2016 Aug. Dec. clothing food cosmetics Measures count() sum() average() Product Dimension books doll electronics Cell accessory Incheon Gangwon-do Daejeon Korea U.S.A Hierarchy Address Dimension 데이터전처리 (Data Preprocessing) - 06 데이터축소 8
데이터큐브슬라이싱예제 (MOLAP) Dimension Dec. Date/Time 2017 Aug. Product Dimension clothing food Incheon Gangwon-do Daejeon Korea U.S.A Address Dimension 데이터전처리 (Data Preprocessing) - 06 데이터축소 9
데이터큐브슬라이싱예제 (MOLAP) Dimension 2016 Date/Time 2017 clothing food cosmetics Product Dimension books doll electronics accessory Korea U.S.A Address Dimension 데이터전처리 (Data Preprocessing) - 06 데이터축소 10
데이터큐브예제 연도 총판매수 2009 2560 2008 2210 2007 2100 2009 2008 2007 1 차원데이터모델과큐브 2560 2210 2100 지역 = 원주 지역 = 춘천 지역 = 강릉 연도 TV 컴퓨터 냉장고 TV 컴퓨터 냉장고 TV 컴퓨터 냉장고 2009 360 410 280 310 340 220 220 300 110 2008 320 390 230 210 310 180 190 270 110 2007 260 380 200 220 310 170 180 270 110 3 차원데이터모델 연도 TV 컴퓨터 냉장고 2009 890 1050 620 2008 720 970 520 2007 660 960 480 2009 2008 2007 890 1050 620 720 970 520 660 960 480 TV 컴퓨터냉장고 2차원데이터모델과큐브 강릉춘천원주 2009 2008 2007 TV 220 300 110 110 310 340 220 110 360 410 280 320 390 230 260 380 200 컴퓨터냉장고 180 170 연도, 품목 연도 연도, 품목, 지역 연도, 지역 품목 모두 (all) 3 차원데이터큐브 3 차원큐브격자 품목, 지역 지역 3 큐보이드 2 큐보이드 1 큐보이드 0 큐보이드 데이터전처리 (Data Preprocessing) - 06 데이터축소 11
데이터큐브예제 (ROLAP) R A B C D A B C D M a 1 b 1 c 1 d 1 a 1 b 1 c 1 d 1 1 a 1 b 1 c 1 d 2 a 1 b 1 c 1 d 2 1 a 1 b 2 c 1 d 3 a 1 b 2 c 1 d 3 1 a 1 b 2 c 2 d 1 a 1 b 2 c 2 d 1 1 a 1 b 2 c 2 d 2 a 1 b 2 c 2 d 2 1 a 1 b 2 c 2 d 3 a 1 b 2 c 2 d 3 1 SELECT A, B, C, D, COUNT(M) FROM R CUBE BY A, B, C, D; cell a 1, b 2 ; 3 SELECT A, B, C, COUNT(M) FROM R cuboid ACD GROUP BY A, B, C; A B C M A B D M A C D M B C D M a 1 b 1 c 1 2 a 1 b 1 d 1 1 a 1 c 1 d 1 1 b 1 c 1 d 1 1 a 1 b 2 c 1 1 a 1 b 1 d 2 1 a 1 c 1 d 2 1 b 1 c 1 d 2 1 a 1 b 2 c 2 1 a 1 b 2 d 1 1 a 1 c 1 d 3 1 b 2 c 1 d 3 1 a 1 b 2 c 2 2 a 1 b 2 d 2 1 a 1 c 2 d 1 1 b 2 c 2 d 1 1 a 1 b 2 d 3 2 a 1 c 2 d 2 1 b 2 c 2 d 2 1 a 1 c 2 d 3 1 b 2 c 2 d 3 1 A B M A C M A D M B C M B D M C D M a 1 b 1 3 a 1 c 1 3 a 1 d 1 2 b 1 c 1 2 b 1 d 1 1 c 1 d 1 1 a 1 b 2 3 a 1 c 2 3 a 1 d 2 2 b 2 c 1 1 b 1 d 2 1 c 1 d 2 1 a 1 d 3 2 b 2 c 2 3 b 2 d 1 1 c 1 d 3 1 b 2 d 2 1 c 2 d 1 1 A M B M C M D M b 2 d 3 2 c 2 d 2 1 a 1 6 b 1 3 c 1 3 d 1 2 c 2 d 3 1 b 2 3 c 2 3 d 2 2 M d 3 2 6 데이터전처리 (Data Preprocessing) - 06 데이터축소 12
큐브격자Cube Lattice apex(top) cuboid Highest ABCD Level 4 ABC ABD ACD BCD Level 3 AB AC AD BC BD CD Level 2 A B C D Level 1 Lowest All Level 0 base(bottom) cuboid 데이터전처리 (Data Preprocessing) - 06 데이터축소 13
2. 속성부분집합선택
속성부분집합선택 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 속성부분집합선택 Attribute Subset Selection 은연관성이낮거나중복되는데이터속성을제거하여데이터집합의크기를줄이는기법을의미 분석하려는데이터가너무많은속성을포함한다면, 데이터분석작업의시간효율이떨어질수밖에없음 속성중에서데이터분석에영향을미치지않거나타속성과중복적성격을가지는것도많이존재 너무많은속성을제거하지않고분석작업을할경우, 분석알고리즘에혼동을줄수도있고, 이로인해분석결과패턴의품질에도악영향을미칠수있음 연관성이낮거나중복된데이터속성 ( 차원 ) 을제거하여데이터집합의크기를줄이는노력이필요 목표는전체속성에가장가까운데이터범주의확률분포와최소의속성집합을찾는것 데이터전처리 (Data Preprocessing) - 06 데이터축소 15
최소속성집합찾기 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. n 개의속성들에대해서조합하면 2 n 개의속성조합이가능 소모적탐색법exhausted search 경험적방법 heuristic 데이터전처리 (Data Preprocessing) - 06 데이터축소 16
소모적탐색법exhausted search 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 가장쉽게생각할수있는방법 2 n 개의가능한속성조합모두를탐색 n 이증가할수록엄청난비용이발생 데이터전처리 (Data Preprocessing) - 06 데이터축소 17
경험적방법 heuristic 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 일반적으로많이사용 검색공간을축소하여탐색 속성공간을탐색하는동안에매회마다최선으로보이는것을선택 ( 탐욕적 greedy ) 전역적으로 globally 최적이될것이라는기대속에지역적으로 locally 최적인해를선택해가는방법 최적혹은최악의속성들은그것들이서로독립적이라고가정하는통계적유의성 statistical significance 검정을통해여주로결정 분류 classification 를위한의사결정트리 decision tree 생성에사용되는정보이득 information gain 과같은속성평가척도를사용가능 데이터전처리 (Data Preprocessing) - 06 데이터축소 18
경험적기법의종류 단계적전진선택법 stepwise forward selection : 속성의공집합으로시작해서최적의속성들을하나씩추가하는방법 단계적후진제거법 stepwise backward elimination : 속성의전체집합으로시작해서최악의속성들을하나씩제거하는방법 전진선택법과후진제거법의결합 combination of forward selection and backward elimination : 전진선택법과후진제거법을결합하여각단계마다최선의속성을선택하고최악의선택을제거하는방법 의사결정트리귀납법 decision tree induction : 의사결정트리는데이터마이닝기법중분류 classification 를위해고안되었고, 흐름도 flowchart 와유사한구조를가짐 데이터전처리 (Data Preprocessing) - 06 데이터축소 19
의사결정트리decision tree 나무를뒤집은것과같은모양 분기가거듭되면데이터의개수는줄어듬 의사결정트리는분류 classification 와회귀 regression 모두사용가능 NO X 1 > c 1 Root Node YES 범주형또는연속형데이터에대해서예측가능 Root node: 트리의초기지점 Terminal Node NO X 2 > c 2 Intermediate Node YES Terminal node 의수가분리된집합의수 Terminal node 를합하면전체데이터의수와동일 Terminal Node Terminal Node 데이터전처리 (Data Preprocessing) - 06 데이터축소 20
의사결정트리예제 https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 데이터전처리 (Data Preprocessing) - 06 데이터축소 21
데이터분할 https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 의사결정트리의분기에따라데이터가분할 A 를 B 와 C 로분할 B 는 D 와 E 로분할 Terminal node: C, D, E 전체데이터 A 가부분집합 C, D, E 로분할 데이터전처리 (Data Preprocessing) - 06 데이터축소 22
불순도 / 불확실성 https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 타겟변수 Y 가범주형변수인분류나무 분류나무는순도 homogeneity 가증가, 불순도 impurity 혹은불확실성 uncertainty 이최대한감소하도록하는방향으로학습 순도가증가 / 불확실성이감소하면정보이론에서는정보획득 information gain 이라함 데이터전처리 (Data Preprocessing) - 06 데이터축소 23
엔트로피 entropy https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ m 개의레코드가속한 A 영역에대한엔트로피 엔트로피예제 m Entropy A = P k log 2 P k Entropy A = 10 16 log 2 k=1 10 16 6 16 log 2 6 16 0.95 A 영역에속한모든레코드가동일한범주에속한경우엔트로피 0 ( 불확실성최소, 순도최대 ) 반대로범주가둘뿐이고해당개체의수가동일하게반반씩섞여있을경우엔트로피 0.5 ( 불확실성최대, 순도최소 ) A 데이터전처리 (Data Preprocessing) - 06 데이터축소 24
엔트로피 entropy https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 전체영역 A 에서부분집합 R1, R2 로분할 d Entropy A = 엔트로피계산 i=1 R i m P k log 2 P k k=1 Entropy A = 0.5 7 8 log 2 +0.5 3 8 log 2 3 8 5 8 log 2 7 8 1 8 log 2 5 0.75 8 의사결정트리는구분한뒤각영역의순도 homogeneity 가증가 / 불확실성 ( 엔트로피 ) 가최대한감소하도록하는방향으로학습 1 8 R1 R2 데이터전처리 (Data Preprocessing) - 06 데이터축소 25
지니계수Gini Index https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 지니계수공식 d G.I A = i=1 R i m 1 k=1 p ik 2 오분류오차 misclassification error : 불순도측정이가능하지만미분이불가능하여자주쓰이지않음 데이터전처리 (Data Preprocessing) - 06 데이터축소 26
의사결정트리모델학습 https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 재귀적분기 recursive partitioning : 입력변수영역을두개로구분 가지치기 pruning : 너무자세하게구분된영역을통합 https://www.quickcrop.co.uk/blog/wp-content/uploads/2018/03/tree- Pruning-diagram.jpg 데이터전처리 (Data Preprocessing) - 06 데이터축소 27
재귀적분기recursive partitioning 소득주택크기잔디깍기기계여부 60.0 18.4 Owner 85.5 16.8 Owner 64.8 21.6 Owner 61.5 20.8 Owner 87.0 23.6 Owner 110.1 19.2 Owner 108.0 17.6 Owner 82.8 22.4 Owner 69.0 20.0 Owner 93.0 20.8 Owner 51.0 22.0 Owner 81.0 20.0 Owner https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 소득 주택크기 잔디깍기기계여부 75.0 19.6 Non-owner 52.8 20.8 Non-owner 64.8 17.2 Non-owner 43.2 20.4 Non-owner 84.0 17.6 Non-owner 49.2 17.6 Non-owner 59.4 16.0 Non-owner 66.0 18.4 Non-owner 47.4 16.4 Non-owner 33.0 18.8 Non-owner 51.0 14.0 Non-owner 63.0 14.8 Non-owner 데이터전처리 (Data Preprocessing) - 06 데이터축소 28
재귀적분기recursive partitioning https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 설명변수 (X): 소득, 주택크기 종속변수 (Y): 잔디깍기기계구입여부 한변수 ( 주택크기 ) 를기준으로정렬 가능한모든분기점에대해엔트로피 / 지니계수를구해분기전과비교해정보획득을조사 1 번레코드와나머지 2~24 번레코드간의엔트로피계산후분기전엔트로피와비교 이후에 1~2 번레코드와나머지 3~24 번레코드간의엔트로피계산후비교 다른변수인소득을기준으로정렬하고다시같은작업반복 모든경우의수가운데정보획득이가장큰변수와그지점으로첫번째분기를선택 이후같은작업을반복수행 1 회분기에계산하는경우의수 : d n 1, 개체 n 개, 변수 d 개 데이터전처리 (Data Preprocessing) - 06 데이터축소 29
재귀적분기recursive partitioning 소득주택크기잔디깍기기계여부 51.0 14.0 Non-owner 63.0 14.8 Non-owner 59.4 16.0 Non-owner 47.4 16.4 Non-owner 85.5 16.8 Owner 64.8 17.2 Non-owner 108.0 17.6 Owner 84.0 17.6 Non-owner 49.2 17.6 Non-owner 60.0 18.4 Owner 66.0 18.4 Non-owner 33.0 18.8 Non-owner https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 소득 주택크기 잔디깍기기계여부 110.1 19.2 Owner 75.0 19.6 Non-owner 69.0 20.0 Owner 81.0 20.0 Owner 43.2 20.4 Non-owner 61.5 20.8 Owner 93.0 20.8 Owner 52.8 20.8 Non-owner 64.8 21.6 Owner 51.0 22.0 Owner 82.8 22.4 Owner 87.0 23.6 Owner 데이터전처리 (Data Preprocessing) - 06 데이터축소 30
재귀적분기recursive partitioning https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 분기전엔트로피 = 1 2 log 2 1 2 1 2 log 2 1 2 = 1 분기후엔트로피 1 24 log 2 1 + 23 24 12 23 log 2 12 23 11 23 log 2 11 23 0.96 분기후정보획득 = 1 0.96 = 0.04 데이터전처리 (Data Preprocessing) - 06 데이터축소 31
가지치기 pruning https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ Full tree: 모든 terminal node 의순도가 100% 인상태 Full tree 생성후적절한수준에서 terminal node 를결합해주어야함 Terminal node 가너무많으면새로운데이터에대한예측성능인일반화 generalization 능력이매우떨어짐 분기가너무많으면학습데이터에과적합 overfitting 될수있음 의사결정트리의분기수가증가할때, 처음에는새로운데이터에대한오분류율이감소하나일정수준이상이되면우분류율이증가하는현상이발생 이러한문제를해결하기위해검증데이터에대한오분류율이증가하는시점에가지치기수행 의사결정트리에서가지치기는잘라내는개념보다분기를합치는 merge 개념 데이터전처리 (Data Preprocessing) - 06 데이터축소 32
가지치기 pruning https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 데이터전처리 (Data Preprocessing) - 06 데이터축소 33
가지치기 pruning https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ 데이터전처리 (Data Preprocessing) - 06 데이터축소 34
가지치기비용함수 가지치기비용함수 CC T = Err T + α L(T) https://ratsgo.github.io/machine%20learning/2017/03/26/tree/ CC(T): 의사결정트리의비용복잡도 ( 오류가적으면서 terminal node 수가적은단순한모델일수록작은값 ) ERR(T): 검증데이터에대한오분류율 L(T): terminal node 의수 ( 구조의복잡도 ) α: ERR T 와 L(T) 를결합하는가중치 ( 사용자에의해부여, 보통 0.01~0.1 의값을사용 ) 데이터전처리 (Data Preprocessing) - 06 데이터축소 35
3. 차원축소
차원축소dimensionality reduction 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 원천데이터의축소판 ( 압축판 ) 을얻기위한데이터부호화또는데이터변환의적용 원천데이터가정보의손실없이압축된다면무손실 loseless 원천데이터의근사치만으로축소된다면손실 lossy 일반적으로많이사용되며효과적인손실차원축소방법 웨이블릿변환wavelet transform 주성분분석principal components analysis 데이터전처리 (Data Preprocessing) - 06 데이터축소 37
웨이블릿변환wavelet transform 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 이산웨이블릿변환 discrete wavelet transform, DWT : 데이터벡터 X 를다른수치적벡터 numerically vector X 으로변환 (X 와 X 의길이는동일 ) 각튜플을 n 차원데이터벡터로간주하면, 벡터 X = x 1,x 2,,x n 를각튜플로고려 웨이블릿변환데이터가원천데이터와같은길이 ( 속성수 ) 를가지지만데이터축소로볼수있는것은변환데이터가압축되어보이기때문 웨이블릿계수중가장유력한일부만을저장함으로써데이터근사치를유지 예를들어, 사용자가정한어떤임계값보다큰모든웨이블릿계수들만값을유지하고나머지계수들을 0 으로간주하면, 결과적인데이터표현은매우희소해지며, 데이터희소성 data sparsity 은데이터연산의복잡도를크게감소시킬수있음 데이터의주요특징들은보존하면서도잡음을제거하는역할을하기도하므로데이터정제를위해서도효과적임 데이터전처리 (Data Preprocessing) - 06 데이터축소 38
웨이블릿변환wavelet transform 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. https://ko.wikipedia.org/wiki/%ec%9b%a8%ec%9d%b 4%EB%B8%94%EB%A6%BF_%EB%B3%80%ED%99%98 https://www.wolfram.com/mathematica/new-in-8/waveletanalysis/discrete-wavelet-transform-(dwt).ko.html 데이터전처리 (Data Preprocessing) - 06 데이터축소 39
DWT 적용절차 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 각반복때마다데이터를반으로나눠서계산속도를향상시키는피라미드알고리즘 pyramid algorithm 사용 웨이블릿변환과정은웨이블릿원형함수를적용 원형함수를분석웨이블릿혹은모웨이블릿이라고하며두가지가존재 고주파버전 : 시계열분석에사용 저주파버전 : 빈도분석에사용 데이터전처리 (Data Preprocessing) - 06 데이터축소 40
피라미드알고리즘pyramid algorithm 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 1) 입력벡터의길이 L(L n) 을 2 의정수제곱으로만들기위해필요한만큼 0 을패딩으로채움 2) 각변환에두개의함수를적용 합이나가중평균을적용한데이터평활화 smoothing 데이터의세부적인특성을두드러지게하는가중차 weighted difference 계산 3) 데이터벡터 X 의두데이터포인트쌍인 x2i,x2i + 1 에두개의함수가적용되고, 그결과로길이가 L /2 인두데이터셋을생성 빈도분석에사용되는저주파버전 시계열분석에사용되는고주파버전 4) 위과정을길이 L 이 2 가될때까지반복 5) 위반복에서구해진데이터집합으로부터선택된값은변형된데이터의웨이블릿계수로지정 데이터전처리 (Data Preprocessing) - 06 데이터축소 41
주성분분석 Principal Components Analysis, PCA 주성분분석 Principal Components Analysis, PCA 은 n 개의속성을가진튜플 (n 차원의데이터벡터 ) 에대하여데이터를표현하는데최적으로사용될수있는 n 차원직교벡터 orthogonal vector 들에대한 k 를찾음 (k n) 감소된차원의공간을갖는데이터공간생성 ( 차원축소 ) 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. https://stats.stackexchange.com/questions/2691/making-sense-ofprincipal-component-analysis-eigenvectors-eigenvalues 데이터전처리 (Data Preprocessing) - 06 데이터축소 42
주성분분석절차 https://www.potatogim.net/wiki/%ec%a3%bc%e C%84%B1%EB%B6%84_%EB%B6%84%EC%84%9D 1. 입력데이터를표준화하여같은범위에속하게함 ( 표준화를통해큰범위를갖는속성들이작은범위를갖는속성들을압도하지않도록하기위함 ) 2. 표준화된입력데이터를위한기저 base 를제공하는직교벡터 orthonormal vector 들을계산이들을주성분 Principal Component 라고하며, 입력데이터는주성분의선형조합linear combination 3. 주성분은중요도의내림차순으로정렬주성분은데이터에대한새로운축의집합으로서의역할 ( 즉, 정렬된첫번째축은가장큰분산을보여주며, 두번째축은그다음으로높은분산을보여주는식 ) 4. 내림차순정렬이되어있어약한주성분 weak principal component 를제거함으로써데이터크기감소 ( 즉, 가장강한성분들을사용함으로써크기가축소된원천데이터의높은근사치구성가능 ) 데이터전처리 (Data Preprocessing) - 06 데이터축소 43
주성분분석 Principal Components Analysis, PCA 속성부분집합선택은속성의초기집합의부분집합을유지하며속성집합의크기를줄임 주성분분석 PCA 필수적인속성들의핵심을결합 기대하지않았던관계를보여주기도하여평범하지않은결과해석이가능 비용효과적이며, 순서화된속성이나순서화되지않은속성에두루적용가능 희소데이터와비대칭데이터에모두적용가능 다차원데이터를 2 차원으로축소가능 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 데이터축소기법에서는웨이블릿변환은고차원데이터에더적합하고, PCA 는희소데이터취급에더유리 데이터전처리 (Data Preprocessing) - 06 데이터축소 44
회귀모형regression model 주어진데이터의근사치를구하는데사용 선형회귀 linear regression 은확률변수 random variable y 를예측변수 predicator variable 인 x 의선형함수로모형화 : y = wx + b 계수 coefficient w와 b는데이터를분리하는실제선과그선의추정치사이의오류를최소화해주는최소제곱법에의해구할수있음 method of least square 다중회귀 multiple regression 는확률변수 y 가두개이상의예측변수 x 에의해모형화되도록단순선형회귀를확장한것 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. https://ko.wikipedia.org/wiki/%ed%9a%8c%ea%b7%80_%eb %B6%84%EC%84%9D 데이터전처리 (Data Preprocessing) - 06 데이터축소 45
로그-선형모형log-linear model 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. n 개의속성으로표현되는 n 차원에서주어진 n 개의튜플집합을 n 차원공간의한점으로생각하는이산다차원확률분포의근사치를구함 차원조합의가장작은부분집합에기반하여이산화된속성들의집합에대해다차원공간내의각점의확률을평가하는데사용가능 이렇게함으로써저차원공간으로부터고차원공간생성가능 차원축소와데이터평활화에유용 차원축소 : 저차원의점은원래데이터보다적은공간을차지 데이터평활화 : 저차원공간의평가를응집하는것은고차원공간의평가보다표본변동에덜민감 회귀방법이고차원데이터에적용될경우계산비용이기하급수적으로늘어남 로그 - 선형모형은 10 차원정도까지는우수한확장가능성 scalability 를보여줌 데이터전처리 (Data Preprocessing) - 06 데이터축소 46
Generalized Linear Models https://www.kdnuggets.com/2017/10/learn-generalized-linear-models-glm-r.html/2 데이터전처리 (Data Preprocessing) - 06 데이터축소 47
4. 수량축소
수량축소방법 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 표본추출 sampling 히스토그램 histogram 군집화 clustering 데이터전처리 (Data Preprocessing) - 06 데이터축소 49
표본추출 sampling 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 큰데이터집합을많은수의임의데이터샘플 ( 부분집합 ) 로표현가능 대용량데이터집합 D 가 N 개의튜플을포함하고있다고가정 https://idatassist.com/need-know-random-sampling/ 데이터전처리 (Data Preprocessing) - 06 데이터축소 50
표본추출 sampling 방법 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 비복원단순무작위표본 Simple Random Sample WithOut Replacement, SRSWOR : D 로부터 N 개의튜플중에서임의의 s 개를취하는방법으로서모든튜플들의표본으로추출될확률은같음 복원단순무작위표본 Simple Random Sample With Replacement With Replacement, SRSWR : 각튜플이 D 로부터추출될때마다기록된후다시제자리로복원 replace 된다는것을제외하면 SRSWOR 와유사, 각튜플은추출된다음에다시추출될수있도록 D 에되돌려짐 집략표본 Cluster Sample : D 에있는튜플들이 M 개의상호배반적군집 cluster 으로묶여있는가운데 s 개의군집을단순무작위로추출 (s < M) 층화표본 Stratified Sample : D 가층 strata 이라불리는상호배반적부분들로분할되어있다면, 각층에서하나씩단순무작위로추출 ( 예, 고객의나이그룹각각에대하여하나의층이생성되어있는고객데이터로부터층화표본을얻음 ) 데이터전처리 (Data Preprocessing) - 06 데이터축소 51
히스토그램 histogram 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 구간화를사용하여데이터분포의근사치를구하는데이터축소의전형적형태 속성 A 의데이터를버킷 bucket 혹은빈 bin 이라불리는분리집합 disjoint subset 으로나눔 각버킷이단일한속성값 / 빈도의쌍으로표현되기도하고, 주어진속성에대한연속범위 continuous range 를나타내기도함 히스토그램은희소데이터나밀집데이터모두에효과적, 비대칭적데이터와균일한데이터모두매우효과적 단일속성에대한히스토그램은다중속성에대한것으로확장가능 다차원히스토그램에서는속성간의의존성포착가능 일반적으로 5 개까지의속성을가진데이터의근사치를구하는데효과적이라고알려짐 데이터전처리 (Data Preprocessing) - 06 데이터축소 52
버킷결정및속성값분할방법 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. 동등폭 Equal-width : 각버킷의범위는균일 동등빈도 Equal-frequency : 각버킷의빈도가일정 ( 각버킷이같은수의데이터표본을포함 ) V- 최적 V-optimal : 최소분산을갖는히스토그램을의미, 히스토그램분산은각버킷이나타내는데이터값들의가중합 weighted sum 이며, 버킷가중치는버킷에있는값들의개수와동일 최대차이 Max-Diff : 인접한값들의각쌍사이의차이를고려, 사용자정의버킷의수 β 에대하여, β 1 개의최대차이를갖는쌍들에대한각쌍사이에버킷경계가정해짐 데이터전처리 (Data Preprocessing) - 06 데이터축소 53
군집화 clustering 데이터튜플을객체로간주하고, 각객체들을군집 cluster 이라는그룹으로나눔 한군집내객체들과는유사하면서도다른군집내객체들과는유사하지않도록군집화 유사성은공간내에서객체들이어떻게가까운지의관점에따라거리함수에기반하여정의 클러스터의품질은지름 diameter 의표현으로나타내고, 지름은클러스터의두객체간최대거리로표현 클러스터간중심거리 centroid distance 는클러스터중심간거리로서클러스터품질로대체측정 클러스터의지름은짧을수록 ( 클러스터내객체간의유사성이강할수록 ), 클러스터간중심거리는길수록 ( 클러스터간유사성은약할수록 ) 군집화의품질이높다고볼수있음 이현호, Python 과 SQL 을활용한실전데이터전처리, 카오스북, 2018. https://www.datanovia.com/en/lessons/k-means-clustering-in-ralgorith-and-practical-examples/ 데이터전처리 (Data Preprocessing) - 06 데이터축소 54
데이터전처리 (Data Preprocessing) - 06 데이터축소 55