반응형
✅ 1. 문제 정의
- 입력(Input): 전표 데이터 (예: 적요, 금액, 계정과목, 날짜, 작성자 등)
- 출력(Output): 반려 여부 (반려/통과 → 이진 분류)
이 문제는 이진 분류(Binary Classification) 문제입니다.
✅ 2. 데이터 준비
🎯 타겟 변수 설정
- label = 1 : 반려됨 (결재반려, 재경반려)
- label = 0 : 정상 통과됨
🧾 입력 피처 예시
- 적요 (자연어 처리 필요)
- 금액 (숫자형)
- 계정코드, 거래처 (범주형)
- 입력일자 (날짜 → 요일/월/분기 등으로 파생 가능)
- 사용자 ID, 부서 ID (범주형)
- 반려 사유 (학습 시 제외하고, 추후 해석에만 사용 가능)
✅ 3. 전처리/특징 엔지니어링
- 적요: TF-IDF, BERT 임베딩, 혹은 SentenceTransformer 등으로 변환
- 범주형: One-hot / Target Encoding / Embedding
- 숫자형: 로그 변환 또는 정규화
- 날짜: 요일, 월, 분기 등으로 파생
- 희귀값 처리: 거래처/계정 등 너무 희귀한 카테고리는 묶기
✅ 4. 모델 구조 (선택지)
모델설명
XGBoost / LightGBM | Tabular 데이터에 강력, 해석력 좋음 |
Random Forest | baseline으로 안정적 |
딥러닝 (TabTransformer, TabNet) | 딥러닝 접근을 원할 경우 |
BERT + Tabular | 적요가 핵심 정보일 경우 적요는 BERT로 인코딩하고 나머지는 병합 |
✅ 5. 평가 지표
- 일반적인 정확도(accuracy)보다 중요한 건:
- Recall (재현율): 반려될 걸 놓치면 안 되므로!
- Precision (정밀도): 너무 많은 false positive도 문제
- F1 score: 두 지표의 균형
✅ 6. 예측 결과 활용
- 예측값이 반려 확률이 높으면 자동 검인 안 하고, 사람이 검토
- 임계값(예: 0.85 이상 확신되면 자동검인) 조정 가능
- 검토 사유까지 제공하려면 SHAP 같은 설명 가능 AI 도구 활용
✅ 7. 모델 업데이트
- 사용자 피드백으로 반려 사유가 쌓이면 주기적으로 재학습
- 최근 트렌드를 반영하려면 최근 데이터에 더 가중치 주는 것도 고려
📌 요약
단계내용
문제 정의 | 반려 예측 (이진 분류) |
데이터 | 적요, 계정, 금액 등 입력 → 반려 여부 레이블링 |
모델 | XGBoost, BERT + Tabular, TabNet 등 |
활용 | 자동검인 여부 결정 + 사용자 알림 |
반응형
'AI' 카테고리의 다른 글
FastAPI vs Flask (0) | 2025.03.28 |
---|---|
SHAP이란? (0) | 2025.03.27 |
XGBoost 모델에서의 피처(Feature) 관리 중요성 (0) | 2025.03.27 |
AI 기반 추천 시스템 아키텍쳐와 Python 코드 (0) | 2025.03.25 |
AI 기반 추천 시스템 vs DB 검색을 통한 상품 추천 비교 (0) | 2025.03.25 |