NumPy array의 shape를 변경
전체 사이즈가 48이라면 12x4 형태의 matrix를 8x6 형태로 변경
import numpy as np
a=np.array([[1,2,3,4,5,6],[7,8,9,10,11,12]])
print(a.shape)
a
b=a.reshape([3,4])
print(b.shape)
b
.iloc[] : 판다스를 사용하여 행(rows) 추출
.values : 주어진 데이터프레임에서 속성을 Numpy 형태로 반환
따라서 np.reshape(numbers.iloc[6].values,[28,28])란
(1) 6번째 행에 해당하는 값을
(2) numpy 형태로 변환한 다음에
(3) 28x28의 행렬로 변경해줘!
가중치의 절댓값을 가능한 작게 만드는 회귀 모델
선형회귀에 비해 overfitting이 적음
모델을 단순하게 해주고 훈련 세트에 대한 성능 사이를 절충
alpha값을 조정해 훈련 세트의 성능 대비 모델을 얼마나 단순화할 지 지정할 수 있다(default=1.0)
import pandas as pd
df=pd.read_csv('data/house.csv')
house_data=df.drop(['id','date'],axis=1)
from sklearn.model_selection import train_test_split
train_data=house_data.drop(['price'],axis=1)
target_data=house_data['price']
x_train,x_test,y_train,y_test=train_test_split(train_data,target_data,test_size=0.2)
x_train,x_valid,y_train,y_valid=train_test_split(x_train,y_train,test_size=0.2)
####
alpha=[1.0,10,100,0.1]
from sklearn.linear_model import Ridge
for i in alpha:
ridge=Ridge(alpha=i).fit(x_train,y_train)
print("alpha:",i)
print("train set score:",ridge.score(x_train,y_train))
print("valid set score:",ridge.score(x_valid,y_valid))