본문 바로가기
🖊️Data Analysis/📌 ML)런던 자전거 수요 데이터 분석

[Python] 런던 자전거 수요 데이터 분석

by 빛나고요 2021. 6. 26.
BIG

Study. 런던 자전거 수요 데이터(w. kaggle, Python)

[분석에 앞서, 데이터 전처리하기]

 

📌 캐글을 이용하여 '런던 자전거 수요 데이터'분석

📎사용한 데이터셋: https://www.kaggle.com/hmavrodiev/london-bike-sharing-dataset

 

아웃라이어를 제거하고 카테고리형 변수로 바꿔주고 훈련용이랑 테스트 데이터를 분리하는 마지막 전처리 작업

 

📌[1]아웃라이어 이상치 제거

1) 함수 생성(시그마 이상치 제거 방법 사용)

#아웃라이어 제거

def is_outliers(s):
    lower_limit = s.mean() - (s.std()*3)
    upper_limit = s.mean() + (s.std()*3)
    return ~s.between(lower_limit, upper_limit)

- 시그마 이상치 제거: 데이터를 정규 분포로 봤을 때 양 극단에 있는 데이터를 제거(우리는 0.3% 정도 제거)

 

2) 적용 - 시간대별 자전거 이용객 수를 뽑고 이상치 제거된 값을 출력

df_out = df[~df.groupby('hour')['cnt'].apply(is_outlier)]

printf('이상치 제거전:', df.shape)
printf('이상치 제거후:', df_out.shape)

 

3) type 확인

df_out.dtypes

 

📌[2] 카테고리용으로 변경

1) 카테고리용으로 변경

df_out['weather_code'] = df_out['weather_code'].astype('category')
df_out['season'] = df_out['season'].astype('category')
df_out['year'] = df_out['year'].astype('category')
df_out['month'] = df_out['month'].astype('category')
df_out['hour'] = df_out['hour'].astype('category')

 

2) type 확인

df_out.dtypes

 

3) pandas에서 제공하는 dummy를 이용하여 dummy처리하기

df_out = pd.get_dummies(df_out, columns=['weather_code', 'season', 'year', 'month', 'hour'])

pandas의 함수를 통해 df_out에 있는 자료를 이용하여 columns 5개를 dummy 처리해서 출력

댓글