2021.10.28 TIL
시계열데이터는 연/월/일 등 시간의 경과에 따라 순서대로 관측되는 종단 데이터, 특정 시점에 여러 곳에서 수집한 횡단 데이터로 분류된다. 이러한 특징에서 해상도로 시계열 데이터의 특성을 알 수 있는데, 년,월,일,시,분,초 등 시간의 단위인 시간해상도, 국가,시,군,구 등의 공간 해상도가 있다.
머신러닝의 분류
데이터 분석 절차
데이터 수집 및 전처리 - 데이터 탐색 - 변수 개발 - 모델 생성의 과정을 걸쳐 기계학습을 위한 데이터 분석이 이루어지게 된다. 데이터 마이닝은 데이터를 수집하는 과정이다.
Google Quick Draw
출처 : https://quickdraw.withgoogle.com/
다양한 인종, 성별, 연령대의 사람들로부터 그림 정보를 이용해 그림을 인식하는 기계학습을 통해 발전하고 있다.
sklearn
Scikit-Learn, 다양한 머신러닝 함수를 제공하고 있다.
주어진 Series 객체에서 Sklearn의 함수를 이용해서 MSE, RMSE 를 계산하는 과정이다. ser_true_value 에 실제 관측값을 가정해 입력하고 ser_pred_value에 예측값을 입력해 MSE, RMSE를 계산해봤다.
날짜, 시간대, 날씨 등에 따른 자전거 대여 건수 data 를 입력해 sklearn의 기계학습 함수 중 train_test_split 으로 학습용 data와 test용 data를 나눴다. train_size 나 test_size 를 통해 train,test set의 비율을 조정할 수 있고, 일반적으로 7:3이나 8:2 정도의 비율로 분할한다. (반드시 지켜야 할 비율이 아닌 일반적인 기준이다.) 그리고 반복적인 test를 위해 random_stat 를 통해 난수를 고정 할 수 있다.
유클리드 거리 : n차원의 공간에서 두 점간의 최단거리
꽃잎, 꽃받침의 길이, 폭에 대한 data를 불러와 유클리드 거리계산에 이용했다. 4개의 임의의 변수를 위해 가져온 data로 수치의 의미는 중요하지 않다. iris_sub 라는 객체에 iloc method를 이용해서 임의로 결정한 2개의 row의 data 를 입력하고, transpose를 통해 사용하기 편한 형태로 전치시켰다.
diff_sq 라는 변수를 추가해서 A, B, C, D 각 차원의 직선거리의 차의 제곱을 계산하고, 모두 더해 제곱근을 계산해 4차원의 공간에서 유클리드 거리를 구했다.
scipy에서 유클리드 거리를 구하는 euclidean method를 이용한 수치와 같은 것을 확인 할 수 있다.
모델 튜닝 및 평가
구간화 : 데이터의 범위를 일치시키거나 분포를 유사하게 만들어 주는 방법
구간화의 정의를 그대로 이용하여, 해당 변수의 최소값, 최대값을 구한 후 공식에 대입해 SL_MM 객체에 구간화된 Sepal.Length 값을 입력했다. 최대값이 1, 최소값이 1으로 바뀐 것으로 구간화가 잘 됐음을 확인할 수 있다.
표준화 : 단위가 상이한 두개 이상의 변수를 비교할 때 사용
마찬가지로, 정의를 그대로 이용해 평균과 표준편차를 계산한 후 PL_std 객체에 공식을 그대로 이용해 입력했다. 평균이 0, 표준편차가 1로 표준화가 된 것이 확인된다.