신축망(Elastic-Net)

2021. 8. 10. 21:57머신러닝

from sklearn.linear_model import ElasticNet
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
X, y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X,y)

def plot_boston_prices(expected, predicted):
  plt.figure(figsize=(8,4))
  plt.scatter(expected, predicted)
  plt.plot([5,50],[5,50],'--r')
  plt.xlabel('True price ($1,000s)')
  plt.ylabel('Predicted price ($1,000s)')
  plt.tight_layout()

model = ElasticNet(alpha=0.01, l1_ratio=0.5)
model.fit(X_train, y_train)

print("학습 데이터 점수: {}".format(model.score(X_train, y_train)))
print("평가 데이터 점수: {}".format(model.score(X_test, y_test)))

predicted = model.predict(X_test)
expected = y_test

plot_boston_prices(expected, predicted)

학습 데이터 점수: 0.7374278181824386

평가 데이터 점수: 0.7086049564114089

 

'머신러닝' 카테고리의 다른 글

라쏘 회귀(Lasso Regression)  (0) 2021.08.10
릿지 회귀(Ridge regression)  (0) 2021.08.10
선형회귀 (Linear Regression)  (0) 2021.08.10
머신러닝 Machine Learning  (0) 2021.08.07