- 텐서플로우 선형회귀분석
1 단순[ | ]
Python
Reload
Copy
import numpy as np
import tensorflow as tf
x_train = [1, 2, 3, 4]
y_train = [0, -1, -2, -3]
tf.model = tf.keras.Sequential()
tf.model.add(tf.keras.layers.Dense(units=1, input_dim=1))
sgd = tf.keras.optimizers.SGD(lr=0.1)
tf.model.compile(loss='mse', optimizer=sgd)
tf.model.summary()
tf.model.fit(x_train, y_train, epochs=200)
y_predict = tf.model.predict(np.array([5, 4]))
print(y_predict)
Loading
2 다중[ | ]
Python
Copy
import tensorflow as tf
x_data = [[1,1],[2,2],[3,3]]
y_data = [[1],[2],[3]]
X = tf.placeholder(tf.float32, shape=[None,2])
Y = tf.placeholder(tf.float32, shape=[None,1])
W = tf.Variable(tf.random_normal([2,1]), name='weight')
b = tf.Variable(tf.random_normal([1]), name='bias')
hypothesis = tf.matmul(X,W) + b
cost = tf.reduce_mean(tf.square(hypothesis - Y))
train = tf.train.GradientDescentOptimizer(learning_rate=0.01).minimize(cost)
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for step in range(2001):
cost_val, W_val, b_val, _ = sess.run([cost, W, b, train], feed_dict={X: x_data, Y: y_data})
if step % 200 == 0:
print(step, cost_val, W_val, b_val)
실행결과
text
Copy
0 0.630719 [[ 1.96448588]
[-1.46632338]] [ 0.50560945]
200 0.0159201 [[ 2.1430881 ]
[-1.28772187]] [ 0.33275333]
400 0.00558863 [[ 2.17255759]
[-1.25825167]] [ 0.19715267]
600 0.00196186 [[ 2.19001746]
[-1.24079025]] [ 0.11681108]
800 0.000688694 [[ 2.20036244]
[-1.23044467]] [ 0.06920907]
1000 0.000241762 [[ 2.20649195]
[-1.22431529]] [ 0.04100555]
1200 8.48685e-05 [[ 2.21012259]
[-1.22068286]] [ 0.02429538]
1400 2.97948e-05 [[ 2.21227384]
[-1.21853077]] [ 0.01439506]
1600 1.04602e-05 [[ 2.21354699]
[-1.21725464]] [ 0.00852949]
1800 3.67325e-06 [[ 2.2142992 ]
[-1.21649647]] [ 0.00505449]
2000 1.29013e-06 [[ 2.21474481]
[-1.21604705]] [ 0.0029954]
3 같이 보기[ | ]
편집자 Jmnote Jmnote bot
로그인하시면 댓글을 쓸 수 있습니다.