2021.10.28 TIL

서승원·2021년 10월 28일
0

TIL

목록 보기
9/68

2021.10.28 TIL

C4. 시계열 데이터 분석

시계열데이터는 연/월/일 등 시간의 경과에 따라 순서대로 관측되는 종단 데이터, 특정 시점에 여러 곳에서 수집한 횡단 데이터로 분류된다. 이러한 특징에서 해상도로 시계열 데이터의 특성을 알 수 있는데, 년,월,일,시,분,초 등 시간의 단위인 시간해상도, 국가,시,군,구 등의 공간 해상도가 있다.

C5. 데이터 마이닝

머신러닝의 분류

  • 교사학습(지도학습, Supervised Learning) : 종속변수 존재, 모델 성능 평가 가능
  • 비교사학습(비지도학습, Unsupervised Learning) : 종속변수 부재, 모델 성능 평가 힘듦
  • 강화학습(Reinforcement Learning) : 어떤 환경 안에서 정의된 에이전트가 보상을 최대로 하는 행동 선택

데이터 분석 절차
데이터 수집 및 전처리 - 데이터 탐색 - 변수 개발 - 모델 생성의 과정을 걸쳐 기계학습을 위한 데이터 분석이 이루어지게 된다. 데이터 마이닝은 데이터를 수집하는 과정이다.

  • 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로 표준화가 된 것이 확인된다.

profile
2년차 백엔드 개발자, crimy

0개의 댓글