`import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import PolynomialFeatures
from sklearn.linear_model import LinearRegression
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Ridge
`import matplotlib.pyplot as plt import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import PolynomialFeatures from sklearn.linear_model import LinearRegression from sklearn.preprocessing import StandardScaler from sklearn.linear_model import Ridge
df=pd.read_csv('http://bit.ly/perch_csv') perch_full=df.to_numpy()
print(np.shape(perch_full))
perch_weight=np.random.randint(5,1000,size=56) perch_weight=np.sort(perch_weight)#random해서 full, weight 순서가 안 맞음, 정렬시켜주기 이차식으로 해주려고 train_in,test_in,train_tar,test_tar = train_test_split(perch_full, perch_weight, random_state=42)
print(np.shape(train_in))
print(np.shape(train_tar))
poly = PolynomialFeatures(degree=5, include_bias=False)#include_bias=False == 결과값 1 없이 나옴 poly.fit(train_in) train_poly=poly.transform((train_in)) test_poly=poly.transform(test_in)
print(train_poly.shape)
lr=LinearRegression() lr.fit(train_poly,train_tar)
print(lr.score(train_poly, train_tar))
print(lr.score(test_poly, test_tar))
ss=StandardScaler() ss.fit(train_poly) train_scaled=ss.transform(train_poly) test_scaled=ss.transform(test_poly)
rg=Ridge(alpha=0.01) rg.fit(train_scaled, train_tar) print(rg.score(train_scaled, train_tar)) print(rg.score(test_scaled, test_tar)) print(rg.score(train_scaled, train_tar)-rg.score(test_scaled, test_tar))`