3. https://dacon.io 3
1-1. 데이터 전처리
문자열 (Bad, ON, OFF, CLOSE, Open equip fail, Normal, No Data, System char[],
MID POSITION, Priority 3, Configure)과 Null 값에 대해서 다른 데이터와 비교하
여 데이터의 특성에 맞게 최빈값 전처리
…
<원본 데이터>
데이터 다운로드
4. https://dacon.io 4
1-2. 변수 선택
목적: 변별력이 없는 변수를 제거하여 정확도와 속도 개선
수행내용: 특정 변수의 데이터가 모두 동일하다면 (원소의 수가 하나라면) 상태판단에 변
별력이 없을 것임. 따라서 모든 데이터가 동일한 변수를 제외
결과: 5122개의 변수 중 3513개의 변수 선택
train과 test셋에 적용 시켜준 뒤, 재사용을 위해 저장
데이터 다운로드
5. https://dacon.io 5
<모델 구축 parameter 값>
1000 epoch씩 학습시키며 모델을 저장하고
log_loss값 확인
총 6000번의 학습을 진행하여 모델을 구축
2. 모델 구축 & 검증
learning_rate, max_depth, num_leaves,
fraction 값들을 조정하면서 학습 실행
데이터 다운로드
6. https://dacon.io 6
결과값 ( Submission) 에 대해 MinMax로 Rescaling 하여 값을 보정하였다.
<결과 원본> <결과 보정 값>
2. 모델 구축 & 검증 데이터 다운로드
7. https://dacon.io 7
3. 결과 및 결언
- 6000번까지 1000번 단위로 epoch를 늘려가며 학습을 수행
- 검증셋에 대한 logloss는 epoch가 6000일 때 0.213872, epoch가 4000일 때 0.229422로
epoch 6000일 때가 더 좋은 분류모델인 것으로 판단되었음
- 하지만 가채점 결과, epoch 4000 일 때의 모델에 의한 logloss가 0.015 정도 더 낮은 결과를 보임
- 이는 6000 epoch동안 학습한 모델이 training Data에 대해 오버피팅 된 것으로 판단됨
- 스케일링 방식 : 1) mean (scale X) | 2) scale -> mean | 3) mean -> scale
- 3) mean -> scale 순으로 스케일한 방식이 logloss가 가장 낮은 결과를 보여줌 (최종제출파일)
데이터 다운로드