728x90
반응형
### 선형 모델 (Linear Models) ###

 # 선형 모델은 과거부터 지금까지 널리 사용되고 연구 되고 있는 기계학습 방법
 # 선형 모델은 입력 데이터에 대한 선형 함수를 만들어 예측 수행
 # 회귀 분석을 위한 선형 모델은 다음과 같이 정의
 
### 선형 회귀 (Linear Regression) ###

 # 선형 회귀 (Linear Regression) 또는 최소제곱법(Ordinary Least Squares)은 
 # 가장 간단한 회귀분석을 위한 선형 모델
 # 선형 회귀는 모델의 예측과 정답 사이의 평균제곱오차(Mean Squared Error)를
 # 최소화하는 학습 파라미터 w를 찾음
 
import numpy as np
import matplotlib.pyplot as plt
plt.style.use(['seaborn-whitegrid'])

from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split

noise = np.random.rand(100, 1)
X = sorted(10 * np.random.rand(100, 1)) + noise
y = sorted(10 * np.random.rand(100))

plt.scatter(X, y)
plt.show()

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.1)
model = LinearRegression()
model.fit(X_train, y_train)

print("선형 회귀 가중치 : {}".format(model.coef_))
print("선형 회귀 편향: {}".format(model.intercept_))
# 선형 회귀 가중치 : [0.96226248]
# 선형 회귀 편향: -0.9299367356919443

print("학습 데이터 점수: {}".format(model.score(X_train, y_train)))
print("평가 데이터 점수: {}".format(model.score(X_test, y_test)))
# 학습 데이터 점수: 0.9803129085896541
# 평가 데이터 점수: 0.982706336827541

predict = model.predict(X_test)

plt.scatter(X_test, y_test)
plt.plot(X_test, predict, '--r')
plt.show()

728x90
반응형

'Deep Learning' 카테고리의 다른 글

Reinforcement Learning  (0) 2022.09.19
Calculating a Function  (0) 2022.09.16
ScikitLearn_MLBasic.02  (0) 2022.09.16
Machine Learning_MLBasic.01  (0) 2022.09.16
Auto Encoder  (0) 2022.09.16

+ Recent posts