1. 선형회귀 예
입력(x) | 출력(y) |
1 | 2 |
2 | 4 |
3 | 6 |
4 | 8 |
5 | 10 |
6 | 12 |
Q. 7을 입력하면 출력값은?
# 데이터 입력 x_data = [1,2,3,4,5,6] y_data = [2,4,6,8,10,12] |
|
# 변수 만들기 # seed=0 : 난수값 고정 # tf.random_normal : 정규분포에 해당하는 난수값 리턴 x = tf.placeholder(tf.float32) |
|
# hypothesis 정의 hypothesis = w * x + b |
|
# MSE로 손실값 구하기 cost = tf.reduce_mean(tf.square(hypothesis - y)) |
|
# 학습하면서 GradientDescent한다.(학습률 0.001) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001) |
|
# cost를 optimizer로 minimize한다. train = optimizer.minimize(cost) |
|
# 세션열고 실행 |
|
# 7을 입력하면 출력값은? print(sess.run(hypothesis,feed_dict={x:7})) |
2. 공부시간 대비 점수 예측
공부시간 | 점수 |
2 | 71 |
4 | 83 |
6 | 91 |
8 | 97 |
Q. 7시간 공부했을때 점수는?
# 데이터 입력 |
|
# 변수 만들기 |
|
# hypothesis 정의 hypothesis = w * x + b |
|
# MSE로 손실값 구하기 cost = tf.reduce_mean(tf.square(hypothesis - y)) |
|
# 학습하면서 GradientDescent한다.(학습률 0.001) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.001) |
|
# cost를 optimizer로 minimize한다. train = optimizer.minimize(cost) |
|
# 세션열고 실행 |
|
# 7시간 공부했을때 성적은? print(sess.run(hypothesis,feed_dict={x:7})) |
3. 독립변수가 여러개일 때
x1 | x2 | x3 | y |
70 | 80 | 75 | 152 |
93 | 88 | 93 | 185 |
89 | 91 | 90 | 180 |
96 | 98 | 100 | 196 |
73 | 66 | 70 | 142 |
# 데이터 입력 |
|
# 변수 만들기 |
|
# hypothesis 정의 hypothesis = w1*x1 + w2*x2 + w3*x3 + b |
|
# MSE로 손실값 구하기 cost = tf.reduce_mean(tf.square(hypothesis - y)) |
|
# 학습하면서 GradientDescent한다.(학습률 0.00001) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.00001) |
|
# cost를 optimizer로 minimize한다. train = optimizer.minimize(cost) |
|
# 세션열고 실행 |
|
# 예측하기 print("당신의 점수는 ",sess.run(hypothesis, feed_dict = {x1:100,x2:70,x3:60})) |
4. 시험 데이터 사용
# 데이터 불러오기 import numpy as np xy = np.loadtxt("C:/data/ex.csv", delimiter=",",dtype = np.float32) xy |
|
# 데이터 나누기 x_data = xy[:,0:-1] y_data = xy[:,-1] x_data.shape y_data.shape |
|
# 데이터 형식이 (5,1)로 맞아야함 x_data = xy[:,0:-1] y_data = xy[:,[-1]] x_data.shape y_data.shape |
|
# 행값을 무한으로 고정시키고 싶을땐 None이라고 한다. x = tf.placeholder(tf.float32, shape=[None,3]) y = tf.placeholder(tf.float32, shape=[None,1]) w = tf.Variable(tf.random_normal([3,1],seed=0,name='weight')) b = tf.Variable(tf.random_normal([1],seed=0,name='bias')) |
|
# hypothesis 정의 hypothesis = tf.matmul(x,w)+b |
|
# MSE로 손실값 구하기 cost = tf.reduce_mean(tf.square(hypothesis - y)) |
|
# 학습하면서 GradientDescent한다.(학습률 0.00001) optimizer = tf.train.GradientDescentOptimizer(learning_rate=0.00001) |
|
# cost를 optimizer로 minimize한다. train = optimizer.minimize(cost) |
|
# 세션열고 실행 |
|
# 예측하기 |
'인공지능 > 딥러닝' 카테고리의 다른 글
CNN 코딩 기초 (0) | 2020.06.12 |
---|---|
신경망을 이용한 붓꽃 데이터 분류하기 (0) | 2020.06.12 |
텐서플로 - 설치, 상수/변수 선언, 메소드 (0) | 2020.05.28 |
CNN의 네트워크 종류 (0) | 2020.05.25 |
간단한 신경망으로 MNIST 정확도 99% 만들기 (0) | 2020.05.19 |