저번 실습을 진행한 결과, 간단한 모델을 사용해서 예측을 진행했음에도, R-squared의 값이 1.0이 나왔다. 이것을 조금 더 현실적인 부분을 반영해서 데이터 전처리를 진행해보자. 왜 R-squared 값이 1이 나왔을까? Test Data의 정보를 Train Data에 반영했기 때문이다. 그렇다면 Test Data는 알려지지 않은 데이터를 어떻게 가정하고 풀어야 하는가? 1. Training Data의 특성이 그대로 반복된다고 가정한다. 2. 한단위씩 예측을 수행하고, Training Data를 갱신해나가면서 학습 및 예측을 수행한다. 특히, 2번에 관해서는 1스텝 교차 검사, 2스텝 교차검사 등이 있다. 기존에 시계열 분석에서 Train Data와 Test Data를 분리하는 경우에는 특정 시점을..
데이터 전처리 검색 결과
지연값 추출 (count_lag1, count_lag2) 시간의 흐름이 존재하고 있는 데이터에서, 특정한 데이터는 현재 종속변수 Y에 영향을 주는 것이 아닌, 미래의 시간의 종속변수 Y에 영향을 주는 경우가 존재한다. 예를 들어, 투자지원금을 받았다고, 받은 날부터 실적이 오르는 것보다는, 그 이후에 투자지원금을 효율적으로 쓰고, 시간이 어느정도 지난 후에 실적이 나온다는 것을 생각하면 이해하기 쉽다. 이 특성을 데이터 분석에 반영하기 위해서, Series.shift( )를 사용하면 된다. 인자로 입력되는 숫자만큼 데이터가 뒤로 밀리게 된다. 당연히, 뒤로 밀린 개수만큼의 데이터가 NaN값으로 채워지게 되고 이것은 이전에 결측치를 채웠던 방식처럼 pd.fillna( )의 method = 'bfill' ,..
시계열 데이터 분석을 위해서 사용하는 데이터는 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 설정 시계열 데..
데이터 전처리란 무엇인가? 데이터 전처리는 머신러닝 알고리즘에 비해 알려져 있는 정도가 작지만, 중요도는 ML 알고리즘에 맞먹는 중요도를 가지고 있다. 왜냐하면 머신러닝을 통해서 예측을 한다는 것은 데이터 기반이기 때문에, 어떤 데이터를 입력으로 가지는가가 성능에 매우 중요하다. 그럼 어떤 데이터 처리가 필요할까? 1. "결손값", "NaN", "Null"값을 채워 넣는것이다. 머신러닝에 데이터를 입력으로 넣기 전에 해당 값들을 고정된 다른 변환 값으로 바꾸어야 한다. 다른 변환 값이라는 것은 또 무엇을 의미하는가? 이 값은 머신러닝을 제작하는 사람이 직접 고려해야 하는 부분이다. 예를 들어, 피처의 값이 얼마되지 않는 경우에는 피처의 평균값으로 결손값을 대체하는 경우가 있고, 결손값이 일정 수준의 비율..
최근댓글