훈련/테스트 데이터 분리 raw_train = raw_fe.loc[raw_fe.index = '2012-07-01', :] print(raw_train.shape, raw_test.shape) 일반적인 데이터에서 훈련 데이터와 테스트 데이터를 분리하는 경우와는 달리 시간의 순서에 따라서, 훈련 데이터와 테스트 데이터를 나누어야 한다. Y_colname = ['count'] X_remove = ['datetime','DateTime','temp_group','casual','registered', 'Quarter '] X_colname = [x for x in raw_fe.columns if x not in ..
딥러닝/시계열 검색 결과
지연값 추출 (count_lag1, count_lag2) 시간의 흐름이 존재하고 있는 데이터에서, 특정한 데이터는 현재 종속변수 Y에 영향을 주는 것이 아닌, 미래의 시간의 종속변수 Y에 영향을 주는 경우가 존재한다. 예를 들어, 투자지원금을 받았다고, 받은 날부터 실적이 오르는 것보다는, 그 이후에 투자지원금을 효율적으로 쓰고, 시간이 어느정도 지난 후에 실적이 나온다는 것을 생각하면 이해하기 쉽다. 이 특성을 데이터 분석에 반영하기 위해서, Series.shift( )를 사용하면 된다. 인자로 입력되는 숫자만큼 데이터가 뒤로 밀리게 된다. 당연히, 뒤로 밀린 개수만큼의 데이터가 NaN값으로 채워지게 되고 이것은 이전에 결측치를 채웠던 방식처럼 pd.fillna( )의 method = 'bfill' ,..
.rolling( ) (count_day, count_week) 해당 실습에서는 빈도(frequency)를 시간('H')으로 설정했다. 하지만, 이 데이터에서 시간으로 빈도를 설정하는 것이 가장 옳은 방식이라고 단정할 수는 없다. 시간 외에도 일(Day), 주(Week)의 단위에 대해서도 데이터를 분석해봐야 하고, 이때 사용할 수 있는 함수가 .rolling( )이다. pd.concat([raw_all[['count']], raw_all[['count']].rolling(24).mean(), raw_all[['count']].rolling(24*7).mean()], axis = 1).plot(kind = 'line', figsize = (20, 6), linewidth = 3, fontsize = 20,..
데이터는 이전 포스팅에서 어디에서 가져올 수 있는지 확인 가능하다. 데이터 불러오기 !python -m pip install --user --upgrade pip 위의 코드를 주피터 노트북에서 실행함으로써, anaconda prompt에서 입력해야 하는 명령어를 주피터 노트북 상에서 실행할 수 있다. #ignore wanrings import warnings # warnings.filterwarnings('always') # 항상 warning이 뜨도록 설정 warnings.filterwarnings('ignore') #System related and data input controls import os #Data manipulation and visualization import pandas as p..
데이터 분리 데이터 분석 K-fold 교차 검증을 이용하여 무작위로 데이터를 섞은 다음, 추출하여 일정한 비율만큼을 훈련과 테스트 셋으로 정한다. 시계열 데이터 분석 바로 다음 단계(혹은 2단계)의 데이터를 차례대로 하나씩 일반적인 데이터 분석과 시계열 데이터 분석에서 훈련 / 테스트 데이터를 분리할 때 가장 특징적인 차이점은 시간 순서의 유지 여부이다. 이미지에서 볼 수 있듯이, 이전 데이터들을 학습하여 바로 다음의 값을 예측하고, 이후에 예측한 값 자체를 훈련 데이터와 합하여 그 다음 예측을 진행해 나가는 1스텝 교차 검사(One-step Ahead Cross-Validation)이 있고, 하나를 건너 뛰어서 같은 원리로 예측과 훈련을 반복적으로 수행하는 2스텝 교차검사 (Two-step Ahead ..
시계열 데이터 분석을 위해서 사용하는 데이터는 https://github.com/cheonbi/OnlineTSA/tree/master/Data/BikeSharingDemand에서 다운받을 수 있다. cheonbi/OnlineTSA Online Course of Time Series Analysis. Contribute to cheonbi/OnlineTSA development by creating an account on GitHub. github.com 원본 데이터는 Kaggle에서 가져온 것으로 https://www.kaggle.com/c/bike-sharing-demand/overview 에서 다운받을 수 있다. 데이터 전처리 과정 String to DateTime Frequency 설정 시계열 데..
본격적으로 시계열 분석에 들어가기 전에 기본적인 데이터 분석의 진행 방향에 대해서 먼저 다뤄보자. 이상적인 데이터 분석 단계 1. 데이터 수집 2. 데이터 전처리 3. 데이터 정리 4. 데이터 분석 5. 결과 정리 하지만, 현실적인 데이터 분석의 과정에서는 이 과정들이 칼로 벤 것처럼 딱 맞아 떨어지지 않는다! 데이터 분석 1단계 문제를 정의하는 단계 - 무엇을 예측할 것인가? (ex> 직원들의 퇴사율) - 필요한 데이터는 어떤 것인가? (ex> 직원들이 의자에서 일어나는 횟수, 화장실 가는 빈도 등) - 각 상태를 나타내는 기준은 어떻게 정할 것인가? 2단계 통상적으로 현재 우리가 집중적으로 공부하고 있는 분야 - 데이터 전처리 - 최적의 알고리즘 선정 - 선정한 알고리즘에 전처리한 데이터 입력 및 결..
최근댓글