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 처리해서 출력
'🖊️Data Analysis > 📌 ML)런던 자전거 수요 데이터 분석' 카테고리의 다른 글
[Python] 런던 자전거 수요 데이터 분석 (0) | 2021.05.29 |
---|---|
[Python] 런던 자전거 수요 데이터 분석 (0) | 2021.05.23 |
댓글