from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, mean_absolute_error, r2_score, mean_absolute_percentage_error
"""
# X에는 변수, Y에는 target 값을 넣는다.
# 판다스로 넣는다면
target = ''
x = df.drop(target, axis=1)
y = df.loc[ : , target ]
# 으로 사용한다.
"""
# X_train, X_test, Y_train, Y_test = train_test_split(x, y, test_size=.3)
model = LinearRegression()
model.fit(X_train, Y_train)
# 모델링 수치
#print(f'변수명: {x.columns.to_list()}')
print(f'기울기: {model.coef_}')
print(f'Y절편: {model.intercept_}')
# 에측 결과
predict = model.predict(X_test)
R2 = r2_score(Y_test, predict)
MSE = mean_squared_error(Y_test, predict)
RMSE = mean_squared_error(Y_test, predict, squared=False)
MAE = mean_absolute_error(Y_test, predict)
# 원래 개념은 100(%)을 곱해야 한다. 그렇지만 sklearn 함수는 100을 곱하지 않고 결과를 제공한다.
MAPE = mean_absolute_percentage_error(Y_test, predict)
# 회귀 모델의 정확도는
# 1- mean_absolute_percentage_error(Y_test, predict)
# 이렇게 나타낼 수 있다.
오차의 비율
설명력
결정 계수
오차의 크기
오차율
결정 계수, 설명력이라고 부르기도함 (
요즘엔 그렇게 잘 안부른다고 했다.)
- 평균 모델의 오차 대비 회귀 모델이 해결한 오차의 비율
- 회귀모델이 평균 모델의 오차를 해결(설명)했는지를 나타내는 비율