Data Mining Final Project 경영학과 박지혜 경영학과 주안진 BUSS453 데이터 관리와 지적 경영
Multi-Layer-Perceptron Introduction Variable 소개 Data Mining 전개 방향 Contents 1 Model Construction Preprocessing Decision Tree (J48) Multi-Layer-Perceptron ZeroR Bagging KStar AdaBoostM1 HyperPipes SPegasos NaïveBayes 2 Conclusion Example Usage Further Remarks 3
1 Given Variables 1 Introduction Binary Version of “Status” Age Purchase Price for house Value of Loan Borrower debt to income ratio Ratio of Loan to Home Purchase Price US state in which home is located Borrower’s Credit Score Median Household income by state First time home buyer Loan amount greater than appraisal Borrower’s total monthly debt expense Binary Version of “Status” : Target Variable Borrower’s total monthly income 1 Appraised value of home at Origination BUSS453 데이터 관리와 지적 경영 1
Goal of data mining model construction Introduction 1 Data Mining 전개 방향 Goal of data mining model construction 새로운 고객이 은행에 대출을 하러 온 경우, 고객의 현재 나이, 소득, 자가 보유 현황, 신용등급, 사려는 집의 가격 등을 고려하여 향후 이 고객이 Default가 될 것인지 알아보는 모형을 제작 Application 은행, 보험 회사, 카드 회사, 국세청, 부동산, 신용보증기금 등 1 BUSS453 데이터 관리와 지적 경영 2
2 Model Construction Preprocessing Target Variable 정하기(Outcome) Variable Manipulation (Repeating Group, Eliminate Comma) Target Variable Variable Manipulation BUSS453 데이터 관리와 지적 경영
2 Model Construction 상관 관계(correlation)가 높은 변수 삭제 (Status) Preprocessing 2 상관 관계(correlation)가 높은 변수 삭제 (Status) Status is Active → non-default (7893 instances) Status is Pay-off → non-default (6858 instances) Status가 Default → default (402 instances) BUSS453 데이터 관리와 지적 경영
비교하여 하나의 값으로 통일, Comma를 삭제하여 Clustering에서 Error 줄임 Model Construction Preprocessing 2 Result Binary Eliminate Comma Target Variable Eliminate ‘Status’ field Target Variable 정하여 가장 끝에 위치시키고 Repeating Group을 없애기 위해 UPB와 Appraisal을 비교하여 하나의 값으로 통일, Comma를 삭제하여 Clustering에서 Error 줄임 BUSS453 데이터 관리와 지적 경영
Model Construction Preprocessing 2 Additional Problem : Target variable instances are too much unbalanced Original Data Instance: 15153 Target Variable result ratio = 402 : 14730 Unbalanced → preprocessing 필요 BUSS453 데이터 관리와 지적 경영
405 ‘non-default’ instances out of 14730 Model Construction Preprocessing 2 Sampling using Non-Parametric methods Solution ‘Default’ instances 402개, ‘Non-default’ instances 14730개 → unbalanced datasets. ∴ balanced dataset 만들기 위해 non-default instance sampling Process Filters-supervised-instance-Resample Dataset의 subsample 무작위 추출 noReplacement : False → sampling with replacement sampleSizePercent = 2.75% 405 ‘non-default’ instances out of 14730 BUSS453 데이터 관리와 지적 경영
2 Feature Selection Model Construction Preprocessing Step 1. All the attributes Step 2. ReliefF Step 3. ReliefF Repetition Using All the attributes: J48 → Accuracy 87.36% 중요도가 가장 낮은 변수를 배제하기 위해 ReliefF 실행 Bo_age : - 0.00167 삭제 후 → Accuracy 87.73% 중요도 가장 낮은 변수를 배제하기 위해 ReliefF 실행 Median_state_inc : 0.00112 삭제 후 → Accuracy 88.72% 이후, 하나씩 지워갈 때마다 꾸준히 accuracy 감소함 Result: Bo_age & Median_state_inc 변수를 삭제하고 이용하는 경우 Accuracy 가장 높다. BUSS453 데이터 관리와 지적 경영
2 2 Clustering Model Construction Preprocessing Original Instances: 807 # of Cluster : 6 2 BUSS453 데이터 관리와 지적 경영
Final Results: ‘Bo_age’, ‘Orig_LTV_Ratio_Pct’ 변수 삭제 & Non-clustering Model Construction 2 Preprocessing Non-clustering(Only Resample) vs. Clustering Non-Clustering Accuracy 88.72% (Decision tree J48) Clustering: Weighted Accuracy 86.00% (Decision tree J48) Clustering 하는 것보다 Clustering 하지 않는 경우에 높은 정확도를 보임(88.72%) # of Instance Weight Accuracy Weighted Average Cluster0 118 0.15 77.97 11.40 Cluster1 124 84.68 13.01 Cluster2 191 0.24 96.86 22.92 Cluster3 119 84.03 12.39 Cluster4 146 0.18 86.30 15.61 Cluster5 109 0.14 78.90 10.66 Total 807 1.00 86.00 Final Results: ‘Bo_age’, ‘Orig_LTV_Ratio_Pct’ 변수 삭제 & Non-clustering BUSS453 데이터 관리와 지적 경영
2 Decision Tree Process Model Construction Decision Tree classifiers-trees-J48 Small datasets → K-folds 적용 C4.5 decision tree Data type : countable & nominal Split by : IG ratio Pruning : branch Accuracy : 88.7237% BUSS453 데이터 관리와 지적 경영
2 ZeroR Process Model Construction ZeroR Accuracy : 50.1859% classifiers-rules-ZeroR Predicts the mean (for a numeric class) & the mode (for a nominal class) mean : 평균값 mode : 최빈값 Small datasets → K-folds 적용 Accuracy : 50.1859% BUSS453 데이터 관리와 지적 경영
2 HyperPipes Process Model Construction HyperPipes classifiers-mics-HyperPipes Numeric class, missing values가 있는 test case에는 적용 불가 주어진 data에는 numeric 변수도 있기에 부적합 Small datasets → K-folds 적용 Accuracy : 60.223% BUSS453 데이터 관리와 지적 경영
2 NaiveBayes Process Model Construction NaiveBayes classifiers-bayes-NaiveBayes estimator classes 사용 training data에 대한 analysis를 통해 numeric estimator precision values가 결정됨 Small datasets → K-folds 적용 Accuracy : 72.9864% BUSS453 데이터 관리와 지적 경영
2 KStar Process Model Construction KStar Accuracy : 80.4213% classifiers-lazy-KStar Instance-base classifier : class of a test instance는 이와 유사한 class of a training instances에 기초 test instance와 유사한 training instances는 similarity function에 의해 결정됨 Small datasets → K-folds 적용 Accuracy : 80.4213% BUSS453 데이터 관리와 지적 경영
2 SPegasos Process Model Construction SPegasos Accuracy : 80.7931% classifiers-functions-SPegasos Replaces all missing values Transforms nominal attributes into binary Normalizes all attributes Small datasets → K-folds 적용 Accuracy : 80.7931% BUSS453 데이터 관리와 지적 경영
Multi-Layer-Perceptron Model Construction Multi-Layer-Perceptron 2 Multi-Layer-Perceptron Process classifiers-functions-MultilayerPerceptron Back-propagation 사용 Small datasets → K-folds 적용 Accuracy : 86.9888% BUSS453 데이터 관리와 지적 경영
2 Model Construction Process AdaBoostM1 Accuracy : 89.2193% Ensemble Technique - AdaBoostM1 Process classifiers-meta-AdaBoostM1 Basic Classifier: decision tree-J48 (현재까지 가장 accuracy 높은 모델을 앙상블 기법의 base classifier로 채택) Only nominal class problems can be tackled 주어진 data에는 numeric 변수도 있기에 부적합 Often dramatically improves performance, but sometimes overfits. Small datasets → K-folds 적용 Accuracy : 89.2193% BUSS453 데이터 관리와 지적 경영
2 Model Construction Process Bagging Accuracy : 89.2193% Ensemble Technique - Bagging Process classifiers-meta-Bagging Basic Classifier : decision tree- J48(현재까지 가장 accuracy 높은 모델을 앙상블 기법의 base classifier로 채택) 앙상블 기법의 일종 Sampling with replacement Small datasets → K-folds 적용 Accuracy : 89.2193% BUSS453 데이터 관리와 지적 경영
Conclusion 3 Target variable 결과가 너무 한쪽으로 치우치면 안되며, 1:1로 균일하게 조절하는 preprocessing 거쳐야 정확도 높은 모델을 만들 수 있다. 비정상적인 accuracy 가 나오는 경우 원인을 찾기 위해서 visualized decision tree 를 확인해보면 원인을 쉽게 찾을 수 있는데, 변수간 correlation이 너무 높은 경우에는 그 변수 하나에 의해 target 변수가 정해지기 때문에 accuracy가 과다하게 측정될 수 있으므로 둘 중 하나를 삭제해야 한다. 이 데이터를 활용할 수 있는 가장 정확도 높은 모델은 Base classifier를 J48로 한 Ensemble technique(Adaboost와 Bagging의 Accuracy는 동일했음) Feature selection 할 때 Local optimum인 경우가 생길 수 있으므로 중간에 accuracy 추세가 떨어졌다고 해서 멈추지 말고 끝까지 해야 한다. 3 BUSS453 데이터 관리와 지적 경영
Conclusion 3 Data의 instance가 15153개에서 807개로 줄어들었으므로 percentage split을 하는 것 보다 cross validation을 하는 것이 더 좋다. Adaboost, Bagging을 하는 경우(Ensemble Technique 쓰는 경우) Base classifier는 현재까지 만든 모델 중 정확도가 높은 것을 사용해야 한다. 어느 하나에서 결과가 비정상적으로 나오면 그 원인을 깊게 고민하고 분석하는 과정, 즉 trial and error가 매우 중요하다. 정확도가 가장 높은 하나의 모델이 선택된 경우 Ensemble Technique을 활용하면 더 정교한 모델을 만들 수 있다. 3 BUSS453 데이터 관리와 지적 경영
Q & A BUSS453 데이터 관리와 지적 경영