제2유형 (작업형2)40점2호선 8역 전처리 종합난이도 중

[Lv.3] 제2유형 (40점)렌터카 반납 지연 · id 제거·결측·인코딩(F1)

제공 데이터
  • data/car_train.csv
  • data/car_test.csv

어느 렌터카 회사의 대여 기록이다. 대여 지점·차종·대여 일수·운전 경력 등으로 그 차가 약속 시간보다 늦게 반납되었는지(late=1) 아닌지(late=0)를 예측하는 이진 분류 문제이다. 학습용 데이터 car_train.csv로 모델을 학습하고, 평가용 데이터 car_test.csv의 각 대여 건에 대한 반납 지연 여부를 예측하여 result.csv 파일을 생성하는 코드를 작성하여 제출하시오.

  • 평가지표: F1 Score (지연=1을 양성으로 계산 — 값이 높을수록 좋음, 구간별 5점 단위 배점)
  • 일부 변수가 범주형(문자열)이므로 학습 전 인코딩이 필요하다.
  • 일부 컬럼에는 결측치가 있다.

[제출 형식]

  1. CSV 파일명: result.csv (별도 디렉토리 지정 금지)
  2. 예측 결과 컬럼명: pred (예측한 반납 지연 여부 0 또는 1)
  3. 제출 컬럼 개수: pred 1개 (자동 생성되는 index 컬럼 제거)
  4. 평가용 데이터(test) 행 수와 예측 결과 행 수가 일치해야 함

[변수 설명]

컬럼명설명값
id대여 번호정수
branch대여 지점공항, 역, 시내
car_class차종경차, 중형, SUV, 승합 (결측 있음)
rent_days대여 일수정수
driving_years운전 경력(년)실수 (결측 있음)
age나이정수
distance_km주행 거리(km)정수
weekend_return주말 반납 예정 여부Y, N
late반납 지연 여부 (train에만 존재, 예측 대상)1: 지연, 0: 정시

💡 이렇게 해 보세요

  • id는 번호일 뿐이라 drop(columns='id')로 train·test 모두에서 뺍니다.
  • isnull().sum()으로 결측 컬럼을 찾아 숫자는 중앙값, 문자는 최빈값(mode()[0])으로 채웁니다. test도 train에서 구한 값으로 채웁니다.
  • 마지막으로 train·test를 합쳐 get_dummies 하고 다시 나눕니다.
  • help(pd.Series.fillna), help(pd.Series.mode) 로 사용법을 확인할 수 있어요.
CSV 파일 형식 및 확인 방법

■ CSV 파일명: result.csv · 예측 칼럼명: pred (칼럼 1개)

■ 제출 CSV 파일 형식 예시

pred
1
0
1
……

■ CSV 파일 확인 방법: 생성된 파일을 아래처럼 출력해 확인

import pandas as pd
result = pd.read_csv("result.csv")
print(result.head())
result.csv를 생성하는 코드를 작성하고 '제출'을 누르세요.
에디터 로딩 중…

파이썬 실행환경 불러오는 중 · 보통 3초