- 구역 기반 샘플링: 각 구역(Zone)의 값이 동일한 경우에만 유효한 데이터로 간주합니다.
- 셔플(Shuffle): 데이터를 섞어 학습용과 검증용 데이터로 나눕니다.
- 학습/검증 데이터 분리: 80%는 학습용, 20%는 검증용 데이터로 사용됩니다.
- Train Data:
./train_avg_data.csv - Validation Data:
./val_avg_data.csv
train.py 실행 후 모델과 인코더를 생성하고, test.py를 실행
| Algorithm | Verification Accuracy | Report Link |
|---|---|---|
| Decision Tree | 0.65 | decision_tree_report.txt |
| Random Forest | 0.76 | random_forest_report.txt |
| XGBoost | 0.63 | xgboost_report.txt |
| SVM | 0.42 | svm_report.txt |
| Logistic Regression | 0.48 | logistic_regression_report.txt |
| Gradient Boosting Model | 0.64 | gradient_boosting_report.txt |
| KNN | 0.59 | knn_report.txt |
결론: 검증 정확도가 가장 높은 Random Forest 알고리즘을 최적화 대상으로 선택하였습니다.
train.py 실행 후 모델과 인코더 생성, test.py를 실행
| Algorithm | Accuracy | A_1 | A_2 | A_3 | B_1 | B_2 | C_1 | C_2 | C_3 | D_1 | D_2 | E_1 | E_2 | E_3 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RF | 0.81 | 56% | 44% | 44% | 23% | 33% | 50% | 73% | 55% | 23% | 18% | 67% | 37% | 58% |
| RF_AVG | 0.91 | 82% | 98% | 72% | 28% | 75% | 83% | 100% | 100% | 55% | 3% | 88% | 60% | 87% |
| RF_AVG & REF | 0.89 | 82% | 96% | 74% | 28% | 75% | 92% | 100% | 100% | 55% | 0% | 88% | 55% | 79% |
결론: RF_AVG 알고리즘이 윈도우별 평균값을 적용하여 가장 높은 정확도를 보였으며, 앞으로 이 방식을 중심으로 성능을 향상시킬 계획입니다.