티스토리 뷰

선형 회귀분석 (ver. 파이썬)¶

linear regression (ver. Python)¶

1. 좌표값 생성¶

numpy 모듈 임포트

In [1]:
import numpy as np

좌표값 생성

In [2]:
num_points = 1000
vectors_set = []



for i in range(num_points):
    x1 = np.random.normal(0.0, 0.55)
    y1 = x1 * 0.1 + 0.3 + np.random.normal(0.0, 0.03)
    vectors_set.append([x1, y1])
    
x_data = [v[0] for v in vectors_set]
y_data = [v[1] for v in vectors_set]

그림 그리는 코드

In [3]:
import matplotlib.pyplot as plt

plt.plot(x_data, y_data, 'ro')
plt.legend()
plt.show()
c:\users\user\appdata\local\programs\python\python35\lib\site-packages\matplotlib\axes\_axes.py:545: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.
  warnings.warn("No labelled objects found. "

2. 비용함수와 경사하강법¶

모수 지정

In [4]:
import tensorflow as tf
W = tf.Variable(tf.random_uniform([1], -1.0, 1.0))
b = tf.Variable(tf.zeros([1]))
y = W * x_data + b

비용함수 지정 (Cost, Loss) (MSE : mean squared error)

In [5]:
loss = tf.reduce_mean(tf.square(y - y_data))

최적화 (경사하강법 : GD gradient descent algorithm)

In [6]:
optimizer = tf.train.GradientDescentOptimizer(0.5)
train = optimizer.minimize(loss)

알고리즘 실행¶

In [7]:
init = tf.global_variables_initializer()

sess = tf.Session()
sess.run(init)
In [8]:
for step in range(8):
    sess.run(train)
    print(step, sess.run(W), sess.run(b))
    plt.plot(x_data, y_data, 'ro')
    plt.plot(x_data, sess.run(W) * x_data + sess.run(b))
    plt.legend()
    plt.show()
0 [-0.30177471] [ 0.31147194]
c:\users\user\appdata\local\programs\python\python35\lib\site-packages\matplotlib\axes\_axes.py:545: UserWarning: No labelled objects found. Use label='...' kwarg on individual plots.
  warnings.warn("No labelled objects found. "
1 [-0.17735532] [ 0.30812722]
2 [-0.09152396] [ 0.30591953]
3 [-0.03231451] [ 0.30439654]
4 [ 0.00853021] [ 0.30334595]
5 [ 0.03670632] [ 0.30262119]
6 [ 0.05614318] [ 0.30212122]
7 [ 0.06955139] [ 0.30177635]

플랏

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함