분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
로그 분석을 통한 보안 위험도 예측 AI 경진대회
Private 8위 | 그암 | LGBM
머신러닝 모델인 LightGBM을 적용하는 대신 전처리에 집중했습니다.
전처리는 머릿속으로 하고 싶었던 방식을 적용하지 못해 노가다로 작업했습니다.
공유해주신 코드들을 보니 하고 싶었던 방식들이 보이네요. 이제라도 보면서 공부를 좀 해야겠습니다 ㅜㅜ.
아마 전처리부분을 공유한 다른 코드로 변경하면 성능이 더 오를 것 같습니다.
# 고민한 방법
1. 문장 부분만을 추출한 것이 다양한 의미 없는 로그들과 함께 처리한것보다 성능이 좋았습니다.
2. 카운트벡터 대신 TF-IDF를 사용했었는데 성능 향상이 보이지는 않아 카운트벡터로 작업했습니다.
3. SMOTE를 활용하여 오버샘플링을 진행해봤지만 성능 향상이 없어 제외했습니다.
4. LEVEL 7에 대해 모델로 예측한 후 해당 값을 활용하여 컷오프를 지정했고, 유의미하게 성능이 올랐습니다.
5. 원핫인코딩을 하지 않고 cat_features로 그대로 넣는 것이 효과가 좋았습니다.(Lightgbm 기준)
# 가정
로그를 봤는데, 의미 없는 문자 조합 (1edai3)이나 데이터 경로, 단순한 문자 등이 섞여 있었습니다.
해당 데이터들이 의미 없는 데이터라고 가정해 그 사이에 있는 문장만을 뽑아 모델링하고자 했습니다.
# 전처리
path나 명령어 등을 제거하고 싶었지만 정규표현식을 잘 몰라 최대한 로그 속 문장을 찾는 방식으로 변경했습니다. 그 과정에서 첫 단어들 기준으로 로그의 타입이 나누어지는걸 확인하여 첫 단어들 기준으로 전처리를 따로 적용하는 방식으로 작업했습니다.
- 참고 : 10duck님의 간단한 EDA
# 결과
막판에 몇 가지 튜닝 계수등을 조정했었는데 그 때 자료가 남아있지 않아 약간 다른 결과가 나올 수 있습니다.
# 문제점
제 전처리는 Train Set만 확인하고 작업했기 때문에 Test Set에만 존재하는 유형의 데이터는 전처리가 되지 않습니다. 여기서 Test Set의 데이터를 목표로 조건문을 추가한다면 Data Leakage라고 판단되어 성능 하락을 감수하고 그대로 진행했습니다.
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
👏