train
test
from sklearn.impute import KNNImputer
imputer = KNNImputer(n_neighbors = 5)
imputer.fit(test)
x_test= pd.DataFrame(imputer.transform(test), columns = test.columns)
drop_cols = ['url_hostname_len', 'url_chinese_present', 'html_num_tags(\'applet\')', 'url_port', 'url_num_query_para']
train.drop(drop_cols, axis = 1, inplace=True)
어제 구현한 모델들의 하이퍼파라미터를 조정하여 진행
train 데이터셋을 train과 validation용으로 분리하여 학습 및 검증 진행
학습 및 검증 결과
모델 | Micro F1-Score |
---|---|
Decision Tree | 0.9441 |
Random Forest | 0.9570 |
LGBM | 0.9591 |
CatBoost | 0.9677 |
Hard Voting | 0.9702 |
가장 성능이 좋았던 Hard Voting 모델을 활용해 test 데이터 셋에 대한 예측을 진행
자세한 내용은 아래에서 확인 가능
AIVLE School 2nd Miniproject Competition
에이블스쿨 2차 미니프로젝트 : 악성사이트 탐지 모델링 대회
42개 팀 중 5위에 랭크: 개인 목표 반쯤 성공...?
전처리 과정 중 결측치 보강에서 너무 많은 시간을 소요해 머신러닝 모델을 구현하고 최적화하는데 시간이 부족하였음
주어진 데이터 학습을 통해 성능이 좋게 평가된 모델이더라도 실제 데이터에 적용하여 좋은 성능을 내는 것은 어려움
데이터 분석 및 전처리의 중요성을 확인함(해당 과정이 소홀할 때와 아닐 때의 성능차이가 확연히 눈에 보임)
수업에서 배운 내용들 대부분을 적용해보았으며, 구글링하며 더 넓게 공부할 수 있었음