본문 바로가기
5. 활동/KT AIVLE AI 3기

KT AIVLE AI 3기 ┃ 6주차(3.6 ~ 3.10) - 미니 프로젝트 4차

by 로기(dev-loggi) 2023. 3. 7.

6주차(3.6 ~ 3.10) 일정

날짜 주제 카테고리
3/6 미니 프로젝트 2차 - (1) 미세먼지 농도 예측
3/7 미니 프로젝트 2차 - (2) 악성사이트 탐지 모델링
3/8 미니 프로젝트 2차 - (2) 악성사이트 탐지 모델링
3/9 AI 모델 해석/평가 인공지능과 비지니스
3/10 AI 모델 해석/평가 모델에 대한 설명

 

3/6(월) ┃ 미니 프로젝트 2차 - (1)

주제: 미세먼지 농도 예측

데이터셋: 미세먼지 데이터, 날씨 데이터

  • 데이터 탐색
  • 데이터 전처리
  • 머신러닝 모델링 및 예측

 

 

3/7(화) ~ 3/8(수) ┃ 미니 프로젝트 2차 - (2)

주제:  악성 사이트 탐지 모델링

데이터셋: 악성 사이트 HTML 태그 및 URL 정보

  • 데이터 탐색
  • 데이터 전처리
  • 머신러닝 모델링 및 예측
  • 성능 최적화
  • Kaggle Competition

 

악성 웹 사이트의 HTML 코드에 포함된 태그 정보와 URL 의 특징 정보에 대한 데이터셋을 분석 및 전처리하여 악성 사이트 여부를 탐지하는 머신러닝 모델을 만들고, 성능 최적화를 통해 팀 간의 Kaggle Competition을 수행하였다.

 

각 변수 간의 상관계수를 통해 상관관계가 높은 변수들을 줄이는 방안과 값의 분포가 하나의 값으로 너무 치우쳐진 변수들을 제거하는 방안 등 팀원과 함께 여러 가지 전처리 방식을 통해 모델 성능을 비교해 보았으나 예상과 달리 전처리를 하지 않은 것이 가장 성능이 좋게 나왔다.

 

이번에는 해당 데이터셋에 가장 잘 맞는 모델을 찾기 위해 모델 간 성능 비교를 하였고, 가장 성능이 높게 나온 XGBoost를 선택하여 하이퍼파라미터 튜닝을 시작하였다. 튜닝은 아래와 같이 순차적으로 GridSearch를 진행하였다.

 

  1. learning_rate
  2. max_depth & min_child_weight
  3. gamma
  4. subsample & colsample_bytree
  5. regularization
  6. reducing learning_rate and add more trees

 

하이퍼파라미터 튜닝 결과
Kaggle 최종 순위

 

위와 같이 파라미터 튜닝을 마친 후 테스트셋으로 예측한 결과를 제출하여 총 42개 팀 중 16위까지 순위를 올리며 마무리하게 되었다(5위권까지는 0.01 이내의 근소한 차이였어서 조금만 더 튜닝할 시간이 있었다면 하는 아쉬움이 있었다)

 

그리고 이후 전체 발표 시간에 0.95 이상의 점수를 기록한 팀의 솔루션을 들어본 결과 이번 대회의 승부처는 test셋의 결측치 처리 방식에서 큰 차이를 보였는데, 우리 팀은 중앙값으로 택하였지만 고득점이 나온 팀들은 모두 KNN Imputer 방식을 선택했다고 한다.

 

 

  • 하이퍼파라미터 튜닝 가이드 참고
 

Mastering XGBoost Parameter Tuning: A Complete Guide with Python Codes

Learn all about XGBoost parameters and parameter tuning like learning rate, depth of trees, regularization, etc. to improve model accuracy.

www.analyticsvidhya.com

 

 

댓글