어느 세탁소 체인 4개 지점의 하루 세탁물 접수 건수 기록(2024-01 ~ 2025-06)이다. 날짜·지점·기온·강수량 등으로 그날 그 지점의 접수 건수(orders)를 예측하는 회귀 문제이다. 행은 날짜 순서가 아니라 무작위로 섞여 있다. 학습용 데이터 laundry_train.csv로 모델을 학습하고, 평가용 데이터 laundry_test.csv의 각 기록(행)에 대한 접수 건수를 예측하여 result.csv 파일을 생성하는 코드를 작성하여 제출하시오.
date는 문자열이다. 그대로는 모델에 넣을 수 없으니 날짜에서 학습에 쓸 숫자를 꺼내 활용하시오.[제출 형식]
result.csv (별도 디렉토리 지정 금지)pred (예측한 접수 건수, 0 이상의 실수)pred 1개 (자동 생성되는 index 컬럼 제거)[변수 설명]
| 컬럼명 | 설명 | 값 |
|---|---|---|
| date | 날짜 | YYYY-MM-DD 문자열 |
| branch | 지점 | 본점, 역앞점, 대학가점, 주택가점 |
| temp | 평균 기온(℃) | 실수 |
| rain_mm | 강수량(mm) | 실수 |
| promo | 할인 행사 여부 | 1: 진행, 0: 없음 |
| orders | 하루 접수 건수 (train에만 존재, 예측 대상) | 0 이상 정수 |
💡 이렇게 해 보세요
pd.to_datetime()으로 바꾼 뒤.dt.month,.dt.dayofweek로 월·요일 컬럼을 만들고, 원래date컬럼은 지웁니다. train·test 모두 똑같이.- 실제 시험 채점은 음수 예측이 하나라도 있으면 0점이에요. LightGBM 같은 모델은 0 근처에서 음수를 낼 수 있으니 제출 전 반드시
clip(0)으로 0 아래를 잘라 냅니다.- 검증 RMSLE는
mean_squared_log_error(실제값, 예측값) ** 0.5입니다(MSLE에 루트). 함수 이름이 기억나지 않으면import sklearn.metrics후print(dir(sklearn.metrics))..dt뒤에 쓸 수 있는 것은print(dir(train['date'].dt))로 볼 수 있어요(month,dayofweek…).
■ CSV 파일명: result.csv · 예측 칼럼명: pred (칼럼 1개)
■ 제출 CSV 파일 형식 예시
pred 8790.6061 14.7487 215.6055 ……
■ CSV 파일 확인 방법: 생성된 파일을 아래처럼 출력해 확인
import pandas as pd
result = pd.read_csv("result.csv")
print(result.head())파이썬 실행환경 불러오는 중 · 보통 3초