반응형
릿지¶
In [1]:
import numpy as nop
import pandas as pd
import mglearn
In [2]:
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LinearRegression
보스턴주택가격 데이터로드¶
In [3]:
X, y = mglearn.datasets.load_extended_boston()
print("X.shape: {}".format(X.shape))
데이터분할¶
In [4]:
X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0)
선형모델¶
In [5]:
lr = LinearRegression().fit(X_train, y_train)
In [6]:
print("훈련 세트 점수: {:.2f}".format(lr.score(X_train, y_train)))
print("테스트 세트 점수: {:.2f}".format(lr.score(X_test, y_test)))
릿지모델¶
선형모델모다 훈련세트의 점수는 낮지만 테스트 세트의 점수는 높아진 것을 볼 수 있다.¶
In [7]:
from sklearn.linear_model import Ridge
In [8]:
ridge = Ridge().fit(X_train, y_train)
print("훈련 세트 점수: {:.2f}".format(ridge.score(X_train, y_train)))
print("테스트 세트 점수: {:.2f}".format(ridge.score(X_test, y_test)))
Ridge의 매개변수로는 alpha가 있습니다. alpha값을 높이면 계수를 0에 가깝게 만들어서 훈련세트의 성능은 나빠지지만 일반화에는 도움을 줄 수 있다.¶
그리스서치¶
In [9]:
from sklearn.svm import SVC
best_score = 0
for alpha in [1e-05, 0.0001, 0.001, 0.01, 0.1, 1, 10, 100]:
ridge = Ridge(alpha=alpha)
ridge.fit(X_train, y_train)
score = ridge.score(X_test, y_test)
score1 = ridge.score(X_test, y_test)
print("alpha 파라미터: {}".format(alpha))
print("훈련 세트 점수: {:.2f}".format(score))
print("테스트 세트 점수: {:.2f}".format(score1))
print("---------------------------------")
In [11]:
from IPython.core.display import display, HTML
display(HTML("<style> .container{width:90% !important;}</style>"))
In [ ]:
반응형
'통계' 카테고리의 다른 글
혼돈행렬(confusion matrix)에 대해 알아보자 (2) | 2019.11.07 |
---|---|
가설검정 그리고 귀무가설과 대립가설은 무엇인가? (0) | 2019.10.18 |
차원의 저주란? (0) | 2019.03.21 |
데이터사이언티스트 질문 (0) | 2019.03.21 |
xgboost general parameters (0) | 2019.03.19 |