악성 URL 분류 AI 경진대회

알고리즘 | 월간 데이콘 | NLP | 정형 | Feature Engineering | ROC-AUC

  • moneyIcon 상금 : 데이스쿨 프로 구독권
  • 634명 마감

 

[public: 0.90931] 사용 기술스택: Pytorch, TF-IDF 텍스트 분류

2025.02.09 19:41 992 조회 language

📌 코드 개요
이 코드는 데이콘 ‘악성 URL 분류 AI 알고리즘 개발’ 해커톤에 사용된 PyTorch 기반 MLP 모델을 구현한 Jupyter Notebook입니다. 주요 특징은 다음과 같습니다.
🚀 주요 내용
1. 데이터 로드 및 전처리
• train.csv, test.csv 파일을 로드하여 학습/테스트 데이터를 구성합니다.
• TF-IDF 벡터화를 적용하여 텍스트 데이터를 수치화합니다.
2. MLP 모델 설계
• PyTorch 기반의 다층 퍼셉트론(MLP) 모델을 사용하여 URL의 악성 여부를 분류합니다.
• 은닉층을 깊게 설계하고(512 → 1024 노드 확장), 활성화 함수로 ReLU를 사용합니다.
• Dropout을 0.3 → 0.5로 조정하여 과적합을 방지합니다.
3. 학습 및 검증
• EarlyStopping 기법을 직접 구현하여 최적의 모델을 저장합니다.
• Adam 옵티마이저와 CrossEntropyLoss를 활용하여 학습합니다.
• 학습 중간에 ROC-AUC 점수를 모니터링하여 성능을 평가합니다.
4. 예측 및 제출
• 학습된 모델을 기반으로 test.csv 데이터의 악성 여부를 예측합니다.
• 예측 결과를 데이콘 제출 형식으로 저장합니다.
🛠 사용 환경
• 기기: M1 MacBook Air (16GB RAM)
• 라이브러리: PyTorch, Scikit-learn, Pandas, Numpy 등
• 모델 성능: ROC-AUC 0.90931 (데이콘 퍼블릭 18등(25. 2. 9(일) 19:42기준, 프라이빗 1등 기록)

코드
로그인이 필요합니다
0 / 1000
이진성
2025.02.28 15:35

학습하는데 몇시간 걸렸나요?

YOONSK
2025.02.28 18:02

꽤 오래걸렸던 거 같은데 따로 재보지 않아서 알 수 없네요;; 도움이 되지 못해 죄송합니다. 

nvypark
2025.03.07 02:29

코드 돌아가는 동안 메모리 용량이 부족하진 않았나요?

YOONSK
2025.03.07 12:06

여러번 수정 거쳐서 메모리 문제 해결하였습니다.. TF-IDF 파라미터 조정하는 것 부터 배치 사이즈 등 여러가지 파라미터들을 조정하면서 실행과 오류 반복하면서 나온 결과입니다. M1 맥북에어에(메모리 16G)서 로컬로 하는 한계 때문에 그랬습니다.