파이썬_머신러닝03

03-Scikit-Learn을 활용한 머신러닝 모델 만들기

🔹 코딩은 다음과 같음

## 데이터 준비

import numpy as np
import matplotlib.pyplot as plt

rs = np.random.RandomState(10)
x = 10 * rs. rand(100)
y = 3 * x + 2 * rs.rand(100)

plt.scatter(x, y, s = 10);

## 모델 클래스 선택
## 모델 인스턴스 생성과 하이퍼파라미터 선택

from sklearn.linear_model import LinearRegression
regr = LinearRegression()

from sklearn.linear_model import LinearRegression
# 인스턴스 생성 : 생성자 함수 사용
regr = LinearRegression(fit_intercept=True)

## 특징 행렬과 대상 벡터 준비

X = x.reshape(-1, 1)
X.shape, y.shape

# 결과
# ((100, 1), (100,))

## 모델을 데이터에 적합

regr.fit(X, y)
# 결과
# LinearRegression()

regr.coef_
# 결과
# array([2.9855087])

regr.intercept_
# 결과
# 0.9878534341975644

## 새로운 데이터를 이용해 예측

x_new = np.linspace(-1, 11, num = 100)
# 2차원 구조
X_new = x_new.reshape(-1, 1)
X_new.shape
# 결과
# (100, 1)

y_pred = regr.predict(X_new)

plt.plot(x_new, y_pred, c="red")
# 산점도
plt.scatter(x, y, s=10);
plt.show()

## 모델 평가

from sklearn.metrics import mean_squared_error
# 회귀 RMSE(Root Mean Squared Error) : 평균제곱근오차
rmse = np.sqrt(mean_squared_error(y, y_pred))
rmse
# 결과
# 13.708237122486333

좋은 웹페이지 즐겨찾기