여러 로직을 처리하다보면 입력값 즉, 학습할 데이터를 넣을때
값이 많은 경우 코드로 입력하기는 힘듭니다.
그래서 파일을 이용하여 학습할 데이터를 넣는 과정을 소개합니다.
(Sung Kim 교수님의 동영상을 참고 했습니다. https://www.youtube.com/watch?v=o2q4QNnoShY)
73,80,75,152
93,88,93,185
89,91,90,180
96,98,100,196
73,66,70,142
53,45,55,101
우선 위 내용으로 (학습데이터) csv 파일을 하나 만듭니다.
파일 내용은 아시겠지만 E1,E2,E3 대한 결과값(R)입니다.
만약 실제 코드로 한다면 아래 처럼 지저분해집니다.
[93., 88., 93.],
[89., 91., 90.],
[96., 98., 100.],
[73., 66., 70.]]
y_data = [[152.],
[185.],
[180.],
[196.],
[142.]]
먼저 numpy 를 import 합니다. (숫자를 다룰때 사용하는 라이브러리 입니다.)
import numpy as np
numpy 에 loadtxt 라는 함수가 있는데 이 함수가 파일을 읽어오게끔 해줍니다.
xy = np.loadtxt('testData.csv',delimiter=',',dtype=np.float32)
loadtxt(파일이름, 구분자, 타입) 형태가 됩니다.
이제 변수에 데이터를 넣습니다.
x_data = xy[:, 0:-1]
x_data 는 E1,E2,E3 데이터로 위 표현은 0 에서 부터 마지막 -1 값까지(마지막 컬럼?을 제외한 값)만 읽으라는 뜻입니다.
y_data = xy[:, [-1]]
y_data 는 R 값으로 위표현은 마지막 값만을 읽으라는 뜻입니다.
이제 출력해 봅니다.
print(x_data.shape, x_data, len(x_data))
print(y_data.shape, y_data, len(y_data))
위 명령을 수행하면 행렬의 구성, 데이터, 길이 를 출력하게됩니다.
xy = np.loadtxt('testData.csv',delimiter=',',dtype=np.float32)
x_data = xy[:, 0:-1]
y_data = xy[:, [-1]]
print(x_data.shape, x_data, len(x_data))
print(y_data.shape, y_data, len(y_data))
'TensorFlow Python' 카테고리의 다른 글
(Python) pycharm 파이참 설치하기 (0) | 2017.10.26 |
---|---|
(모두를 위한 딥러닝) 데이터 학습 시키고 결과 예측하기 (0) | 2017.10.25 |
(정리) 모두를 위한 딥러닝 강좌 1 - Lec02 (0) | 2017.10.22 |
TensorBoard(텐서보드) 사용하기 (0) | 2017.10.21 |
Sung Kim 교수님의 자료. (0) | 2017.10.20 |