# -*- coding: utf-8 -*-
"""3-3_생각해보기_코드.ipynb

Automatically generated by Colaboratory.

Original file is located at
    https://colab.research.google.com/drive/1nwhzqNIRdtAKQGY3SUFcUuUGCPhvm3Ou

# Scikit-learn을 활용한 모델 구현

## 데이터 불러오기
"""

import pandas as pd         
import numpy as np

df= pd.read_csv('temp_ice.csv',encoding='euc-kr')

# 학습(train), 테스트(test) 데이터를 구분하기
from sklearn.model_selection import train_test_split

df_train, df_test = train_test_split(df, test_size=0.3, random_state=1)

data_train = np.array(df_train)

X_train= data_train[:,1] #평균기온 열의 데이터를 출력변수로 지정한다.
y_train = data_train[:,-1] #아이스크림/빙수 열의 데이터를 출력변수로 지정한다.
X_train = X_train.reshape(-1,1) #2차원 배열로 만들어 준다.

"""# 학습하기"""

#모델 생성 및 피팅하기
from sklearn.linear_model import LinearRegression

model=LinearRegression()
result=model.fit(X=X_train,y=y_train)

"""# 성능 테스트하기"""

#테스트(test)데이터 준비하기
data_test = np.array(df_test)

X_test= data_test[:,1] #평균기온 열의 데이터를 출력변수로 지정한다.
y_test = data_test[:,-1] #아이스크림/빙수 열의 데이터를 출력변수로 지정한다.
X_test = X_test.reshape(-1,1) #2차원 배열 만든다. 

#피팅 결과 시각화
import matplotlib.pyplot as plt

y_pred = model.predict(X_test)

plt.scatter(X_test, y_test)
plt.plot(X_test, y_pred, color='red')
plt.show()

#평가하기(RMSE)
from sklearn.metrics import mean_squared_error
from math import sqrt

rms = sqrt(mean_squared_error(y_test, y_pred))
print(rms)