본문 바로가기

Machine, Deep Learning/Machine, Deep Learning 실습

Scikit-learn을 이용한 linear regression

반응형
SMALL

기계학습 라이브러리 Scikit-learn을 사용하면 최적화 된 beta0, beta1을 쉽게 구할 수 있습니다.

 

주어진 데이터와 다음 선형 모델을 이용하여 최적의 beta0, beta1 값을 scikit-learn 라이브러리를 사용하여 구할 수 있습니다.

import matplotlib as mpl
mpl.use("Agg")
import matplotlib.pyplot as plt
import numpy as np
from sklearn.linear_model import LinearRegression

X = [8.70153760, 3.90825773, 1.89362433, 3.28730045, 7.39333004, 2.98984649, 2.25757240, 9.84450732, 9.94589513, 5.48321616]
Y = [5.64413093, 3.75876583, 3.87233310, 4.40990425, 6.43845020, 4.02827829, 2.26105955, 7.15768995, 6.29097441, 5.19692852]

train_X = np.array(X).reshape(-1, 1)
train_Y = np.array(Y)

'''
여기에서 모델을 트레이닝합니다.
'''

lrmodel = LinearRegression()
lrmodel.fit(train_X, train_Y)

beta_0 = lrmodel.coef_[0]
beta_1 = lrmodel.intercept_

print("beta_0: %f" % beta_0)
print("beta_1: %f" % beta_1)

plt.scatter(X, Y) # (x, y) 점을 그립니다.
plt.plot([0, 10], [beta_1, 10 * beta_0 + beta_1], c='r') # y = beta_0 * x + beta_1에 해당하는 선을 그립니다.

plt.xlim(0, 10) # 그래프의 X축을 설정합니다.
plt.ylim(0, 10) # 그래프의 Y축을 설정합니다.

plt.savefig("test.png")

반응형
LIST

'Machine, Deep Learning > Machine, Deep Learning 실습' 카테고리의 다른 글

릿지 회귀(Ridge Regression) 구현하기  (0) 2019.06.24
선형 회귀 구현하기  (1) 2019.06.24
Loss Function  (0) 2019.06.24
기울기와 절편  (0) 2019.06.24
Pandas 데이터 추출 및 추가  (0) 2019.06.24