[project] 미니프로젝트_3

문종현·2022년 11월 4일
0

Projects

목록 보기
2/2

구내식당 식수 인원 예측

train 데이터셋 : 한국토지주택공사 본사 정원 수, 휴가자 수, 본사출장자 수 등 인원정보 / 조식, 중식, 석식 메뉴 / 중식, 석식 식수인원

  • [기간] : 2016. 02.01 ~ 2021.01.26 주말, 공휴일 제외

test 데이터셋 : 예측해야 하는 값인 중식, 석식 식수인원을 제외한 피처

  • [기간] : 2021.01.27 ~ 2021.04.09 주말, 공휴일 제외

피처 전처리

  • 데이터셋을 봤을 때, 예측해야 하는 값이 중식계, 석식계인 상황에서 조식 메뉴 피처는 필요가 없을 것 같다고 판단 -> drop
  • 일자 피처는 년월일로 분리해서 사용
# 조식 메뉴 drop
train = train.drop("조식메뉴", axis=1)
test = test.drop("조식메뉴", axis=1)
train.shape, test.shape

# 날짜 처리(train)
train["년"] = train["일자"].dt.year
train["월"] = train["일자"].dt.month
train["일"] = train["일자"].dt.day
train["요일"] = train["요일"].map({'월':0, '화':1, '수':2, '목':3, '금':4})
display(train.head(2))
train.shape

# 날짜 처리(test)
test["년"] = test["일자"].dt.year
test["월"] = test["일자"].dt.month
test["일"] = test["일자"].dt.day
test["요일"] = test["요일"].map({'월':0, '화':1, '수':2, '목':3, '금':4})
display(test.head(2))
test.shape

# 일자 drop
train = train.drop("일자", axis=1)
test = test.drop("일자", axis=1)
train.shape, test.shape

EDA

  • 가장 먼저 describe를 통해 데이터셋 전반을 살펴봄

  • 석식계의 min값이 이상하다..? 바로 확인해보자

  • 확인해본 결과, 매달 마지막 주 수요일이 자기 계발의 날이라고 해서 석식 배급을 아예 안하는 날인 것 같다. (그렇다고 해서 또 매달 있는 것은 아닌듯,,)

  • 석식이 나왔는데도 0명인 경우도 있음. 상식적으로 매우 이상하므로 이 값은 제외하는 게 좋을듯

  • 적어놓은 것도 아주 제멋대로다.. * 자기개발의날 *, <자기 계발의 날>, *

  • 또, 눈에 띄는 것이 공백값이 들어있는것... 분명 결측치를 확인해봤을 때는 na값이 나오지 않았었는데! 아마 space 처리가 되어있는 것 같으므로 strip으로 사전에 공백을 제거해주자.

profile
자라나라 새싹새싹🌱

0개의 댓글