이번 글에서는 시계열 예측을 위한 딥러닝 방법을 설명하고자 합니다. 우선 시계열 입력데이터를 지도 학습 형식으로 변환하는 방법을 알아봅니다. 실제 기계 학습의 대부분은 지도 학습을 사용합니다. 지도 학습은 입력 변수(X)와 출력 변수(y)가 있고 알고리즘을 사용하여 입력에서 출력으로의 매핑 함수를 학습하는 것입니다. 목표는 새로운 입력 데이터가 있을 때 해당 데이터에 대한 출력 변수를 예측할 수 있도록 실제 기본 매핑을 근사화하는 것입니다. 시계열 데이터는 지도 학습으로 표현될 수 있습니다. 시계열 데이터 세트에 대한 일련의 숫자가 주어지면 지도 학습 문제처럼 보이도록 데이터를 재구성할 수 있습니다. 이전 시간 단계를 입력 변수로 사용하고 다음 시간 단계를 출력 변수로 사용하여 이를 수행할 수 있습니다...
데이터셋 생성하기 케라스에서는 이미지 파일을 쉽게 학습시킬 수 있는 ImageDataGenerator 클래스를 설명한다. 이 클래스는 특정 폴더에 이미지를 분류하고 폴더내 이미지들을 학습시키기 위한 입력 데이터셋으로 만들어주는 기능을 설명한다. 먼저 ImageDataGenerator 클래스를 이용하여 객체를 생성하고, flow_from_directory() 함수를 이용하여 학습데이터를 생성합니다. flow_from_directory() 함수의 주요 인자는 아래와 같습니다. 첫 번째 인자(directory) : 이미지 경로를 지정합니다. target_size : 이미지 크기를 지정합니다. 폴더에 있는 원본 이미지 크기가 다르더라도 targer_size에 지정된 크기로 자동 조절됩니다. batch_size ..
인물이나 동물 등 물체사진이나 위성사진을 이용해서 컨볼루션 뉴럴 네트워크인 CNN모델을 구현하고 물체를 인식하고 분류하기 위해서는 모델에 맞도록 입력 데이터를 생성하여야 한다. 이를 위해서 넘파일 배열자료인 npy포맷으로 파일을 생성하는 것이 하나의 방법일 수 있다. 예를 들어 이미지 폴더가 c:/image_folder이고 tif 이미지 파일이 16000장이 있다고 가정할 때 입력데이터는 glob 함수와 cv2 패키지의 imread함수를 이용하여 다음 구문처럼 생성될 수 있다. 1. 패키지 로드하기 import numpy as np import cv2 import glob 2. 입력데이터 생성하기 train_data=[] for img in glob.glob("c:/image_folder/*.tif"):..
1. TensorFlow 컨볼루션 신경망을 사용한 EuroSAT 토지 피복 분류 토지 피복은 나지, 농경지, 잔디, 숲, 목초지 및 물 등과 같은 지표 대상물체를 포함하여 지구 표면에서 감지된 생물학적 물리적 상태입니다. 이러한 토지피복정보를 얻어내는 다양한 방법이 존재하고 기본적인 과정에는 현장 조사와 함께 원격으로 탐지된 위성영상 이미지를 사용하는 것을 포함합니다. 이번 과정에서 사용되는 데이터는 EuroSAT 데이터세트로 Sentinel-2 위성 이미지로 구성되어 있습니다. Sentinel-2 데이터세트는 공개적으로 다운로드할 수 있습니다. 아래 여러장의 그림은 무작위로 선택된 15개의 토지정보 샘플을 보여주고 10개의 가능한 토지정보 범주 중 8개를 나타냅니다. 나머지 두 개의 보이지 않는 클래스..
이미지 자료를 대상을 컨볼루션 뉴럴 네트워크를 실행하기 위해서 기본적으로 필요한 패키지는 다음과 같다. 1. CNN 기본 패키지 로드하기 from tensorflow import keras # from tensorflow.keras.layers import Input, Conv2D, MaxPooling2D, BatchNormalization, Dropout, Flatten, Dense 위의 그림과 같은 CNN 모델을 케라스 패키지를 이용해서 정의해보자 크게 보면 입력데이터 레이어, 컨볼루션 레이어 2개 , Flatten 레이어 1개, Dense 레이어 2개, 출력데이터 레이어 등 5개 부분으로 구성되어 있는 것을 알 수 있다. 2. 입력데이터의 크기을 정의한다. img_height = 128 img_wi..
위성영상을 python 코딩을 이용해서 불러오고 저장하기 위해서는 rasterio 패키지가 필요하고 설치는 다음 구분으로 실행하면 된다. pip install rasterio 1. 위성사진 불러오기 import rasterio as rio path = "example-total2.tif" dataset = rio.open(path ) 2. 위성사진 시각화하기 import rasterio as rio from rasterio.plot import show show(dataset, cmap="gray") 3. 위성사진 정보를 일괄적으로 보기 dataset.meta {'driver': 'GTiff', 'dtype': 'float32', 'nodata': 0.0, 'width': 250, 'height': 25..