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 |