본문 바로가기

코딩노트210

10. Overfitting Training Data를 사용해서 Decision Tree를 Top-down 방식으로 학습하는 것을 봤다 학습을 언제 종료하는 것이 좋을까? 노드에 있는 모든 데이터들이 같은 Class를 가질 때까지 분류한다 그러면 학습 데이터에 대해서 100% 분류 정확도를 보이는 Decision Tree가 만들어지게 된다 위처럼 학습이 되면 주어진 데이터에 대해 100% 정확히 분류하는 Decision Tree가 학습되었다 이게 과연 좋은 것일까? 아니다. Overfitting이 된 것 이다 Overfitting of Decision Tree Models Decision Tree는 Overfitting이 발생한다는 문제 가 있다 Overfitting이 된다는 것은 왜 문제일까 너무 많은 Branch가 생기게 되고,.. 2024. 4. 14.
9. Decision Tree What is Decesion Tree? Decision Tree는 특정 조건에 기반하여 결정에 대한 모든 가능한 해결책을 시각적으로 나타낸 그래픽 표현이다 중간 노드는 여러 Alternatives 중에 어떠한 선택을 의미한다 리프 노드는 최종 Decision을 의미한다 그림에서 나이가 30세 이하이고, 학생이 아니면 컴퓨터를 사지 않을 것이라고 예측 Algorithm Overview Decision Tree 알고리즘의 대략적인 과정 분할정복을 사용해서 Top-down 방식으로 트리를 형성한다 처음에는 모든 Training data는 Root로부터 시작한다 데이터들은 현재 단계에서 선택된 Feature를 기준으로 Recursive하게 나뉜다 이때 현재 단계에서 어떤 Feature를 선택할지는, Heuri.. 2024. 4. 13.
8. Classification Classification이란 주어진 데이터에 대해서 Class label을 예측하는 것 Classificaiotn vs Regression 둘은 어떤 차이가 있을까? Classification 주어진 데이터에 대해 Categorical한 Class label을 예측 하는 것 학습 데이터를 통해서 Classifier를 학습시킨 다음, 새로운 데이터를 모델에 넣어서 결과를 예측 Ex) 날씨가 추운지 안 추운지 판별하는 모델 Regression Continuous한 값을 뱉어내는 모델을 학습시킨다 Unknown하거나 Missing된 값을 모델을 사용해서 예측한다 연속된 값을 예측 하는 모델을 만드는 것 Ex) 기온을 예측하는 모델 Classification Classification을 수행하는 모델은 어떻게.. 2024. 4. 13.
7. Association Rules Frequent Pattern을 추출했으니, 이것을 이용해서 Association Rule들을 만들고 평가해야 한다 Association Rules Mining Multilevel Association Mining Multidimensional Association Mining Quantitative Assocation Mining Interesting Correlation Patterns Mining Multilevel Association Rules Item들은 종종 계층 구조를 형성한다 예를 들면, Milk와 2% Milk Milk가 2% Milk의 상위 개념이라고 볼 수 있다 각 계층마다 유연하게 Minimum Supoort를 설정해주는 것이 필요하다 계층이 내려갈수록 당연히 Support가 작아.. 2024. 4. 13.
6. Miner Improvements 지금까지 Frequent Pattern Mining을 하기 위한 다양한 방법들을 살펴보았다 Apriori는 Candidate의 수를 줄여주긴 하지만 여전히 그 수가 너무 많고, DB 접근도 너무 많다 그래서 이걸 개선하기 위한 Improving Apriori 알고리즘들을 보았다 그럼에도 여전히 Candidate를 생성하고, Test하는 것이 무거운 작업이라 이것을 하지 않아도 되는 FP-growth라는 방법도 봤다 이것 외에 다른 마이닝을 Improve할 수 있는 방법들을 살펴볼 것이다 MaxMiner Mining Max Patterns Recall Max Pattern : Max Pattern은 X의 Superset(X ⊂ Y) 중에 Frequent Pattern이 존재하지 않으면, Itemset X를.. 2024. 4. 13.
5. FP-growth Frequent Pattern Growth 이전까지는 Apriori algorithm을 사용해서 Freqeunt Pattern Mining을 하는 방법을 봤다 Apriori의 한계를 개선한 Improving Apriori 방법들도 살펴보았다 DIC, Partition, Sampling, DHP 그럼에도 여전히 느리다는 문제가 있다 Candidate를 생성하고, Test하는 과정 자체가 시간이 오래 걸림(Bottleneck) FP-growth Mining Frequent Patterns without Candidate Generation Candidate를 Generate하는 것 자체를 하지 않는 방법 Local Frequent Item들을 사용해서, 짧은 Pattern으로부터 긴 Pattern을 생성해내.. 2024. 4. 13.
4. Improving Apriori Apriori 알고리즘에는 여러 한계가 존재한다고 했다 Multiple scans of DB (k times) 대략 k번의 DB 스캔이 발생한다는 것 여기서 k는 Max Pattern의 길이이다 DB 접근은 너무 느리기 때문에 개선이 필요하다 Huge number of candidates 후보군의 수가 너무 많다 Max Pattern {i1, i2, ..., i100}을 찾기 위해서는 # of scans(k): 100 # of candidates: 2^100 - 1 만큼의 후보군 Tedious workload of Candidate generation and Test Candidate들의 Support를 Count하는 것의 Cost가 꽤 크다 Improving Apriori Apriori를 개선하기 위한.. 2024. 4. 13.
3. Apriori Scalable Mining Method 중 하나 Scale down을 하면서 Frequent Pattern을 찾는 Method 중 하나 Apriori Candidate Generation and Test Approach Apriori에서 Scaledown을 하는 원리는 Infrequent한 Pattern이 있다면, 해당 패턴의 Superset은 절대 Frequent할 수가 없다는 것을 이용 Downward property 이용 그렇기 때문에 굳이 Generation하고 Test할 필요가 없다 체크해야 할 패턴의 수를 줄여준다 방법을 간략하게 보면 1. DB를 스캔해서 크기가 1인 Frequent Pattern들을 찾는다 2. 아래의 과정을 계속해서 반복한다 2-1. 길이가 K인 Frequent Patt.. 2024. 4. 13.
2. Frequent Patterns Mining Frequent Patterns, Association and Correlatons Frequent Pattern Mining 데이터 속에서 자주 등장하는 패턴을 분석하는 기술 Frequent Pattern? : 데이터셋 내에서 자주 등장하는 패턴 예를 들면, 자주 함께 구매되는 상품들 Motivation? 데이터 속에 내재된 패턴들 찾기 위함 어떤 상품들이 함께 구매가 되는가? (이게 앞으로 주로 다뤄질 예시) Beers and Diapers 기저귀와 맥주는 함께 구매가 되는 경향이 있다 이 정보를 알면 기저귀와 맥주를 함께 비치하면 판매율이 올라갈 것 특정 상품을 구매한 다음 순차적으로 어떤 것을 구매하는 경향이 있는가? 디지털 카메라를 구매한 후에 얼마있다가 SD카드(메모리)를 구매하는.. 2024. 4. 13.