데이콘 x BDA 학습자 수료 예측 AI 경진대회

알고리즘 | 월간 데이콘 | 정형 | F1 Score

  • moneyIcon 데이스쿨 프로 구독권
  • 568명 마감

 

학습자 수료 예측

2025.08.31 13:43 896 조회 language

import pandas as pd
import numpy as np
import warnings
warnings.filterwarnings('ignore')
#1. Data Loading
train = pd.read_csv('train(BDA).csv')
test = pd.read_csv('test(BDA).csv')
#2. EDA(탐색적 Data 분석)
train[train.isnull().any(axis=1)]
#2-1 결측치 처리하기 수치는 중앙값(medain), 자료형은 최빈값(mode)
#2-1-1 자료형 최빈값 구하기, #2-1-2 수치형 중앙값 구하기
#3. Target 값 생성하기
y_train = train.pop('withdrawal')
#4. Data 유형 분류 및 불필요 Data 삭제하기
#5. Data Encoding OneHotEncoder
#6. 학습/평가 데이터 나누기 train_test_split
#7. Data Scaling MinMaxScaler
from sklearn.preprocessing import MinMaxScaler
scaler = MinMaxScaler()
#8. 학습모델 만들기 RandomForestClassifier
#9. 학습 모델 평가하기 RMSE, roc_auc_score
#10. 결과 제출하기
pred = model_rfc.predict(x_test_fin)
print(pred.shape)
pd.DataFrame({'ID' : test.ID, 'withdrawal' : pred}).to_csv('9기수료 예측.csv', index=False) 
MSE : 0.31545741324921134 
RMSE : 0.5616559563017305 
AUC : 0.5842042537587091

코드
로그인이 필요합니다
0 / 1000
Wolfguy
2025.08.31 13:46

데이터는 'ID'를 제외하고는 결측값에 대해서는 자료형 = 최빈값, 수치형 = 중앙값으로 각각 대체하여 Drop없이 독립변수로 활용하였습니다.
자료형 데이터 인코딩 = OneHotEncoder, 수치 데이터 Scaling = MinMaxScaler로 각각 진행하였습니다.