반응형

@notepad_jj2

츄르사려고 코딩하는 코집사입니다.


1. 주제

- 아파트 단지에 따른 주차 구획 수요 예측

 

2. 배경

- 아파트 단지 내 필요한 주차대수는 ①법정주차대수 ②장래주차수요 중 큰 값에 따라 결정하게되어 있어, 정확한 ②장래주차수요의 산정을 필요로 합니다.

- 현재 ②장래주차수요는 ‘주차원단위’와 ‘건축연면적’을 기초로하여 산출되고 있으며, ‘주차원단위’는 신규 건축예정 부지 인근의 유사 단지를 피크 시간대 방문하여 주차된 차량대수를 세는 방법으로 조사하고 있습니다.

- 이 경우 인력조사로 인한 오차발생, 현장조사 시점과 실제 건축시점과의 시간차 등의 문제로 과대 또는 과소 산정의 가능성을 배제할 수 없습니다.

 

3. 데이터

이 대회의 데이터는 train.csv, test.csv, age_gender_info.csv, sample_submission.csv로 구성되어 있다.

 

1) 칼럼변수

- 단지코드

- 총세대수

- 임대건물구분

- 지역

- 공급유형

- 전용면적

- 전용면적별세대수

- 공가수

- 신분

- 임대보증금

- 임대료

- 지하철

- 버스

- 단지내주차면수

- 등록차량수

 

4. 분석

1) 라이브러리 import

- 데이터를 읽어오기 위해 pandas import

# 라이브러리 import
import pandas as pd

 

2) csv 파일 데이터 읽어오기

#Train Data
train_data = pd.read_csv("C:/Users/yong/Desktop/parkingdata/train.csv")

#Test Data
test_data = pd.read_csv("C:/Users/yong/Desktop/parkingdata/test.csv")

#age gender infomation
age_gender_info = pd.read_csv("C:/Users/yong/Desktop/parkingdata/age_gender_info.csv")

#sample_submission
sample_submission = pd.read_csv("C:/Users/yong/Desktop/parkingdata/sample_submission.csv")

 

3) 데이터 구조 확인

- train_data에는 총 15개의 설명변수 존재

train_data.head()

 

4) 컬럼변수 확인

# 데이터 컬럼변수 확인
train_data.columns

 

5) 컬럼변수명 변환

- 컬럼변수에서 도보 10분거리 내 지하철역 수, 버스정류장 수가 너무 길어 각각 지하철, 버스로 컬럼변수를 변환했다.

# 도보 10분거리 내 지하철역 수와 버스정류장 수를 지하철과 버스로 변환
train_data.columns = ['단지코드', '총세대수', '임대건물구분', '지역', '공급유형', '전용면적', '전용면적별세대수',
                      '공가수', '신분', '임대보증금', '임대료', '지하철', '버스', '단지내주차면수', '등록차량수']

test_data.columns = ['단지코드', '총세대수', '임대건물구분', '지역', '공급유형', '전용면적', '전용면적별세대수',
                     '공가수', '신분', '임대보증금', '임대료', '지하철', '버스', '단지내주차면수']

 

6) 결측치 확인

- 임대보증금, 임대료 변수에서 569개, 지하철 211개, 버스 4개가 있다.

- 데이터를 봤었는데, 임대보증금에 알파벳이 들어간 경우도 있었다.

- 이 알파벳을 처리 후 비교를 해야겠다.

# 결측치 있는지 확인
print(train_data.isnull().sum())

 

7) 결측치 처리

i) 버스

- 버스 결측치는 4개밖에 없어 제거하는게 좋을거 같다.

- 혹시 모르니, 평균값이나 중앙값도 대체.

#결측치 처리(버스) -> 제거
#결측치가 4개이기 때문에 삭제(평균값이나 중앙값 대체해보기)

train_data = train_data.dropna(subset=['버스'])

 

ii) 지하철

- 결측치를 최빈, 중앙, 평균, 삭제 순으로 처리한 후 비교하기

#결측치 처리(지하철) -> 최빈, 중앙, 평균, 삭제
#먼저 최빈
freq = train_data['지하철'].value_counts(dropna=True).idxmax()

train_data['지하철'].fillna(freq, inplace=True)

 


해야할 일

1. 임대보증금, 임대료 결측치 처리

2. 상관관계 분석

3. 분석 모델 선정

4. 분석 모델 평가

5. 모델 선정

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기